Многострочное редактирование в коде Visual Studio
Можно ли включить многострочное редактирование, как в Sublime Text ?
Например, нажмите, Ctrl чтобы разместить дополнительные курсоры и возможность писать / удалять в нескольких местах документа одновременно.
В Windows вы держите Ctrl + Alt , нажимая клавиши ↑ со ↓ стрелками вверх или вниз, чтобы добавить курсоры.
Linux: Shift + Alt + ↑ / ↓
Обратите внимание, что сторонние программы могут мешать этим ярлыкам, мешая им работать должным образом (в частности, программное обеспечение Intel HD Graphics для Windows; подробности см. В комментариях).
Если у вас возникла эта проблема, вы можете либо отключить горячие клавиши Intel / другого программного обеспечения, либо изменить ярлыки кода VS (описанные ниже).
Нажмите, Esc чтобы сбросить до одного курсора.
Или, как указывает Исидор Николич , вы можете удерживать Alt и щелкать левой кнопкой мыши, чтобы произвольно размещать курсоры.
Вы можете просматривать и редактировать сочетания клавиш с помощью:
Файл → Настройки → Сочетания клавиш
Официальные коды быстрого доступа VS Code Keyboard:
Решено с помощью всего двух шагов!
Это равно Alt + Sublime Text + F3 .
Вы можете просто Alt нажать + для дополнительных курсоров. И , как уже упоминалось, Ctrl + Alt + ↑ или ↓ .
Windows: shift + alt + Mouse Left Button
macOS: shift + option + Click
Используйте Ctrl +, D чтобы использовать многословное редактирование одних и тех же слов в Windows и Linux.
Используйте CMD + D для Mac.
Начиная с версии 1.13 (май 2017 г.), вы, наконец, можете изменить клавишу-модификатор по умолчанию для создания нескольких курсоров (добавить в настройки):
PS: модификатор «перейти по ссылке» с этого момента будет Alt .
Option + Command при нажатии клавиш ↑ со ↓ стрелками вверх или вниз .
Я хотел выделить несколько строк и нажать «что-то», чтобы иметь курсор для каждой выбранной строки (аналогично Ctrl + Shift + L в Sublime Text). Это действие в коде Visual Studio называется «Добавить курсоры в конец строки».
Это было проверено в Visual Studio Code 1.22 и работает как на Windows, так и на Mac .
- Выберите линии, которые вы хотите иметь несколько курсоров.
- Просто нажмите Alt + Shift — I .
Теперь у вас есть один курсор на выбранную строку.
(Windows 10 pro x64) Здесь есть несколько способов!
Alt + Ctrl + up / down
Клавиши: Ctrl + click (. не работает!)

