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

88

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

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

djb
источник
на 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он будет соответствовать третьему на ....

a_m_dev
источник
В 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

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

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

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

PolarisTLX
источник
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