Вы можете установить макрос, чтобы сделать это довольно легко.
Во-первых, используйте превосходное расширение Select By (@ rioV8), чтобы выбрать текст между и включая маркеры комментария блока /*
и */
. Установите его в свои настройки:
"selectby.regexes": {
"BlockCommentSelect": {
"backward": "\/\\*",
"forward": "\\*\/",
"forwardInclude": true,
"backwardInclude": true,
"showSelection": true
}
},
Вы можете использовать это с привязкой клавиш, например:
{
"key": "alt+s", // whatever keybinding you wish
"command": "selectby.regex",
"args": ["BlockCommentSelect"],
"when": "editorTextFocus"
},
Вы можете остановиться здесь и использовать связывание клавиш, чтобы выделить текст, а затем Shift + Alt + A , чтобы отключить комментарий блока.
Или вы можете добавить selectby.regex1
в макрос и сделать его выделением и переключиться в один шаг. Здесь с помощью расширения макроса multi-command установите это в своих настройках, а также вышеупомянутую настройку selectby.regexes
:
"multiCommand.commands": [
{
"command": "multiCommand.BlockCommentOff",
"sequence": [
{
"command": "selectby.regex",
"args": ["BlockCommentSelect"]
},
"editor.action.blockComment"
]
},
]
и затем связывание клавиш для запуска этого макроса (в ваших сочетаниях клавиш) . json):
{
"key": "shift+alt+A", // trigger the macro with whatever keybinding if you wish
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.BlockCommentOff" },
"when": "editorTextFocus && !editorHasSelection"
},
Здесь я использовал Shift + Alt + A для запуска макроса. И я использовал when
предложение !editorHasSelection
, потому что, если у вас есть выделение, возможно, вы захотите заблокировать комментарий только в этом выделении (внутри другого комментария блока !!).
Демонстрации: (1) Просто первый метод где selectby
выделяет ваш текст, и вы вручную отключаете его, а затем (2) используете версию макроса, чтобы сделать это за один шаг.