在Visual Studio 2019中,我可以使用Alt + Shift +(箭头键)多行编辑``虚拟''空白,然后按任意键以使所有行都用空格填充到所选列,我经常使用它进行初始化代码更易于阅读。但是,当我切换到Visual Studio Code时,找不到对应的代码。我能够找到的最接近的东西是Ctrl + Alt +(箭头键)。这不是我所需要的,因为它仅将每个行光标放在末尾,而不是前面示例中的“虚拟”空格。
这是Visual Studio 2019中的视觉示例(我不知道如何制作GIF):
VSCode是否有任何等效功能?或者我现在还没有它吗?
最佳答案
您可以使用宏很好地做到这一点。使用像multi-command这样的宏扩展将其放入settings.json
中:
"multiCommand.commands": [
{
"command": "multiCommand.padTrailingSpaces",
"sequence": [
"editor.action.insertCursorAtEndOfEachLineSelected",
"cursorHomeSelect",
{
"command": "editor.action.insertSnippet,
// pad end of each line with lots of spaces's'
"args": {
"snippet": "$TM_SELECTED_TEXT ",
}
},
"cursorHomeSelect",
{
"command": "editor.action.insertSnippet",
"args": {
// keep first 30 characters, increase if you typically need more
"snippet": "${TM_SELECTED_TEXT/(.{30}).*/$1/g}",
}
}
]
}
]
上面的代码在每行的末尾放置了一个光标,添加了比您需要的更多的空格,然后每行仅保留前30个字符。
选择一些键绑定(bind)(在keybindings.json中):
{
"key": "alt+s",
"command": "extension.multiCommand.execute",
"args": { "command": "multiCommand.padTrailingSpaces" },
"when": "editorTextFocus"
},
首先选择要填充的所有行,然后触发键盘绑定(bind)。然后,至少所有光标都与填充对齐,并且很容易一次将所有光标向左或向右移动。
您可能可以将我仅用于演示目的的
30
减少一些-取决于您最长的一行通常有多长时间。关于c++ - 将选定的行填充到VSCode中的光标位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59793465/