【问题标题】:Visual Studio Code - How to do code navigation extention for custom module loaderVisual Studio Code - 如何为自定义模块加载器进行代码导航扩展
【发布时间】:2018-04-20 03:34:48
【问题描述】:

我们有一个内部模块加载器在工作,我正在尝试为添加代码导航的 vscode 做一个扩展。模块加载器的工作方式类似于 requirejs,但更接近正常 require()

它将require() 替换为全局include() 函数。

和带有exportModules() 函数的module.exports

然后使用 acorn.js 构建一个 AST 并对其进行解析以获取所有内容的位置。还有更多,但我认为其余的与这个问题无关。

我做了一些研究,发现这个扩展可以做一些我想做的事情,但可能更简单,因为它不提供函数 goto。

https://github.com/anacierdem/vscode-requirejs

我想知道是否有比通过正则表达式手动查找所有内容或在我的情况下遍历模块加载器为我提供的 AST 树更简单的方法。

问题看起来很简单,告诉 vs code include() 实际上是 require 并将 uri 提供给该文件,以便它可以完成路径并提供正确的代码导航。但这似乎并不那么容易做到。

实现这一目标的最简单方法是什么?

【问题讨论】:

    标签: visual-studio-code vscode-extensions monaco-editor


    【解决方案1】:

    一种可能的方法是TypeScript Server plugin。这些插件可以增强或改变 TypeScript 语言服务器的行为(TS 服务器支持 vscode 的 js 和 ts intellisense)。插件可以是contributed by extensions

    我不知道插件添加对新方式的支持或在模块中导入和导出是否容易。根据您需要多少支持,我怀疑它会非常投入

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-26
      • 1970-01-01
      • 1970-01-01
      • 2020-02-29
      • 1970-01-01
      • 2017-02-13
      • 1970-01-01
      相关资源
      最近更新 更多