Несколько курсоров в коде Visual Studio [закрыто]

580

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

Киба
источник
114
Просто удерживайте Altкнопку и начинайте нажимать в разных местах. Вот и все.
имя пользователя
41
CMD + Alt + Стрелка вниз - это то, что вы хотите. stackoverflow.com/questions/30037808/…
Валентин Бондарь
4
Если вы используете Mac, SHIFT + CTRL + DOWN / UP - это то, что вам нужно на 1.14.2.
Бен
2
Кроме того, похоже, что Cmd + Alt + Down отображается по умолчанию в editor.action.goToDeclaration по состоянию на 1.14.2
Бен
15
Жаль, что ребята решили закрыть тему, которая представляет такой очевидный интерес, что у нее почти 400 голосов, а посетители почти через 4 года после публикации. Я бы хотел, чтобы редакторы SO немного расслабились и позволили сообществу расти и поддерживать друг друга. Мне любопытно, какие уместные ответы возникнут со знанием 2019 года. :(
Майк Уильямсон

Ответы:

580

Нажмите 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как указано в другом ответе .

vilicvane
источник
20
Горячие клавиши ? Я понял, что это команда + щелчок. Но это грубо .. не быстрый путь :(
Киба
8
F2 или Ctrl + F2 могут помочь. Но не нашел что-то вроде Ctrl + D.
vilicvane
13
Alt + click не работает в Linux. Что сработало для меня, так это Ctrl + Shift +
Йонатан Симсон
18
alt + shift + click на mac (2017)
Хофф,
5
хммм, Ctrl + Alt + вверх или вниз вращает мой экран (на win10) вместо нескольких курсоров
Reinsbrain
159

Многословные (и многострочные) курсоры / выбор в 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 (чувствительны к ОС)

Дейв Эверитт
источник
15
На моем компьютере видеодрайвер Intel имеет горячую клавишу Ctrl-Alt-Down, чтобы перевернуть экран. Поймал меня врасплох
Обратный инженер
3
Почему не то же самое, что SSMS (и предположительно Visual Studio), которая использует Shift-Alt-Down / Up, а не Ctrl-Alt-Down ???
Обратный инженер
@DaveBoltman - я не знаю! Но вы можете настроить сочетания клавиш.
Дэйв Эверитт
2
Ctrl-Alt-Down заставляет ваш экран перевернуться? Например, скольким пользователям нужно, чтобы это было на горячей клавише? 🙄
мужчина
3
Чтобы отключить тупую горячую клавишу Intel, вы можете просто щелкнуть правой кнопкой мыши на рабочем столе>
Параметры
138

У меня была проблема с клавишей 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/

Иван Ермилов
источник
7
+1 этот метод работает! Просто проверить его с Ubuntu 14.04.05 .. Раньше я пытался dconf-editorи CompizConfigизменить «перемещение окна» плагин конфигураций и перепутались и чуть не сломал Ubuntu.
Димитрий К
2
Это работает в Ubuntu!
jonan.pineda
11
Используйте gsettings set org.cinnamon.desktop.wm.preferences mouse-button-modifier "<Super>"для Linux Mint (Cinnamon).
vossad01
Потрясающие! Работает на Ubuntu 16.04.
Бруно Гомес
1
Если вы не хотите трогать настройки системы по умолчанию, вы также можете использовать «Выбор> Переключиться на CTRL + Клик для мультикурсора». Это работает в Linux Mint, поэтому должно работать и в Ubuntu.
lsblsb
125

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

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

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

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

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

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

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

Тарас Яремкив
источник
1
Я сходил с ума, почему Ctrl + щелчок не работал. Не знал, что есть возможность переключить его. :-)
ankush981
5
Установка editor.multiCursorModifierиз alt в ctrlCmd работала отлично. Теперь все, что мне нужно сделать, это Ctrl + клик, и он будет использовать несколько курсоров :) Muchas gracias!
протоевангелион
Я могу изменить на Ctrl + щелчок, это работает, но перейти к определению класса или что-то ушло, как я могу исправить?
Vuong Tran
Это самый полезный ответ. В большинстве редакторов CTRL + клик используется для множественного выбора. Нет необходимости изменять поведение ОС, чтобы редактор работал. Эта опция изменяет поведение для множественного выбора на наиболее часто используемый шаблон.
Ruby Racer
83

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

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

Эривань
источник
21
CMD+ OPTION+ SHIFT+ ⬇ / ⬆у меня работает на Mac с версией 1.15.1.
Тайлер Кольер
2
На Windows 10 я могу сделать это безshift
Pini Cheyni
2
Вы также можете использовать страницу вверх / вниз, чтобы идти быстрее!
Максим
без SHIFTэтого у меня не
получилось, спасибо
1
Я установил Smart Multi-курсор расширения с некоторыми расширенными функциями, с сочетанием клавиш Cmd + Alt + (вверх / вниз), чтобы создать мульти-курсор.
Дэнни
47

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

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

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

Раймонд Ган
источник
30

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

> gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>"
Валентин Микулит
источник
25

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

Теперь вы можете Insert CursorсAlt + Нажмите

Я также отключил настройки L / R Workspace ( ctrl+ alt+ L/R) вSettings -> Window manager -> Keyboard

лава-лава
источник
1
?? что здесь XFCE?
Martian2049
1
@ Martian2049, это среда рабочего стола в Unix-подобных операционных системах (Linux, BSD и т. Д.). Если вы еще этого не знаете, возможно, мой ответ не будет вам полезен, посмотрите другие ответы.
Лава-Лава
Он работает после отключения easy_click для меня, спасибо, что спас мой день.
Мохамед М. Хагаг
Это работает для меня. Я изменил в easy_click ALT на CTRL, потому что ALT + щелчок для перемещения окон.
milonesj
Хороший ответ. Это работает для меня @ лавы-лавы.
абу абу
23

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

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

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

Роберто Саломе
источник
1
Shift+Alt+<arrow>работал на меня. Спасибо!
Мэтт Кнайзер
18

Там нет привязки для именно то, что вы хотите.

Единственное, что близко 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" }
]
intrepion
источник
Могу ли я сделать это как мультикурсор как, возвышенное делает .. нажатие колесика мыши?
Мигель
@MigueЯ еще не нашел способ сделать это
intrepion
Если вы не хотите искать и заменять, это самый эффективный способ, если у вас есть тысячи строк для редактирования одновременно! СПАСИБО !
ссылка
10

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

мьютекс
источник
3
Для Mac это: Alt + Commandи стрелка вверх или вниз.
Лениэль Маккаферри
На Ubuntu этоCtrl+Shift+Up/Down
tobalr
В Windows, которая по умолчанию, кажется, «повернуть экран».
BlaM
1
Если он вращает ваш экран, то это ваш графический драйвер, а не Windows. Вы можете отключить этот ярлык в настройках графики.
Даниил
9

https://code.visualstudio.com/Updates

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

Multi-cursor
Here's 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)

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

HyoJin KIM
источник
7

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

multiprogramm
источник
2
Alt+Shift+{ Arrow }, приведет к копированию текущей строки, начиная с кода VS V1.18.0
Адарш Мадреча
4

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

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

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

Яхья
источник
4

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

Скриншот меню выбора в VS Code

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

Дэвид Меткалф
источник
3

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

gsettings set org.mate.Marco.general mouse-button-modifier "<Super>"
Наоэ
источник
2

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

Таннер Джеймс
источник
-3

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

lickybuay
источник