Я думаю, что это работает в макросе. Вам понадобится расширение macrosRE .
В ваших настройках.json:
"macros": {
"commentTabStop": [
"editor.action.commentLine",
// go to beginning of any text on line
"cursorHome",
// now select all whitespace at beginning of line
{
"command": "cursorMove",
"args": {
"to": "wrappedLineStart",
"select": true
}
},
// set your number of tab stops to place comment
"tab","tab","tab","tab","tab","tab"
]
}
Это дольше, чем я бы надеялся, но обработать создание комментария к существующему тексту , который может иметь или не иметь пробел в начале. Я предполагаю, что вы хотите, чтобы все комментарии были выровнены по вертикали, независимо от количества первых вкладок / места, которое могло быть изначально. И работать при создании комментариев на пустых строках.
function fooBar() {
const someVar;
}
становится
// function fooBar() {
// const someVar;
// }
К сожалению, внутренний отступ внутри функции потерян. Но вы можете просто переформатировать эту часть, если позже откомментируете код. Выберите его и Ctrl - K Ctrl - F исправит внутренний отступ.
Чтобы связывание клавиш поместилось в ваш keybindings.json:
{
"key": "ctrl+;",
"command": "macros.commentTabStop"
},