在Visual Studio中选择多个?


88

有没有一种方法可以在VS中选择多个不相邻的文本(完全分开)?我可以在MS Word中通过按住Ctrl按钮分别选择文本来做到这一点,如下所示:

在此处输入图片说明

我的版本是11。

编辑:我不是在谈论Alt+Select块选择。我也很想看看Notepad ++中是否存在一种技术。


1
您是在问Visual Studio 2012还是Notepad ++?
奥德

@Oded我认为很明显,问题是关于VS的(也包括在标题中)。关于Notepad ++的事情是一个额外的问题。
2013年

2
据我所知,这两种方法都不可行。
奥德


根据您要选择的内容,您可能可以通过正则表达式/字符串搜索获得最终结果。
MA

Answers:


88

从版本2017 Update 8开始,Visual Studio本机支持多光标编辑。以下是文档摘录:

  • Ctrl+ Alt+单击:添加辅助插入符
  • Ctrl++Alt双击:添加辅助单词选择
  • Ctrl+ Alt+单击+拖动:添加辅助选择
  • Shift+ Alt+ .:添加下一个匹配的文本作为选择
  • Shift+ Alt+ ;:添加所有匹配的文本作为选择
  • Shift+ Alt+ ,:删除上次选择的事件
  • Shift+ Alt+ /:跳过下一个匹配的发生
  • Alt +单击:添加框选择
  • Esc 或单击:清除所有选择

Edit菜单中还提供了其中一些命令:

多个Carets菜单


1
我看不到使用2017年版本15.9.3的这些选项
Urasquirrel

似乎在15.9.3中,菜单中的命令只是前两个。
吉安·马可