Я использую расширение vscodevim , поэтому я не уверен, является ли это распространенной проблемой. Но у меня была проблема, когда Ctrl + Alt + UpArrow переворачивал мой экран вверх ногами.
Глядя на основы кода Visual Studio (я не знаю, изменили ли они это в недавнем обновлении), он говорит:
Ctrl + Alt + Shift + ( Up / down )
Шаг 1:
выберите слово для замены
Шаг 2:
Ctrl + F это выберет его несколько вхождений
Шаг 3:
Alt + Enter это установит курсор на все найденные случаи
Шаг 4:
Просто начните вводить новое слово
По состоянию на апрель 2018 года (версия 1.23) теперь вы также можете использовать среднюю кнопку мыши для многострочного выбора / выбора блока.
В последнем выпуске кода Visual Studio теперь вы можете перетаскивать курсор, удерживая Option ( Alt в Windows), чтобы выбрать один и тот же столбец в нескольких строках.
Чтобы включить это, убедитесь, что вы изменили свой editor.multiCursorModifier вид так:
Из заметок о выпуске кода Visual Studio 1.32.0:
В следующем видео выбор начинается как обычный выбор, а затем нажимается и удерживается Alt, пока кнопка мыши не будет отпущена:
В Windows у меня работают следующие комбинации:
- Ctrl + Shift + Alt + down arrow
- Ctrl + Shift + Alt + up arrow
Я думаю, что это зависит от вашей версии кода Visual Studio.
Моя версия для Linux — Visual Studio Code 1.7.2.
В Visual Studio Code просто нажмите Alt и поместите курсор в место редактирования (где вы хотите редактировать) и щелкните правой кнопкой мыши, чтобы выбрать.
Рабочим решением для меня было сначала выбрать необходимый текст для редактирования, а затем с помощью CTRL + F2 выбрать все подходящие данные на странице. Вы также можете использовать CTRL + Shift +, L как предложено @lesterCovax
Обратите внимание: вышеупомянутое решение использует встроенную возможность редактора VSCode для выбора аналогичного текста на всей странице, и, следовательно, будьте осторожны.
Для меня выше решения Ctrl + ALT + Arrowkeys не работает , поскольку это привело к экрану , чтобы изменить ориентацию экрана на выбор строки в VSCode.
В дополнение ко всем ответам есть еще один способ. Выберите нужные строки и нажмите:
- Windows: Shift + Alt + i
- Mac: shift + option + i
Это помещает курсор в каждую строку в выделении.
Если вы используете Linux, существует вероятность конфликта с Alt + click , который используется по умолчанию для «перемещения окна».
Вы можете перейти в меню Настройки → Окно Поведение → Окно поведения → Действия вкладки
Просто удалите Alt + left (удерживайте), и это будет работать.
Это лучший способ, потому что вам не нужно держать две + клавиши для выполнения такой простой задачи.
Я использую Sublime Text раскладку и связывание клавиш, представленное в верхнем ответе, похоже, не работает 🙁 Могут быть некоторые конфликты между кодом Visual Studio и подсвеченными раскладками клавиш.
Связывание клавиш, рекомендованное @Han, работает для меня (высоко ценится!):
- Войдите в режим многострочного курсора с помощью Ctrl + Shift + Up / Down
- Выход с Esc
(Sidenote) Ниже приведен небольшой пример использования Emmet вместе с многострочным курсором (включается и отключается с помощью этих назначений клавиш, перечисленных выше):
версия 1.43 (февраль 2020 г.)
Теперь вы можете переключать режим выбора столбцов, который меняет жесты мыши и клавиши со стрелками, с помощью:
- Строка меню> Выбор> Режим выбора столбца
- Ctrl + Shift + P (Показать все команды)> Переключить режим выбора столбца
- Привязать свой ключ для команды «editor.action.toggleColumnSelection»
Примечание. После активации в панели состояния появляется панель «Выбор столбца», которую можно нажать, чтобы снова отключить.
Мои настройки: Windows 8.1 64 бит, Visual Studio Code версии 1.33.1.
Проблема: конфликт с сочетаниями клавиш Intel HD Graphics 4000
У меня была проблема, когда я использовал стандартные ярлыки кода Visual Studio ( Ctrl + Alt + UP , Ctrl + Alt + DOWN ). В моем случае эти команды поворачивали мой экран на 0º и 180º соответственно. Это происходит потому, что на моем компьютере установлено приложение Graphic Intel. Затем я просто отключить ярлыки этого приложения.
Вот учебник, чтобы помочь кому-то.
Просто Opt + клик работает для меня на Mac
Решение от @maxime с использованием SHIFT + ALT + i работал для меня, когда мне нужно быстро исправить
20k строк в файле. Большинство других упомянутых сочетаний клавиш полезны только для ограниченного числа строк. SHIFT Выделите область, которую вы хотите редактировать, затем SHIFT + ALT + i наиболее эффективный способ — нажать .
Однако я случайно обнаружил (и пока не упоминал здесь), что в «режиме редактирования курсора» существует ограничение в 10 тыс. Строк (есть открытый запрос функции Github для его увеличения). Это означает, что для очень больших файлов может быть лучше написать ваши правки, чем делать это вручную.
Для таких как @specimen, которые должны были использовать ярлыки, такие как CTRL + SHIFT + L (по умолчанию привязка Select all occurrences of current selection ), вы должны убедиться, что у вас не установлено расширение таблицы ключей . Вы можете проверить, выполнив поиск @recommended:keymaps в панели расширений, перейдя к File > Preferences > Keymaps ( CTRL+K CTRL+M ).
Таблицу ключей [Windows] по умолчанию можно найти в формате PDF ЗДЕСЬ , или вы можете перейти File > Preferences > Keyboard Shortcuts к поиску / изменению текущих привязок. Более подробную документацию по связыванию клавиш можно найти ЗДЕСЬ .
Функционал VSCode для повышения продуктивности
Перевод серии статей Сергиу Мурешана «VSCode productivity features».

