是否可以通过我自己的 VS 代码扩展与 CSharp 语法树进行交互?我有一个在 Visual Studio 中制作的扩展,它使用 Roslyn 语法树来执行各种代码编辑和排序任务,我想将它迁移到 VS Code。
我天真的假设是,如果我可以通过进入 Omnisharp VS 代码扩展来访问 OmnisharpServer 对象,我可能能够从中提取相关信息。我可以通过调用来访问扩展本身:
let csextension = vscode.extensions.getExtension('ms-vscode.csharp')
但是扩展本身并没有暴露太多,所以我想知道这是否是正确的方法?如果是这样,我如何从我自己的扩展程序访问正在运行的服务器?
我唯一的其他策略是运行一个.net core exe,它使用 Roslyn 进行分析,但这似乎重复了一个必须在堆栈中某处解决的问题。