1

是否可以通过我自己的 VS 代码扩展与 CSharp 语法树进行交互?我有一个在 Visual Studio 中制作的扩展,它使用 Roslyn 语法树来执行各种代码编辑和排序任务,我想将它迁移到 VS Code。

我天真的假设是,如果我可以通过进入 Omnisharp VS 代码扩展来访问 OmnisharpServer 对象,我可能能够从中提取相关信息。我可以通过调用来访问扩展本身:

  let csextension = vscode.extensions.getExtension('ms-vscode.csharp')

但是扩展本身并没有暴露太多,所以我想知道这是否是正确的方法?如果是这样,我如何从我自己的扩展程序访问正在运行的服务器?

我唯一的其他策略是运行一个.net core exe,它使用 Roslyn 进行分析,但这似乎重复了一个必须在堆栈中某处解决的问题。

4

1 回答 1

0

如果不通过 Omnisharp VSCode 扩展/它的扩展 API,我认为没有任何方法可以做到这一点(除非服务器可能实现了一些自定义接口)。如果 API 尚不存在,您可以考虑在问题跟踪器上创建功能请求?

于 2018-07-09T07:56:42.323 回答