我如何在vscode中的每一行上获得光标


101

我正在尝试在大型(ish)文件上使用vscode的多光标功能。该文件太大,无法使用ctrl-alt-up或down单独选择每一行。在崇高的文本中,我将选择所有内容并按ctrl-shift-l。vscode中有类似的事情吗?我尝试使用正则表达式搜索^,但这给我一个错误,指出“表达式匹配所有内容”。

Answers:


188

选择/向行尾添加光标命令altshifti将在当前选择的每一行上放置一个光标。(对于Mac使用optshifti

提示:您可以拉起使用键盘快捷键参考表ctrlkctrls(如,在序列这两个键盘连击)。(对于Mac使用cmdkcmds


2
当我尝试它时,光标移至每一行的末尾。我一直在寻找每一行的开始。我看到了一个扩展,该扩展允许对“行首的光标”进行键绑定,但是我想知道是否可以在普通VS Code中做到这一点?
蒂芙尼

17
@Tiffany之后按下了home键。
ZachB '18

3
这对我来说应该是显而易见的。但是还是谢谢你!
蒂芙尼

仅供参考,无需先进行选择即可绘制光标,请使用alt + shift +拖动选择。那些熟悉Sublime Text的人通过使用alt +拖动选择来了解这一点。
palmi

homeMac版是fn+left
eibersji

21

按住Alt+ Shift并选择块。然后按EndRight按钮。您将获得选定的单个行。

我在Windows中使用版本VSCode 1.5.3。


4
这是一个不错的解决方法,但是我从崇高的文本中错过了一些东西,其中的一个是ctrl + shift + L将光标添加到所有选定的行中
Des Horsley

10
@DesHorsley我想您正在寻找alt+shift+I
ZachB

3
@ZachB你的传奇。谢谢!
Des Horsley

@ZachB。请给出一个答案,以便我接受。
feihtthief

如果您已将多光标键更改为ctrlcmdalt则快捷键为ctrl + shift + dragcmd + shift + drag
裤子

6
  • 按住Alt+ Shift+i

  • 按住Homefn+ ->Mac)最右边或End最左边(fn+ <-Mac)

在此处输入图片说明


这个答案为我节省了很多时间。顺便说一句,你怎么记录这个gif?
李金耀

在Mac上,我gifox用于此类gif。
snr

5

实际上split selection into lines,许多编辑器都调用了此功能。

  • Sublime Text使用默认的键盘绑定, CTRLSHIFT L
  • VSCode的用途 ALTSHIFTI
  • 对于Atom,您实际上需要将键盘映射编辑为如下所示
'.platform-win32 .editor,.platform-linux .editor':
  'ctrl-shift-L':'编辑器:成行分割选择' 

1

安装扩展Sublime Commands

[Sublime Commands]将命令从Sublime Text添加到VS代码:转置,将选择扩展到行,拆分为行合并行。

(不要忘记将扩展细节页面中的按键绑定添加到中keybindings.json


VS Code是否已经有了“拆分为行”命令?

是的,是的。但是,它与Sublime中的不同。

在VS Code中,当您分成几行时,您的选择将被取消选择,并且光标出现在所选的每一行的末尾(最后一行出现在选择的末尾除外)。

在Sublime中,当您分成几行时,光标会出现在每一行的末尾(与VS Code中的例外)并且所选内容将划分到每一行并“赋予”到同一行。


请注意,OP正在询问如何在vscode上执行任务,因为他们已经知道如何
出色

0

我有同样的问题,我习惯在Visual Studio中按住Alt键并拖动以进行“框选择”,但是它在代码中不起作用。

现在看来,与选择每行不同,这样做是不可能的。

但是,应该很快就支持插件,因此,如果不是由Microsoft直接实现的话,我们可能会看到与此相关的插件。

在Visual Studio用户语音论坛中:

我们计划为Visual Studio Code提供插件支持。感谢您的关注,并在接下来的几周内在我们的博客中查找更多详细信息。http://blogs.msdn.com/b/vscode

对于预览,我们正在寻找此类反馈。保持它来。

Sean McBreen – VS代码团队成员

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.