Как вставить или изменить выравнивание комментария в предопределенном столбце в VSCode - PullRequest
0 голосов
/ 27 августа 2018

Есть ли способ вставить или изменить комментарии в vscode, как в emacs (т.е. M-;). В Emacs мета-; вставит новый комментарий в предварительно заданный столбец комментариев, если комментарий еще не добавлен, или перенастроит комментарий в столбец комментариев, если он есть. Это было бы хорошей особенностью. Например 'cmd +;' вставил бы "//" в коде JavaScript. Если для этого есть определение расширения или сочетания клавиш, я бы хотел услышать об этом.

1 Ответ

0 голосов
/ 28 августа 2018

Я думаю, что это работает в макросе. Вам понадобится расширение 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"
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...