【问题标题】:Extending vscode intellisense扩展 vscode 智能感知
【发布时间】:2019-01-30 21:52:04
【问题描述】:

我有一个自定义 js-doc 属性,其中包含依赖文件的路径。

例如:@dependency {import('loadash/somefile')}

由于这是简单的字符串且容易出错,因此我正在寻找一种方法将 vs-code 导入智能感知扩展到此自定义 js-doc 属性。 Vscode 支持标准 js-doc 属性 @type、@param 和 @typedef 的智能感知,如果有办法将此行为扩展到我的自定义属性,那就太好了。

example of the intellisense for @type attribute

我查看了一些与此相关的扩展,但没有一个提供 vscode 提供的丰富体验。在这方面的任何指示都会非常有帮助。

感谢您的宝贵时间。

【问题讨论】:

    标签: visual-studio-code


    【解决方案1】:

    您可以写一个snippet 以获得快速而肮脏的解决方案。 sn-p 将显示智能感知菜单并根据您输入的前缀插入一段代码。它们保存在您的设置目录~/.vscode 中的 JSON 文件中,看起来像这样:

    {
      "deprecated": {
        "scope": "javascript",
        "prefix": "@D",
        "body": "@Deprecated {import('${1:path}')}"
      }
    }
    

    【讨论】:

    • 感谢马特的回复,我意识到我的问题并不清楚,用例子更新了它。我正在寻找的是属性值的智能感知。
    • 还有tabstops 的概念,我已经更新了我的答案来说明这一点。按 tab 插入 sn-p 并再次按 tab 移动到第一个 tabstop 并突出显示占位符文本以便于替换。
    • 谢谢你,马特,我已经尝试过你的建议,但它没有为路径提供智能感知。我在属性上添加了我正在寻找的路径智能感知的屏幕截图。
    • 没问题。这个 sn-p 解决方案不会为 path 属性提供智能感知,它只是一种快速插入代码块的方法。鉴于您使用的是自定义 js-doc 属性,我认为您想要的将需要自定义扩展实现。您需要根据上下文告诉 vscode 要包含的路径。
    • 我查看了一些关于它们如何实现路径智能感知支持的扩展。大多数扩展都在构建自己的建议列表。但我想利用 vscode 内置路径智能感知体验,因为它非常体面和丰富。知道扩展是否可能吗?再次感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-11
    • 2023-04-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多