【问题标题】:How to edit existing VS Code Snippets如何编辑现有的 VS 代码片段
【发布时间】:2017-02-27 20:42:47
【问题描述】:

有没有办法删除或编辑 Visual Studio CODE 中的一些默认代码 sn-ps ?

例如,当我输入 req+TAB 时,我需要 require 而不是 requestAnimationFrame

【问题讨论】:

    标签: visual-studio-code code-snippets


    【解决方案1】:

    建议项requestAnimationFrame 来自 JavaScript 语言服务。 它不是来自 sn-ps。

    但是,您可以定义自己的 sn-ps 并告诉 Visual Studio Code 先显示 sn-ps。怎么做:

    1. 转到 File -> Preferences -> User Snippets 并选择 JavaScript 以编辑该语言的 sn-ps
    2. 将此条目添加到打开的文件javascript.json并保存

      "require": {
          "prefix": "req",
          "body": [
              "require"
          ],
          "description": "Add 'require'"
      }
      
    3. 将以下行添加到您的首选settings.json(用户或工作区设置)并保存

      "editor.snippetSuggestions": "top" 
      

    现在,只要您在 .js 文件中键入 req,您就会首先获得您自己定义的 require 建议。

    【讨论】:

    • 扩展中的代码 sn-ps 怎么样?我们可以修改它们吗?
    • 当我尝试从扩展中覆盖 sn-p 时,此方法对我不起作用。如果你让你的 sn-p 全局化,它会起作用(但是你会得到“冗余”的 sn-ps)。
    【解决方案2】:

    扩展 sn-ps 可以在下面的每个 sn-p 目录中找到:
    (如果扩展中有 sn-ps)

    Mac/Linux:$HOME/.vscode/extensions/
    窗口:%USERPROFILE%\.vscode\extensions/

    选择您要修改的扩展,然后进入 sn-ps/ 中的 javascript.json 文件strong> 目录,然后随意更改。

    请记住,如果/当您选择下载并更新某天扩展程序时,您的所有个人修改都将被文件的更新版本覆盖/替换。 (当然,除非您将更改隐藏在扩展目录之外...)

    编辑/搁置: 仔细查看此目录中已经存在的所有复制版本,似乎至少有一些扩展更新保留了以前的版本。如果是这种情况,当您在发布新版本时更新扩展时,您无需担心将修改后的文件的副本存储在其他地方;将文件恢复为现役可能就像从旧文件复制粘贴到适当的、更新的、编号更高的目录一样简单。

    资源/引用/致谢:
    感谢 here 帮助最初将我指向相关目录。

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    • 很好的建议,谢谢!但是,该链接仅作为对所咨询资源的引用/致谢。所有相关信息已经在我的回复中。很好的关注,并将添加一个副标题以帮助更好地传达包含链接的原因。
    • 因为这个答案给出了如何在 vs 代码中编辑现有代码 sn-ps 的提示,所以它应该被标记为最好的。
    • 这个答案是关于扩展 sn-ps,而不是问题所涉及的默认 sn-ps。虽然这个答案有有用的信息,但它与原始问题没有任何关系。
    • 正是我要搜索的内容。
    【解决方案3】:

    在我的 Windows 安装中,默认/内置 JavaScript sn-ps 位于

    C:\Program Files (x86)\Microsoft VS Code\resources\app\extensions\javascript\sn-ps\javascript.json

    我将该 sn-p 重命名为“logx”(需要管理员权限才能修改文件)并重新启动 vsCode,现在只有我的用户“log”sn-p。

    问题跟踪器上有一些关于此的主题 -

    【讨论】:

    • 在 Mac 上是 /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/extensions/javascript/snippets/javascript.code-snippets - 您必须导航到 Visual Studio Code 应用程序并右键单击以显示包内容。
    【解决方案4】:

    在我的 Windows10 机器上,可以在以下位置找到日志和其他默认 javascript sn-ps:

    C:\Users\$USER\AppData\Local\Programs\Microsoft VS Code\resources\app\extensions\javascript\snippets\javascript.json

    【讨论】:

      【解决方案5】:

      大家注意!

      这现在可以在最新的 vscode 中实现。解决方法在这里:https://github.com/microsoft/vscode/issues/10565#issuecomment-721832613

      该解决方案告诉您如何禁用任何 sn-p(包括内置或扩展 sn-ps)。虽然这在技术上不是编辑 sn-p,但禁用 sn-p 然后 creating your own user snippet 实现了相同的确切目标。耶!

      【讨论】:

      • 这正是我一直在寻找的:一种从扩展中禁用特定 sn-p 的方法,并且无需修改扩展即可做到这一点。选择 Insert Snippet,输入 sn-p 名称,然后单击眼睛图标以“从 Intellisense 中隐藏”即可。谢谢!
      【解决方案6】:

      我在~/.config/Code/User/snippets找到了我的

      如果要创建全局sn-p,创建一个名为snippet_name.code-snippets的文件

      如果您想要特定语言的 sn-p,请像 php.json 一样创建它

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-14
        • 2015-12-07
        相关资源
        最近更新 更多