VSCode Запуск сценария с использованием макросов - PullRequest
0 голосов
/ 18 июня 2020

tl; dr:
Я хочу запустить сценарий через макрос, используя расширение «макросы» для VSCode, см. Расширение здесь
Возможно ли это? если да, то как?

длинная история:
Есть это расширение под названием «powertools» (см. здесь ), и я использовал его, чтобы добавить настраиваемая кнопка, которая запускает сценарий, когда я нажимаю на нее.
Я хочу добавить функциональность к этой кнопке, чтобы каждый раз, когда я нажимаю кнопку, она сохраняла все мои файлы, используя этот идентификатор команды "workbench.action.files.saveAll", а затем он запускает сценарий.

определение кнопки выглядит так:

"ego.power-tools": {  
        "buttons": 
        [
            {
                "text": "Compile Folder",
                "tooltip": "Compile all the .Jack files in the current folder.",
                "action":
                {
                    "type": "command",
                    "command": "macros.compile_button_click",
                }
            }
        ],
    }


И я хочу, чтобы макрос выглядел примерно так:

"macros": {
        "compile_button_click": [
            "workbench.action.files.saveAll",
            {
                "action":
                    {
                        "type": "script",
                        "script": "compile_folder.js"
                    }
            },
          ]
    }

Заранее спасибо!

PS - Важно, чтобы макрос сначала сохранял файлы, а только потом запускал скрипт

1 Ответ

0 голосов
/ 18 июня 2020

РЕШЕНИЕ:
как сказал @ rioV8, используя powertools, вы можете определить команду для выполнения сценария, а затем вы можете добавить новую определенную команду в macros.

ЭТО КАК Я ЭТО СДЕЛАЛ:

"ego.power-tools": {
        "buttons": 
        [
            {
                "text": "Save & Compile",
                "tooltip": "Compile all the .Jack files in the current folder.",

                // Running the macro on button click
                "action":
                    {
                        "type": "command",
                        "command": "macros.compile_button_click"
                    }
            }
        ],

        "commands": {

            // Define a command that runs a script
            "compile_folder": {
                "script": "compile_folder.js"
            }
        }
    },

    "macros": {

        // Define a macro command
        "compile_button_click": [
            "workbench.action.files.saveAll",
            "compile_folder"
          ]
    }
...