Несколько курсоров в коде Visual Studio

Как вы можете создавать несколько курсоров при редактировании в VS Code? Меня интересуют как macOS, так и Windows.

Ответ 1

Нажмите Alt и нажмите. Это работает в Windows и Linux *, и должно работать на Mac.

В Visual Studio Code 0.2 теперь доступны дополнительные функции с несколькими курсорами:

Улучшения в мультикурсорах
Ctrl+D (Cmd+D на Mac) выбирает следующее вхождение слова под курсором или текущего выделения
Ctrl+K Ctrl+D перемещает последний добавленный курсор к следующему вхождению слова под курсором или текущего выбора
Команды используют matchCase по умолчанию. Если виджет поиска открыт, то настройки виджета поиска (matchCase/matchWholeWord) будут использоваться для определения следующего вхождения
Ctrl+U (Cmd+U на Mac) отменяет последнее действие курсора, поэтому, если вы добавили курсор слишком много или допустили ошибку, вы можете нажать Ctrl+U (Cmd+U на Mac), чтобы вернуться к предыдущему состоянию курсора, При добавлении курсора вверх или вниз (Ctrl+Alt+Up/Ctrl+Alt+Down) (Cmd+Alt+Up/Cmd+Alt+Down на Mac) теперь отображается последний добавленный курсор, чтобы упростить работу с несколькими курсорами на более чем 1 высоте окна просмотра одновременно ( т.е. выберите 300 строк и только 80 поместится в окне просмотра).

Это значительно упрощает введение нескольких курсоров

* Конфликт перетаскивания в Linux:

Некоторые дистрибутивы (например, Ubuntu) назначают перетаскивание окна на Alt+LeftMouse, что будет конфликтовать с VSCode.

Итак, последние версии VSCode позволяют переключаться между Alt+LeftMouse и Ctrl+LeftMouse в меню выбора, как подробно описано в другом ответе.

Кроме того, вы можете изменить привязки клавиш вашей ОС, используя gsettings, как указано в другом ответе.

Ответ 2

У меня была проблема с ключом ALT, исправление заключается в изменении alt+click в качестве горячего ключа Gnome, который сжимает многоточечный выбор в VSCode, до super+click, запустив:

gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>"   

Источник: http://2buntu.com/articles/1529/visual-studio-code-comes-to-linux/

Ответ 3

Многословные (и многострочные) курсоры/выбор в VS Code

Multi-слово:

Windows/OS X:

  • Ctrl+Shift+L/⌘+Shift+L выбирает все экземпляры текущего выделенного слова
  • Ctrl+D/⌘+D выбирает следующий экземпляр... и следующий после него... и т.д.

Многоканальный:

Для многострочного выделения Ctrl+Alt+Down/⌘+Alt+Shift+Down расширит ваш выбор или позицию курсора до следующей строки. Ctrl+Right/⌘+Right будет перемещаться в конец каждой строки, независимо от того, как долго. Чтобы избежать выделения из нескольких строк, нажмите Esc.

См. Связи клавиш VS Code (зависит от ОС)

Ответ 4

Май 2017
Начиная с версии 1.13 Добавьте несколько курсоров с помощью Ctrl/Cmd + Click

VSCode разработчики внедрили новый параметр editor.multiCursorModifier, чтобы изменить ключ-модификатор для применения нескольких курсоров к Cmd + Click на macOS и Ctrl + Click в Windows и Linux. Это позволяет пользователям, выходящим из других редакторов, таких как Sublime Text или Atom, продолжать использовать модификатор клавиатуры, с которым они знакомы.

Установка может быть установлена ​​на:

  • ctrl/Cmd - Карты на Ctrl в Windows и Cmd на macOS.
  • alt - Существующий по умолчанию Alt.

Также есть новый пункт меню. Используйте Ctrl + Click для Multi-Cursor в меню Selection, чтобы быстро переключите эту настройку. введите описание изображения здесь

Символы Перейти к определению и Open Link также будут уважать этот параметр и адаптироваться таким образом, чтобы они не конфликтуют. Например, когда параметр ctrl/Cmd, можно добавить несколько курсоров с помощью Ctrl/Cmd + Click, а открытие ссылок или переход к определению можно вызвать с помощью Alt + Click.

С исправлением проблемы № 2106 теперь можно также удалить курсор, используя тот же жест поверх существующего выбора.

Ответ 5

Попробуйте Ctrl + Alt + Shift + ⬇ / ⬆ без мыши или удерживайте "alt" и щелкните по всем нужным строкам.

Примечание: проверено на Windows.

Ответ 6

Cmd + Option + Shift ⬇ / ⬆ работает для меня на новейшем VSCode 1.29.1 и новейшей OSX High Sierra 10.13.6, Macbook Pro.

