How to add context menu with VSCode extension?

Manuel picture Manuel · Dec 30, 2016 · Viewed 13.6k times · Source

How do you add a context menu? (in the explorer and/or the editor)

I tried the following which doesn't work:

{
    "command": "extension.sayHello",
    "title": "Say Hello",
    "context": {
        "where": "explorer/context",
        "when": "json"
    }
}

That's based on:

https://github.com/Microsoft/vscode/issues/3192

https://github.com/Microsoft/vscode/pull/7704

Answer

Manuel picture Manuel · Dec 30, 2016

The extensionAPI documentation has a working example: https://code.visualstudio.com/docs/extensionAPI/extension-points

  "contributes": {
    "commands": [
      {
          "command": "extension.sayHello",
          "title": "Say Hello"
      }
    ],
      "menus": {
        "explorer/context": [{
            "when": "resourceLangId == javascript",
            "command": "extension.sayHello",
            "group": "YourGroup@1"
      }]
    }
  },