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

标签 visual-studio roslyn vsix

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

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

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

通过MEF导入的接口(interface)是什么?

最佳答案

例如,您可以导出自定义 ISuggestedActionsSourceProvider要在灯泡中添加新功能,您可以使用 ExportCodeRefactoringProviderAttribute要添加新的重构,也可以导出 IClassifierProviderITagProvider要在文本编辑器中对元素进行分类,请导入 ITextDocumentFactoryService通过 ITextBuffer 检索当前的 VS 文档等等。

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

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

您还可以查看更有用的链接和示例:Roslynator are refactoring and analyzing a code , Getting start editor extensions , Light bulb guide , Classification elements for highlighting

关于visual-studio - 如何在 VSIX 扩展中集成 Microsoft.CodeAnalysis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46342771/

相关文章:

roslyn - C# 代码分析 ProtectedAndInternal 与 ProtectedOrInternal

javascript - MVC Javascript 和 AJAX,复选框 onchange()

c# - 我可以设置 VS10 在构建意外中断时通知我吗?

visual-studio - Visual Studio - 什么是建议和标准完成模式

c# - Roslyn 源生成器能否发现 IDE 的间距/等首选项?

c# - 如何从 Roslyn 脚本文件加载引用的脚本库?

azure-devops - Blazor 路由在 Azure DevOps iframe 中失败

visual-studio - 如何在无人参与模式下禁用 Visual Studio 扩展自动更新?

visual-studio - 如何在 VS2015 的 TestWindow 中创建自定义测试用例

c++ - 在 Visual Studio 中对齐代码/代码边距