如何避免VS代码中换行线上的多个光标



我在VSCode中启用了Word Wrap,这样长行就可以以特定的窗口宽度进行换行。

如果我想注释掉一些代码或文本,我通常只需将光标移动到代码块的第一行的开头,使用ctrl+shift+down添加光标,然后键入//#等。

Word Wrap的问题是,我不仅在每一行的开头都有光标,而且在编辑器中显示的每一行开头都有指针。

例如,对于以下文档:

1 This is the first line.
2 Second line.

它可能是这样包装的:

1 This is the first 
line.
2 Second line.

所以如果我使用上面的方法并添加%,我会得到:

1 %This is the first 
%line.
2 %Second line.

但我想要的是以下内容:

1 %This is the first 
line.
2 %Second line.

否则,行的中间有一个%,只是因为我调整了编辑器窗口的大小。

目前,我实际上关闭了Word Wrap来实现这一点,但我希望有更好的方法吗?

更新v1.62+(2021年10月(

由于此PR更改InsertCursorAbove/Bower的默认行为,因此它现在在VSCode中本地可用。但是,默认情况下不会启用它。

你需要更新你的密钥绑定才能传入这样的args

{
"key": "shift+alt+down",
"command": "editor.action.insertCursorBelow",
"when": "textInputFocus",
"args": { "logicalLine": true },
},
{
"key": "shift+alt+up",
"command": "editor.action.insertCursorAbove",
"when": "textInputFocus",
"args": { "logicalLine": true },
},

遵循以下步骤:

  1. Alt+Shift+i
  2. Cmd/Ctrl+将所有光标移动到[换行]行的开头
  3. Cmd/Ctrl+(再次(将所有光标移动到[wrapped]行的实际开头

享受吧!🙂

这似乎是一个已知的问题。Martin Zimmermann的CursorColumnSelectOnTrueLines扩展提供了显示所需行为的命令,默认情况下映射为Ctrl+Alt+Shift+Up/Down。

最新更新