在Visual Studio2017中有没有实现自定义语言扩展(textual )的例子,支持"GoTo Definition"?似乎在VisualStudioWorkspace中没有足够的灵活性来支持通用符号表(例如,不支持C#或VB)。
在Visual Studio Code中支持自定义语言的GoTo定义。
在Java for Visual Studio中对“Java”的支持,在JavaIntellisenseController.GoToSourceImpl()中,似乎并不能真正解析GoTo符号。
Roslyn实现了抽象方法Microsoft.VisualStudio.LanguageServices.VisualStudioWorkspace.TryGoToDefinition(),但是这个接口使用了特定于.NET语言的类型,比如Microsoft.CodeAnalysis.ISymbol。
有没有其他方法,比如使用定制的Workspace类?
发布于 2017-11-22 11:21:39
构建language server看起来将很快成为在Visual Studio中从头开始构建自定义语言支持的一种有用的替代方案。Visual Studio正在为语言服务器提供一个新的实验工具,可在预览版here中使用。Microsoft和OmniSharp提供了构建在C#中的语言服务器的示例。后者看起来像是在C#中构建语言服务器的通用脚手架。
这个答案并没有像所问的那样指向Visual Studio的自定义语言实现的开放源码示例,但它提供了一个更可行的替代方案,该示例支持"GoTo定义“。关于重用VisualStudioWorkspace的问题是没有意义的;语言服务器维护它自己的工作区状态。
语言服务器不实现语法突出显示。VS代码使用TextMate grammar进行语法突出显示。但有hints称,未来language server protocol将提供更精致的语法突出显示功能。
https://stackoverflow.com/questions/47071072
复制相似问题