créer une extension vscode

03/04/2024

genérer l'extension

Attention: ne pas lancer en root
Ne pas ouvrir vscode en remote pour que le debuging marche.

npm install -g yo generator-code vsce
yo code

Définir quand l'extension boot

Aller sur le package.json :

  "activationEvents": [
    "onStartupFinished"
  ],

Définir une commande

Aller sur le package.json :

  "contributes": {
    "commands": [
      {
        "command": "vscodestat.helloWorld",
        "title": "Hello World"
      }
    ]
  },

Aller sur le fichier src/extension.ts

let disposable = vscode.commands.registerCommand('vscodestat.helloWorld', () => {
    vscode.window.showInformationMessage('Hello World from vscodestat!');
});
context.subscriptions.push(disposable);

lancer npm test ou se mettre sur src/extension.ts puis faire f5 ça ouvre une nouvelle fenêtre dans laquelle l'extension est installée.

faire ctrl+maj+P et lancer la commande helloWorld

Définir des configs

"contributes": {
  "configuration": {
    "title": "vscodestat",
    "properties": {
      "vscodestat.url": {
        "type": "string",
        "default": "https://example.com",
        "description": "Specifies the url of the server to store the events"
      }
    }
  }
},

Générer un fichier vsix

vsce package

une fois le fichier généré il peut être importé dans vscode depuis l'onglet extension > "..." > install from vsix"