如何在VSIX扩展中集成Microsoft.CodeAnalysis

时间:2017-09-21 11:28:51

标签: visual-studio roslyn vsix

正如标题所说,我想构建一个VS扩展,它能够对编辑器窗口(对于各种语言)所做的某些更改作出反应。不一定是装饰品。

为此,我希望能够通过Roslyn服务API分析编辑器文档(如果我理解的话,那么它现在是Microsoft.CodeAnalysis的一部分。)

有人可以说明一些文件吗? 这样做的最佳做法是什么?

通过MEF导入的界面是什么?

1 个答案:

答案 0 :(得分:3)

例如,您可以导出自定义ISuggestedActionsSourceProvider以在灯泡中添加新功能,您可以使用ExportCodeRefactoringProviderAttribute添加新的重构,也可以导出{ {1}}和IClassifierProvider对文本编辑器中的元素进行分类,导入ITagProvider以按ITextDocumentFactoryService等方式检索当前的 VS文档

另外,仅仅使用ITextBuffer进行某种分析是不够的,因此在这些情况下您需要添加一些额外的包。例如,这些包可以是Microsoft.CodeAnalysisMicrosoft.CodeAnalysis.EditorFeatures.Text等等。

如果你想从社区中获得更具体的答案,你应该具体说明你在问题中究竟想要什么。

您还可以查看更实用的链接和示例:Roslynator are refactoring and analyzing a codeGetting start editor extensionsLight bulb guideClassification elements for highlighting