Как настроить действия по щелчку правой кнопкой мыши на файле Visual Studio Code? - PullRequest
0 голосов
/ 29 июня 2019

Мне нужно выполнить код JS для файла json, когда я щелкаю правой кнопкой мыши по нему с помощью VSCode и показываю результат в модальной или командной строке на основе другого кода.

Например:

Код для выполнения (example.js) при щелчке правой кнопкой мыши на файле json:

function run(fileLocation){
   var file = require('./'+fileLocation);
   return file.length;
}

example.json (файл, который нужно щелкнуть правой кнопкой мыши):

[{id: a},{id: b},{id: c},{id: d},{id: e}]

Как и на рисунке ниже, оно будет отображаться в меню как Execute example.js или как-то так.

Add code to right click actions on VS Code

Есть ли способ сделать это?

1 Ответ

1 голос
/ 29 июня 2019

Для этого вам понадобятся два вклада:

  • A вклад команды ваш package.json, который определяет некоторую основную информацию о команде.Вам также потребуется регистрация команды в исходном коде, которая реализует команду.

  • A вклад в меню в package.json для explorer/context.Это должно быть связано с командой, которую вы определили.

Все вместе это будет выглядеть примерно так:

// package.json

"activationEvents": [
    "onCommand:extension.doThing"
],
"contributes": {
    "commands": [{
        "command": "extension.doThing",
        "title": "Do the thing",
        "category": "My Extension"
    }],
    "menus": {
        "editor/title": [{
            "command": "extension.doThing",
            "group": "navigation"
        }]
    }
}

// в вашем источнике расширений

import * as vscode from 'vscode';

vscode.commands.registerCommand('extension.doThing', (resource: vscode.Uri) => {
    ...
})
...