【问题标题】:How do I: Visual Studio Syntax Highlighting Extension我如何:Visual Studio 语法高亮扩展
【发布时间】:2010-07-15 07:05:08
【问题描述】:

我想为 VS2010 开发一个扩展,让我可以为语法高亮添加一些附加功能。

我安装了SDK,我该如何开始?

请提供一个小sn-p(或代码链接),以便我了解如何开始。

注意:我是否必须检查整个代码块,或者 SDK 会在每个单词上告诉我它是什么,它是如何声明的等等?

【问题讨论】:

  • Microsoft 有一个专门用于此msdn.microsoft.com/en-us/vstudio/vextend.aspx 的站点,没有什么可以帮助的吗?
  • 没有专门针对语法高亮。我想我会在这里询问扩展忍者以节省不必要的步骤(我不想专注于其他领域,只是语法突出显示)。还要注意我的笔记,在开始之前知道对我来说非常重要,这样我才能评估时间成本。谢谢

标签: visual-studio-2010 syntax-highlighting mef vsix


【解决方案1】:

那里有很多关于编写分类器的信息。我不久前wrote a blog article about it

至于示例/代码,有:

关于 SDK 是否告诉您每个单词是什么的问题的另一部分的答案是“否”,并带有一些“有点”的警告。一般来说,底层语言模型不会暴露,尽管您可以做一些事情,例如使用来自 other 分类器的分类信息,希望它们为您提供足够的信息;有些,如 C#,往往会提供大量信息,这些信息可能不会在默认字体和颜色设置中显示在 IDE 中(检查工具->选项->环境->字体和颜色设置,看看你是否想要变化可能已经存在),而其他人,如 VB,往往不会。您也可以使用 DTE 的 CodeModel 之类的东西,但我从未听说有人在这方面有过真正的好体验。

如果您想要一个使用分类信息的示例,可以查看CommentTextTagger.cs(拼写检查扩展的一部分)是如何做到的。

【讨论】:

  • 其实,这正是我想做的;我想像 C# 一样(部分)在 VB 中突出显示类、枚举、结构、方法、命名空间,并使局部变量为粗体、静态变量为斜体等。
  • 另外,我想改进现有的 VB/C# 智能感知,使其具有类似于 Karl Shifflett 在 XAML 智能感知中所做的过滤器。
  • Shimmy,你的努力有没有成功?我想做同样的事情,首先给方法参数一些颜色。现在我坐在分类器模板前面,所有的都是紫色文本。我不知道如何让链接的标记器工作。
【解决方案2】:

你可以去看看

http://code.msdn.microsoft.com/ookLanguage

在 C# 示例的“OokTokenTag.cs​​”中有一个语法高亮。当然,您确实必须解析整个文本块,但这并不太难。

(从http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/657212c1-1685-4ed6-be2f-cbf34fcc5b20找到那个链接)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-09-13
  • 1970-01-01
  • 2017-09-14
  • 1970-01-01
  • 2011-03-09
  • 2016-03-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多