在Visual Studio 2019中,我可以使用Alt + Shift +(箭头键)多行编辑``虚拟''空白,然后按任意键以使所有行都用空格填充到所选列,我经常使用它进行初始化代码更易于阅读。但是,当我切换到Visual Studio Code时,找不到对应的代码。我能够找到的最接近的东西是Ctrl + Alt +(箭头键)。这不是我所需要的,因为它仅将每个行光标放在末尾,而不是前面示例中的“虚拟”空格。

这是Visual Studio 2019中的视觉示例(我不知道如何制作GIF):

c++ - 将选定的行填充到VSCode中的光标位置-LMLPHP

c++ - 将选定的行填充到VSCode中的光标位置-LMLPHP

c++ - 将选定的行填充到VSCode中的光标位置-LMLPHP

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"
},

c++ - 将选定的行填充到VSCode中的光标位置-LMLPHP

首先选择要填充的所有行,然后触发键盘绑定(bind)。然后,至少所有光标都与填充对齐,并且很容易一次将所有光标向左或向右移动。

您可能可以将我仅用于演示目的的30减少一些-取决于您最长的一行通常有多长时间。

关于c++ - 将选定的行填充到VSCode中的光标位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59793465/

10-16 03:43