Код Visual Studio: выберите каждое вхождение поиска


88

Я ищу "выберите каждое вхождение" то, что пытаюсь найти. Например, в файле есть набор текста, который включает «abc», я набираю ctrl+ fи набираю abc. Я могу найти первый или следующий, но я хотел бы «использовать несколько курсоров» для каждого из них в файле.

Я уже нашел функцию, которая позволяет мне выделять текст и ctrl+, dчтобы получить следующий, который соответствует выделенному , но если есть сотня таких вещей - ну, это становится довольно утомительным.


на mac, после find, нужно⌥⮐
nik.shornikov

Ответы:


158

Ctrl+ Shift+L Выбрать все вхождения текущего выделения

editor.action.selectHighlights

Ctrl+F2 Выбрать все вхождения текущего слова

editor.action.changeAll

Пожалуйста, обратитесь за дополнительной информацией сюда .


2
Спасибо за ответ @ dauren-akilbekov. Есть ли разница между Ctrl+ Shift+ Lи Ctrl+ F2?
Алексей Миронов

Есть ли версия Ctrl+ Shift+ с учетом регистра L?
jokerster 07

2
@jokerster Вы можете переключить чувствительность к регистру в редакторе с помощью alt+c(пока редактор, в котором текст, который вы хотите сопоставить, находится в фокусе), это изменит поведение различных инструментов выбора / поиска.
Qwerty

Для больших файлов существует ограничение в 1000 «курсоров». Таким образом, вам может потребоваться изменить текст более одного раза.
openwonk

65

Alt+Enter Выбрать все совпадения поиска

editor.action.selectAllMatches

Это дает дополнительное преимущество работы с поиском по регулярным выражениям, поскольку при выборе вхождений слова в выделенном фрагменте нельзя использовать функциональность Regex.


1
Это тот ответ, который мне нужен, потому что он позволяет мне выбрать подмножество совпадений в уже выбранном блоке.
Мэтт

VS Code для этого нужна кнопка пользовательского интерфейса! Проголосуйте за это здесь: github.com/Microsoft/vscode/issues/20453
Кристиан

19

ну, в основном Ctrl+ Shift+ Lвыберет все вхождения слова в документе,
НО есть какой-то крутой способ их увеличивать:
если вы нажмете Ctrl+, dон выберет второе совпадение, если вы снова нажмете Ctrl+, dон будет соответствовать третьему на ....


В Mac Ctrl + d дублирует строку
Суджай ООН

4
Это Cmd + d на Mac
Bharath,

1
Есть ли аналогичный ярлык, например CTRL + D, но для Visual Studio (не VS Code)?
rayray

честно говоря, я никогда не использовал код Visual Studio, извините
a_m_dev

10

For Mach User:

COMMAND+ Shift+ LВыбрать все вхождения текущего выделения

COMMAND+ F2Выбрать все вхождения текущего слова


Если один из ярлыков по умолчанию не работает (или выполняет другое действие), это может быть связано с тем, что установленное вами расширение переопределило ярлык по умолчанию. Вы можете установить, какое расширение, открыв сочетания клавиш с помощью Ctrl + K, Ctrl + S и в поле поиска вверху введите Ctrl+Shift+L. Там вы должны увидеть, что использует эту комбинацию клавиш, и вы можете удалить или изменить ее по своему усмотрению.
Дункан Авербак

8

Для пользователей Mac:

Control+ Command+G

^+ +G


1
Это то, что я ищу. Спасибо
Kamp

4

Ctrl+ F2- это то, что у меня сработало для VSCode в Windows 10.

В то время как Ctrl+ Shift+ Lпросто открыл какой-то селектор языка.


4

Я знаю, что эта ветка здесь уже некоторое время, но я думаю, что это будет полезно:

Эта ветка на Github говорит именно об этом:

https://github.com/microsoft/vscode/pull/5715

Резюме:

  • Ctrl + F -> Открыть найти широкий.

  • Alt + R -> Включить режим регулярного выражения.

  • Введите текст для поиска -> Текст регулярного выражения или обычный текст.

  • Alt + Enter -> Выбрать все совпадения.

  • Стрелка влево -> Отрегулировать курсоры. (Игнорируйте этот шаг, если вы не хотите редактировать --- выделенный текст.)

  • Редактировать текст -> Делайте то, что хотите. (Игнорируйте этот шаг, если вы не хотите редактировать выделенный текст.)

  • Shift + Home -> Выбрать измененный текст (пропустите этот шаг, если вы не хотите редактировать выделенный текст).

  • Ctrl + C -> Копировать выделенный текст.

  • Ctrl + N -> Открыть новую вкладку.

  • Ctrl + V -> Вставить.


1

Если вы ищете в одном файле, используйте простой поиск с помощью Ctrl+F , затем, даже если вы закроете окно поиска, просто продолжайте нажимать, F3чтобы перейти к следующему совпадению и так далее. F3просто повторяет предыдущий поиск и выбирает следующее совпадение.


Не совсем то, что я искал - я хотел выбрать все вхождения сразу, чтобы редактировать их все сразу.
djb
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.