2
我想知道他们是否会像JetBrains一样已经提供多年的适当支持。尝试插入多个插入符号,选择一个单词,然后将其复制粘贴。VS粘贴两次(即,将每个插入符都粘贴有两个插入符的整个选择。我无法想象这何时会是理想的行为。它们应该只粘贴一次。而且,JetBrains具有CTRL + CTRL快捷键,该快捷键可以在按下向下或向上箭头时(无限期地按下CTRL的同时)添加
插入符号

@obe或喜欢崇高。目前支持它的方式对我没有用。
shashwat

54

Visual Studio 2017有一个名为SelectNextOccurrence的新扩展,它是免费的开放源代码。

此扩展名使得可以选择下一个出现的选定文本进行编辑。

旨在复制Sublime Text的Ctrl + D命令以加快编码速度。

特征:

  • 选择当前选择的下一个出现。
  • 跳过发生
  • 撤消发生
  • 在上方/下方添加插入符
  • 使用多个Alt插入符号进行编辑(-单击以添加插入符号)

Visual Studio命令:

  • SelectNextOccurrence.SelectNextOccurrence默认情况下绑定为Ctrl+ D
  • SelectNextOccurrence.SkipOccurrence默认情况下不绑定。(推荐Ctrl+ KCtrl+ D
  • SelectNextOccurrence.UndoOccurrence默认情况下不绑定。(推荐Ctrl+ U
  • SelectNextOccurrence.AddCaretAbove默认情况下不绑定。(推荐Ctrl+ Alt+ Up
  • SelectNextOccurrence.AddCaretBelow默认情况下不绑定。(推荐Ctrl+ Alt+ Down

SelectNext出现选项

https://marketplace.visualstudio.com/items?itemName=thomaswelen.SelectNextOccurrence

https://github.com/2mas/SelectNextOccurrence


1
完善!这是一个。多重选择和插入符号效果很好。经过VS Community 2017测试。–
Dave

1
@Dave是的,此扩展很棒。如果发现它有用,请考虑对其进行良好的审查和/或为GitHub项目加星标。
德鲁·诺阿克斯

感谢您找到此扩展程序!MixEdit正在运行,但尚未针对VS2017进行优化,并且试用软件弹出窗口不利于生产。
比尔N.18年

没为我工作。哭了,我不知道我对女士的期望。
Bersan

很棒的解决方案,请注意,我还必须从中删除默认的键绑定,Edit.Duplicate因为即使添加Ctrl+D到的键绑定中,它们仍然受到尊重SelectNextOccurrence。VS 2019默认快捷方式:docs.microsoft.com/zh-cn/visualstudio/ide/…–
布兰登·富兰克林

30

在Visual Studio中 Shift+Alt+. / Shift+Alt+,

  • Shift+Alt+. -比赛插入符;
  • Shift+Alt+, -删除以前的插入符;

与VSCode上的功能相同Ctrl+D

还有更多的设置Tool - Options - Environment - keyboard。接下来Show commands containing输入Edit.

另外,可以使用键盘模式Visual Studio Code。适用于Visual Studio 2017

结束语,不错的链接Visual Studio所有键盘快捷键


1
谢谢您的回答。
乌斯奎尔rel 18/12/19

3
好答案。我们只需要命令。我不知道为什么每个人都给出这么长的答案。谢谢
哈维

22

Visual Studio的MixEdit扩展允许您按照描述的方式进行多重编辑。它支持多个插入符和多个选择。


8
如果您正在寻找Sublime文字之类的东西,就是这样!
Kenial 2014年

2
万一有人想知道,在MixEdit中实现多重选择的方法是在按之后双击单词Alt。与MS Word中的相同,除了Alt此处是而不是Ctrl。MixEdit还具有许多其他有用的多选选项。请记住,它仅免费提供评估!
6

2
我不能再购买MixEdit许可证了。检查网站。知道如何以某种方式许可它并摆脱烦人的弹出窗口吗?
vullnetyy

3
这个扩展不是免费的!
Diogo Cid's

6
有没有其他免费的或有购买能力的选择,所以您不必得到烦人的警报吗?或是否有能力将其从MixEdit中删除(如果无法购买)
Sonic Soul


13

在Visual Studio 2019中,您可以将插入符号放在正确的位置,然后按SHIFT ALT和。(点)。这将选择下一个事件。


7

请注意,

MixEdit并非完全免费。

“该软件当前未授权任何用户使用,并且正在评估模式下运行。MIXEDIT可以免费下载和评估,但是必须购买许可证才能继续使用。”

安装和使用后,弹出窗口将重定向到网页-类似于SublimeText的未经许可的软件弹出消息。


1
现在你甚至买不到。它只是弹出警告框以询问许可证
Sonic Soul

6

对于Visual Studio代码

之所以遇到这个问题,是因为我正在寻找一种通过在VS Code上单击鼠标来选择多个单词的方法,应该使用来实现alt+click,但是这种键绑定无法正常工作(我认为这与我的操作系统Ubuntu相关)。

对于寻找相似内容的任何人,请尝试将密钥更改为ctrl+click

前往Selection>Switch to Ctrl+Click for Multi Cursor


您确定您不是在谈论VS Code吗?
nawfal

是的,我是...应该删除它还是标题为“ for vs code”?我到这里时正在寻找代码
jpenna

2
无需删除,将对其他人有用。只需在回答中提一下即可。
nawfal


5

我找不到内置的任何东西,这很可悲。虽然在CodeRush中有此功能。

借助Notepad ++,此功能是内置的。只需从

设置>首选项>编辑>多重编辑设置

但是它不像MS Word那样直观,它使您可以通过双击两个单词来选择两个单词(当然是在Ctrl之后)。


4

在visual 2019中,打开选项以在此处显示所有 输入图像描述

并选择多个:保持Ctrl + Alt然后单击所需的位置,或保持Shift + Alt然后单击位置以从单击的起始行到结束行进行多重选择



0

现在,该插件是多行技巧。结束和开始按钮中断了选择。


如何在Visual Studio 2015中安装?
Diogo Cid's
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.