Это добавляет вертикальную линию вверх/вниз на экране, как Option +Click/Vertical Drag делает в Sublime Text.

Чтобы добавить несколько курсоров в любой точке вашего файла, в том числе несколько курсоров на одной строке, выполните Cmd (or Option) +Click в любом месте, как вы хотите, как показано в этом видео. Вы также можете искать текст (Cmd +F), который повторяется несколько раз, затем нажмите Option + Return, чтобы добавить курсоры в конце КАЖДОГО слова.

Ответ 7

В Ubuntu, чтобы включить многоточечный щелчок, вам нужно сначала назначить Alt + щелчок, выполнив приведенную ниже команду. Это связано с тем, что по умолчанию Ubuntu использует сам ярлык и имеет приоритет.

> gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>"

Ответ 8

В XFCE перейдите в Applications → Settings → Settings editor - > xfwm4 → easy_click(disable value)

Теперь вы можете Insert Cursor с помощью Alt + Click

Я также отключил L/R Workspace (ctrl + alt + L/R) в Settings → Window manager → Keyboard

Ответ 9

Как и в версии Visual Studio Code версии 0.10.9, теперь вы можете сделать Создать несколько курсоров из выбранных строк, выбрав несколько строк и нажав Shift+Alt+I

Примечание. Это похоже на функциональность Sublime Text Ctrl+Shift+L.

Источник: https://code.visualstudio.com/updates/vJanuary#_thank-you
Соответствующий PR: https://github.com/Microsoft/vscode/pull/1479

Ответ 10

Нет привязки для того, что вам нужно.

Единственное, что подходит, - это Ctrl + F2, который выберет все из них сразу.

Вы можете связать его с Ctrl + D следующим образом:

  • Нажмите File > Preferences > Keyboard Shortcuts
    Вы должны увидеть панель, полную текущих привязок, и справа список пользовательских привязок
  • В текущих привязках найдите Ctrl + F2 и скопируйте всю строку и вставьте ее в правую панель.
  • Возможно, вам придется удалить запятую в конце, а затем изменить Ctrl + F2 на Ctrl + D, а затем сохранить файл.

Он должен выглядеть примерно так:

// Place your key bindings in this file to overwrite the defaults
[
{ "key": "ctrl+d",               "command": "editor.action.changeAll",
                                    "when": "editorTextFocus" }
]

Ответ 11

Ctrl + Alt + ⬇ / ⬆ добавить курсоры выше и ниже текущей строки. Тем не менее, нигде не было рядом с возвышенными или скобками. Я не вижу ничего похожего на Ctrl + D в sublime в файле быстрых клавиш.

Ответ 12

https://code.visualstudio.com/Updates

Новая версия (Visual Studio 0.3.0) поддерживает больше функций с несколькими курсорами.

Multi-cursor
Here multi-cursor improvements that we've made.

⌘D selects the word at the cursor, or the next occurrence of the current selection.
⌘K ⌘D moves the last added cursor to next occurrence of the current selection.
The two actions pick up the matchCase and matchWholeWord settings of the find widget.
⌘U undoes the last cursor action, so if you added one cursor too many or made a mistake, press ⌘U to return to the previous cursor state.
Insert cursor above (⌥⌘↑) and insert cursor below (⌥⌘↓) now reveals the last added cursor, making it easier to work with multi-cursors spanning more than one screen height (i.e., working with 300 lines while only 80 fit in the screen).

И короткий отрезок выбора нескольких курсоров изменится на cmd + d (он же, как и Sublime Text. lol)

Мы можем ожидать, что следующая версия поддерживает более удобную функцию многократного курсора;)

Ответ 14

В Visual Studio без мыши: Alt + Shift + { Arrow }.

Ответ 15

В моем XFCE (версия 4.12) он находится в Settings -> Window Manager Tweaks -> Accessibility.

Здесь выпадающее поле Key used to grab and move windows:, установите для этого параметра значение None.

Alt + Click теперь работает в VS Code, чтобы добавить больше курсора.

Ответ 16

В меню "Выбор" вы можете сделать следующее:

Снимок экрана меню выбора в коде VS

Нажмите и удерживайте Alt+Ctrl+Up Arrow/Alt+Ctrl+Down Arrow , чтобы создать достаточные курсоры, а затем Ctrl+D можно использовать для расширения выбора.

Ответ 17

Такая же проблема в Ubuntu-MATE, но здесь вы разрешаете ее:

gsettings set org.mate.Marco.general mouse-button-modifier "<Super>"

Ответ 18

Alt + Command + Shift добавит курсор к следующему экземпляру того, что вы выбрали. Например. имя переменной или функции

Ответ 19

Alt + Click работает в OSX. Версия кода 1.14.2