Ярлык для переключения закомментированного и некомментированного кода одновременно - PullRequest
1 голос
/ 21 февраля 2020

В коде Visual Studio комбинация клавиш Ctrl + / позволяет комментировать выбранные строки, если ни одна строка не была ранее прокомментирована, или раскомментировать строки, если каждая из них закомментирована / Переключить комментарий /.

Есть ли возможность отменить комментарии? Так что отключить любые закомментированные строки и включить комментарии для любых некомментированных строк в выделенном блоке кода?

Например, теперь:

line 1    \                 // line 1
line 2     -> [Ctrl + /] -> // line 2
// line 3 /                 // // line 3

Ожидается:

line 1    \                   // line 1
line 2     -> [Ctrl + ???] -> // line 2
// line 3 /                   line 3

1 Ответ

0 голосов
/ 23 февраля 2020

Вы можете сделать это довольно легко с помощью одной дополнительной команды:

Shift + Alt + I : которая разбивает ваш выбор на отдельные строки каждая со своим курсором. Затем Ctrl + / делает именно то, что вы хотите.

Вы можете превратить это в макрос, используя здесь расширение макроса multi-command, чтобы сделать это за один шаг:

В настройках. json:

"multiCommand.commands": [
  {
    "command": "multiCommand.reverseComments",
    "sequence": [
      "editor.action.insertCursorAtEndOfEachLineSelected",
      "editor.action.commentLine",
      "removeSecondaryCursors"
    ]
  }
]

В ваших сочетаниях клавиш. json:

{
  "key": "ctrl+/",             // or whatever keybinding you wish
  "command": "extension.multiCommand.execute",
  "args": { "command": "multiCommand.reverseComments" },
  "when": "textInputFocus && editorHasSelection"
},

Это выглядит довольно полезно, я думаю, что я буду использовать это тоже. Вы потеряете исходное выделение, которое сохранит поведение по умолчанию, как показывает демонстрация:

toggle comments

...