Кілька курсорів у коді Visual Studio [закрито]


578

Як можна створити кілька курсорів під час редагування у коді VS? Мене цікавлять і macOS, і Windows.


114
Просто Altнатисніть кнопку і починайте клацати в різних місцях. Це воно.
ім’я користувача

39
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
Ben Creasy

13
Прикро, що люди вирішили закрити тему, яка представляє такий очевидний інтерес, що вона налічує майже 400 голосів і все ще має відвідувачів майже 4 роки після публікації. Я хотів би, щоб редактори ТА трохи розслабилися і дозволили громаді рости та заохочувати одне одного. Мені цікаво, які відповідні відповіді зіткнуться зі знаннями 2019 року. :(
Майк Вільямсон,

Відповіді:


579

Натисніть Altі натисніть. Це працює в Windows та Linux *, і він також повинен працювати на Mac.

Більше мульти курсорних функцій тепер доступно у Visual Studio Code 0.2:

Багато вдосконалення курсору
Ctrl+D( Cmd+Dна Mac) вибирає наступне виникнення слова під курсором або поточного вибору
Ctrl+K Ctrl+Dпереміщує останній доданий курсор до наступного появи слова під курсором або поточного вибору
Команди використовують matchCase за замовчуванням. Якщо віджет пошуку відкритий, то налаштування віджета find (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як згадується в іншій відповіді .


20
Гарячі клавіши ? Я розумію, що це команда + клацання. Але це грубо .. не швидкий шлях :(
Кіба,

8
F2 або Ctrl + F2 можуть допомогти. Але не знайшли щось на кшталт Ctrl + D.
vilicvane

13
Alt + click, здається, не працює в Linux. Що для мене спрацювало Ctrl + shift + ліво / право / вгору / вниз
Йонатан Сімсон

18
alt + shift + натисніть на mac (2017)
Hoff

5
hmmm, ctrl + alt + вгору або вниз обертає мій екран (на win10) замість декількох курсорів
Reinsbrain

158

Багатослівні (та багаторядкові) курсори / виділення у VS Code

Багатомовне слово:

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 змушує ваш екран перевернутись догори дном? Як, наприклад, скільки користувачів потребувало цього, щоб мати гарячу клавішу? 🙄
gman

3
Щоб відключити тупу гарячу клавішу Intel, ви можете просто клацнути правою кнопкою миші на робочому столі> Параметри графіки> Гарячі клавіші> Вимкнути
alxgb

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-ode-code-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 (Кориця).
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 та CmdmacOS.
  • alt- Існуючий за замовчуванням Alt.

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

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

За допомогою виправлення випуску № 2106 тепер також можна видалити курсор, використовуючи той самий жест поверх існуючого вибору.


1
Я розібрався, чому Ctrl + click не працює. Не знав, що є можливість переключити його. :-)
ankush981

5
Налаштування editor.multiCursorModifierвід alt до ctrlCmd чудово працювало. Тепер все, що мені потрібно зробити, це ctrl + click, і він використовуватиме декілька курсорів :) Muchas gracias!
protoEvangelion

Я можу змінити на Ctrl + click, він працює, але для переходу до визначення класу або щось пропало, як я можу це виправити?
Вуонг Тран

Це найкорисніша відповідь. У більшості редакторів CTRL + клацання використовується для багаторазового вибору. Не потрібно змінювати поведінку ОС, щоб редактор працював. Цей параметр змінює поведінку для багаторазового вибору до найбільш часто використовуваного шаблону.
Ruby Racer

83

Спробуйте Ctrl+ Alt+ Shift+ ⬇ / ⬆без миші або утримуйте "alt" і натисніть на всі потрібні рядки.

Примітка : Тестовано в Windows.


21
CMD+ OPTION+ SHIFT+ ⬇ / ⬆працює для мене на Mac з версією 1.15.1.
Тайлер Колліер

2
У Windows 10 я можу це зробити безshift
Піні Чейні

2
Ви також можете використовувати сторінку вгору / вниз, щоб швидше йти!
Максим

без SHIFTцього він не працював для мене thx
BartusZak,

1
Я встановив Smart Multi-курсор розширення з деякими вдосконаленими функціями, за допомогою ярлика Cmd + Alt + (Вгору / Вниз), щоб створити мульти курсор.
Денні

47

Cmd+ Option+ Shift⬇ / ⬆працює для мене на найновішій VSCode 1.29.1 та найновішому OSX High Sierra 10.13.6, Macbook Pro.

Це додає вертикальну лінію вгору / вниз на екрані, як-от Option+ клацання / вертикальне перетягування в піднесеному тексті.

Щоб додати кілька курсорів у будь-які точки вашого файлу , включаючи декілька в одному рядку , зробіть 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 ( ctrl+ alt+ L/R) уSettings -> Window manager -> Keyboard


1
?? що тут XFCE?
Martian2049

1
@ Martian2049, це середовище робочого столу для Unix-подібних операційних систем (Linux, BSD тощо). Якщо ви цього ще не знаєте, напевно, моя відповідь не буде корисною для вас, перейдіть, перевірте інші відповіді.
лава-лава

Він працює після відключення easy_click для мене, дякуючи, що ви зберегли мій день.
Мохамед М. Хагаг

Це працює для мене. Я змінив у easy_click ALT на CTRL, оскільки ALT + click призначений для переміщення вікон.
millonesj

Приємна відповідь. Це працює для мене @ lava-lava.
abu abu

23

З версією Visual Studio Code версії 0.10.9 тепер ви можете зробити це створити декілька курсорів із вибраних рядків , вибравши кілька рядків та натиснувшиShift+Alt+I

Примітка. Це схоже на Sublime Text's 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" }
]

Чи можу я зробити його як мультикурсор, піднесений робить .. натискання на мишовик?
Мігель

@MigueI поки не знайшов способу зробити це
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)

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




4

У моєму XFCE (версія 4.12) він в Settings -> Window Manager Tweaks -> Accessibility .

Там випадає поле Key used to grab and move windows: , встановіть це значення None.

Alt + Клацніть, що працює у коді VS, щоб додати більше курсору.


4

Ви можете виконати наступне в меню Вибір:

Знімок екрана меню Вибір у коді VS

Натисніть / утримуйте 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 додасть курсор до наступного екземпляра вибраного вами. Наприклад, ім'я змінної або функції


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.