我想使用我正在编写的自定义扩展计算的附加信息来扩展 Visual Studio 对 C++ 的解析。为了省去为我的 IScanner 编写完整 LanguageService 的麻烦,我想我会查询负责扫描 C++ 的 LanguageService,并简单地代理它。

到目前为止,我的搜索仅指出我使用例如完成 LanguageService 重新实现。 ANTLR 或自定义扫描仪。我试图从我的 Visual Studio 插件中使用 System.Reflection,但它似乎没有向我显示除我之外的任何类。

那么,知道如何检索理解 C++ 的 LanguageService 实例吗?

最佳答案

据我所知,不可能代理 C++ LanguageService(或任何其他语言服务),因为它没有被设计为具有可扩展性点。所以你只能从头开始重新实现它(这将是一项非常艰巨的任务)。 Visual Studio 中语言服务的目的是为在 IDE 中编辑源代码提供特定于语言的支持。您确定需要语言服务吗?你在做什么样的扩展?

至于获得 Visual Studio 服务,你可以看看这篇好文章“LearnVSXNow! #26 - Services — with no-code service initialization

关于c# - 我可以代理现有的 Visual Studio LanguageService 吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13570330/

10-10 05:11