Сегодня редакторы кода имеют столько особенностей, что изучить их все довольно сложно. Эта серия статей призвана помочь вам понять и, надеюсь, начать использовать функционал VSCode, с помощью которого вы сможете работать быстрее, а качество вашего кода повысится.
Множественные курсоры в Visual Studio Code
Множественные курсоры очень впечатляют не-программистов, но в нашем мире они довольно давно. Многие люди знают об этом, но не используют полный потенциал этой фичи. Давайте разберемся, что можно делать с множественными курсорами.
1) Добавить курсор над/под (CTRL+ALT+↑/↓)
Это простой функционал, но он прячется за странным сочетанием клавиш, которое переворачивает ваш рабочий стол в направлении стрелки (в Windows). Я всегда переназначаю это сочетание, заменяя его на CTRL+SHIFT+↑/↓.
2) Добавить курсор к следующему вхождению (CTRL+D)
Просто выделите нужный текст, а затем нажмите указанные клавиши. Это добавит курсор к следующему вхождению выделенного текста, после чего вы сможете редактировать оба сразу. Это поможет вам действительно быстро редактировать код.
3) Добавить множественные курсоры ко всем вхождениям выделенного текста (CTRL+SHIFT+L)
Механизм тот же, что и в примере выше, но курсоры добавляются ко всем вхождениям выделенного текста в текущем файле. Эта функция может служить для по-настоящему быстрого поиска и замены.
4) Отменить последнюю операцию курсора (CTRL+U)
Вот об этой функции я долго не догадывался. Здесь все довольно просто. Если вы случайно добавили слишком много курсоров (лишний раз нажав CTRL+D), с помощью CTRL+U вы можете отменить последнее добавление. Это спасет вас от необходимости проходить весь путь выделения и добавления курсоров (теперь только нужных) заново.
Функции поиска в Visual Studio Code
Знаете ли вы, что, помимо поиска строк (в текущем документе или во всех документах), в Visual Studio Code есть еще четыре варианта поиска? Давайте их рассмотрим!
1) Поиск файла (CTRL + P)
Если вы знаете имя файла, то можно сократить время его поиска. Вам не нужно открывать менеджер файлов и выбирать там нужный. Просто нажмите CTRL + P, наберите полное имя или часть имени файла, и VSCode будет автоматически искать этот файл в вашем текущем рабочем пространстве. Он отобразит все файлы, в названии которых содержится указанное вами имя (уже открытые файлы будут вверху списка).
2) Поиск символа (CTRL + T)
Если вы знаете, к примеру, имя приватной функции, но не знаете точно, где она находится, вам может пригодиться это сочетание клавиш. Просто нажмите их (или откройте палитру команд и поставьте префикс #) и введите имя функции. Вы получите список символов с указанием на местоположение их файлов.
3) Поиск локального символа (CTRL + SHIFT + O)
Похоже на предыдущий вариант, только поиск происходит по текущему файлу. Также можно открыть палитру команд и ввести @.
А если вы введете в строке поиска @:, то сгруппируете функции по типу значков. Так вам будет легче найти нужную, если вы не знаете ее полного имени.
4) Поиск по ссылке (SHIFT + F12)
Б этой фиче стоит знать, потому что она позволяет очень быстро искать по упоминаниям (ссылкам). Введя это сочетание клавиш, вы получите всплывающее окно, где будут отображаться не только все места, где используется символ, но и
15 строк кода, чтобы было понятно, как он используется. Вам не придется перемещаться по файлам, чтобы проверить, та ли это ссылка, что вам нужна.
Навигация по коду в Visual Studio Code
Функции навигации в VS Code выглядят довольно просто, но, на первый взгляд, не кажутся сильно полезными. Поэтому я вам советую перед чтением этого раздела переместить свою мышь на другую от себя сторону. Это заставит вас начать использовать сочетания клавиш, о которых пойдет речь, и поверьте мне, за несколько часов использования вы забудете, что еще недавно не знали о них. Вы поймете, насколько они эффективны!
1) Назад / вперед (ALT + ← / →)
Самый быстрый способ переместиться из одной части файла в другую – с помощью этого сочетания клавиш. Некоторые могут возразить, мол, CTRL + TAB делает то же самое, но эта функция более полная. Она сохраняет историю о местах одного файла, и эта история сохраняется даже после применения данного шортката (вы можете перемещаться туда-сюда, а история не изменится).
Редактирование в нескольких точках вставки
Редактирование в нескольких точках вставки позволяет добавлять n-ое количество точек вставки одновременно. В режиме редактирования в нескольких точках вставки вы можете добавлять дополнительные курсоры в документ, щелкнув кнопкой мыши или нажав соответствующие клавиши клавиатуры. Основной курсор обозначается красным цветом, а вторичные — голубым. Редактирование в нескольких точках вставки можно отключить с помощью клавиши ESC .
Включение редактирования в нескольких точках вставки
Клавиатура
Включить режим нескольких точек вставки с помощью клавиатуры можно несколькими способами. В приведенной ниже таблице указаны сочетания клавиш, доступные для входа в определенные режимы редактирования в нескольких точках вставки:
| Сочетание клавиш | Действие |
|---|---|
| ⌥⇧. | Вставить следующий соответствующий курсор |
| ⌥⇧; | Вставить курсоры для всех совпадений |
| ⌥⇧, | Удалить последний курсор |
| ⌥⇧/ | Переместить последний курсор вниз |
Каждое из этих поведений привязано к текущей позиции курсора при вызове команды. Например, если курсор находится в начале слова name и вы вызываете команду "Вставка курсоров для всех совпадений" (⌥⇧;), в начале каждого экземпляра слова name в текущем документе будет добавлен курсор. Аналогичным образом, если вы вызовете команду "Вставить следующий соответствующий курсор" (⌥⇧.), курсор будет помещен на следующий экземпляр слова name. Эту команду можно вызвать несколько раз.
Мышь / сенсорная панель
Используя мышь, вы можете свободно выбирать конкретные точки вставки для нескольких курсоров. Несмотря на то, что сочетания клавиш связаны с соответствующими строками, вы можете вручную вставить курсор в любой области документа с помощью мыши. После установки курсора каждый из них будет повторять вводимые с помощью клавиатуры ключевые записи.
Чтобы использовать мышь для вставки нескольких курсоров, необходимо зажать клавиши Control и Option и щелкнуть там, где необходимо вставить курсор. Режим вставки будет активирован, пока будут зажаты клавиши Control и Option. Если вы вставили курсор в неправильное расположение, удалите его, снова щелкнув в той же области, удерживая клавиши Control и Option. Когда все курсоры будут правильно расставлены, отпустите клавиши Control и Option и начните вводить текст. На приведенном ниже GIF-изображении продемонстрирован выбор набора точек вставки и удаление неправильно установленных точек.