正如标题所说,我想构建一个VS扩展,它能够对编辑器窗口(对于各种语言)所做的某些更改作出反应。不一定是装饰品。
为此,我希望能够通过Roslyn服务API分析编辑器文档(如果我理解的话,那么它现在是Microsoft.CodeAnalysis的一部分。)
有人可以说明一些文件吗? 这样做的最佳做法是什么?
通过MEF导入的界面是什么?
答案 0 :(得分:3)
例如,您可以导出自定义ISuggestedActionsSourceProvider
以在灯泡中添加新功能,您可以使用ExportCodeRefactoringProviderAttribute
添加新的重构,也可以导出{ {1}}和IClassifierProvider
对文本编辑器中的元素进行分类,导入ITagProvider
以按ITextDocumentFactoryService
等方式检索当前的 VS文档。
另外,仅仅使用ITextBuffer
进行某种分析是不够的,因此在这些情况下您需要添加一些额外的包。例如,这些包可以是Microsoft.CodeAnalysis
,Microsoft.CodeAnalysis.EditorFeatures.Text
等等。
如果你想从社区中获得更具体的答案,你应该具体说明你在问题中究竟想要什么。
您还可以查看更实用的链接和示例:Roslynator are refactoring and analyzing a code,Getting start editor extensions,Light bulb guide,Classification elements for highlighting