自定义 VS Code 扩展(上下文菜单命令)

Mag*_*Tun 5 visual-studio-code vscode-extensions

我正在使用这个 VS Code扩展,我想更改命令在上下文菜单中的显示位置。我可以通过直接修改package.json来做到这一点。例如,我在editor/context列表中添加了(大约第 100 行),这个:

{
    "command": "fileutils.renameFile",
    "group": "edit"
} 
Run Code Online (Sandbox Code Playgroud)

它奏效了,我可以在我的上下文菜单中看到重命名命令,但是......当有更新时,我将失去我的编辑。所以我试图在 中添加这段代码,C:\Users\<user>\AppData\Roaming\Code\User\settings.json但它不起作用。

如何自定义 VS Code 扩展,尤其是editor/context命令?

Sco*_*eak 3

无法在 中添加贡献,例如菜单项settings.jsonpackage.json这只能通过扩展名提供的文件来完成。

但是,您可以相当轻松地创建自己的小型个人扩展(请参阅教程,并且它package.json可以创建引用其他扩展命令的新菜单项。请注意排序的语义,以便您可以在正确的位置获取新项目。

下面是一个package.json片段,可以添加到个人扩展中,以便添加调用GitLens 的菜单项(复制其自己的菜单项之一,仅用于说明):

  "contributes": {
    "menus": {
      "editor/context": [
        {
          "command": "gitlens.copyMessageToClipboard",
          "group": "1_modification"
        }
      ],
    },
  },
Run Code Online (Sandbox Code Playgroud)

现在,问题提到您想要“更改命令在上下文菜单中的显示位置”(添加了重点)。我认为不可能删除菜单项,因此如果您遵循我的建议,您将有两个条目。

注意:扩展教程省略了如何安装(而不是仅仅测试)个人扩展而不将其发布到市场。我碰巧有自己的个人扩展,其中包含有关如何安装它的说明(主要供我自己参考!)。我的说明中没有提到的一个细节是您必须publisher在 中拥有一个属性package.json,但它可以是任何东西。