【问题标题】:How to get Csharp syntax tree from VS Code Extension?如何从 VS Code Extension 获取 Csharp 语法树?
【发布时间】:2018-07-08 10:44:59
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: visual-studio-code vscode-extensions omnisharp


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-05-05
      • 2019-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-12
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      相关资源
      最近更新 更多