Wiele kursorów w programie Visual Studio Code [zamknięte]

578

Jak utworzyć wiele kursorów podczas edycji w VS Code? Interesuje mnie zarówno MacOS, jak i Windows.

Kiba
źródło
114
Przytrzymaj Altprzycisk i zacznij klikać w różnych miejscach. Otóż ​​to.
nazwa użytkownika
39
CMD + Alt + strzałka w dół jest tym, czego chcesz. stackoverflow.com/questions/30037808/…
Valentine Bondar
4
Jeśli używasz komputera Mac, SHIFT + CTRL + DÓŁ / GÓRA jest tym, czego faktycznie potrzebujesz od 1.14.2.
Ben Creasy
2
Wygląda też na to, że Cmd + Alt + Down jest domyślnie mapowany przez editor.action.goToDeclaration od 1.14.2
Ben Creasy
13
Szkoda, że ​​ludzie postanowili zamknąć temat, który jest tak oczywisty, że ma prawie 400 głosów i nadal ma odwiedzających prawie 4 lata po opublikowaniu. Chciałbym, żeby redaktorzy SO trochę się zrelaksowali i pozwolili społeczności rosnąć i zachęcać się nawzajem. Jestem ciekawy, jakie trafne odpowiedzi przyniosłyby wiedza 2019. :(
Mike Williamson

Odpowiedzi:

579

Naciśnij Alti kliknij. Działa to w systemach Windows i Linux * i powinno również działać na komputerach Mac.

Więcej funkcji wielu kursorów jest teraz dostępnych w Visual Studio Code 0.2:

Ulepszenia dotyczące wielu kursorów
Ctrl+D( Cmd+Dna Macu) wybiera następne wystąpienie słowa pod kursorem lub bieżącego zaznaczenia
Ctrl+K Ctrl+Dprzenosi ostatnio dodany kursor do następnego wystąpienia słowa pod kursorem lub bieżącego wyboru
Polecenia domyślnie używają matchCase. Jeśli widżet znajdowania jest otwarty, ustawienia widżetu znajdowania (matchCase / matchWholeWord) zostaną użyte do określenia następnego wystąpienia
Ctrl+U( Cmd+Una Macu) cofają ostatnią akcję kursora, więc jeśli dodałeś kursor za dużo lub popełniłeś błąd, możesz naciśnij Ctrl+U( Cmd+Una Macu), aby wrócić do poprzedniego stanu kursora. Dodawanie kursora w górę lub w dół ( Ctrl+Alt+Up/ Ctrl+Alt+Down) ( Cmd+Alt+Up/Cmd+Alt+Down na Macu) odsłania ostatnio dodany kursor, aby ułatwić pracę z wieloma kursorami na więcej niż 1 wysokości rzutni jednocześnie (tj. wybierz 300 linii i tylko 80 pasuje do rzutni).

To znacznie ułatwia wprowadzanie wielu kursorów

* Konflikt przeciągania okna w systemie Linux:

Niektóre dystrybucje (np. Ubuntu) przypisują przeciąganie do okna Alt+LeftMouse, co spowoduje konflikt z VSCode.

Tak więc najnowsze wersje VSCode pozwalają przełączać się między menu wyboru Alt+LeftMousei Ctrl+LeftMousepod nim, jak opisano w innej odpowiedzi .

Alternatywnie możesz zmienić przypisania klawiszy systemu operacyjnego, gsettingsjak wspomniano w innej odpowiedzi .

vilicvane
źródło
20
Skróty klawiszowe ? Rozumiem, że to polecenie + kliknięcie. Ale to obrzydliwe ... nie szybki sposób :(
Kiba
8
F2 lub Ctrl + F2 mogą pomóc. Ale nie znalazłem czegoś takiego jak Ctrl + D.
vilicvane
13
Alt + kliknięcie nie działa w systemie Linux. To, co zadziałało, to Ctrl + Shift + Lewo / Prawo /
Góra
18
alt + shift + kliknięcie na mac (2017)
Hoff
5
hmmm, ctrl + alt + góra lub dół obraca ekran (na win10) zamiast wielu kursorów
Reinsbrain
157

Kursory / wybór wielu słów (i wielu wierszy) w kodzie VS

Wiele słów:

Windows / OS X:

  • Ctrl+Shift+L/ ⌘+Shift+Lwybiera wszystkie wystąpienia aktualnie podświetlonego słowa
  • Ctrl+D/ ⌘+Dwybiera następną instancję ... i następną ... itd.

Wieloliniowy:

W przypadku wyboru wielu liniiCtrl+Alt+Down / ⌘+Alt+Shift+Downspowoduje rozszerzenie wyboru lub pozycji kursora do następnego wiersza. Ctrl+Right/ ⌘+Rightprzesunie się na koniec każdej linii, bez względu na to, jak długo. Aby uciec od wyboru wielu linii, naciśnij Esc.

Zobacz skróty klawiszowe VS Code (wrażliwe na system operacyjny)

Dave Everitt
źródło
15
Ha ha na mojej maszynie sterownik wideo Intel ma skrót klawiszowy Ctrl-Alt-Down, aby ekran odwrócił się do góry nogami. Złapałem mnie z
tropu:)
3
Dlaczego to nie to samo, co SSMS (i prawdopodobnie Visual Studio), który używa Shift-Alt-Down / Up, a nie Ctrl-Alt-Down ???
Reversed Engineer
@DaveBoltman - Nie wiem! Ale możesz dostosować skróty klawiszowe.
Dave Everitt,
2
Ctrl-Alt-Down sprawia, że ​​ekran się odwraca? Na przykład ilu użytkowników potrzebowało tego na klawiszu dostępu? 🙄
gman
3
Aby wyłączyć głupi skrót klawiszowy Intela, wystarczy kliknąć prawym przyciskiem myszy na pulpicie> Opcje graficzne> Skróty klawiszowe> Wyłącz
alxgb
138

Miałem problem z klawiszem ALT, poprawka polega na zmianie alt+clickjako skrótu Gnome, który blokuje wybór wielu kursorów w VSCode, super+clickuruchamiając:

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

Źródło: http://2buntu.com/articles/1529/visual-studio-code-come-to-linux/

Ivan Ermilov
źródło
7
+1 ta metoda działa! Właśnie zweryfikowałem to z Ubuntu 14.04.05 .. Wcześniej próbowałem dconf-editori CompizConfigzmieniłem konfigurację wtyczki „przenieś okno” i zepsułem i prawie zepsułem moje Ubuntu.
Dimitry K
2
Działa to w Ubuntu!
jonan.pineda
11
Użyj gsettings set org.cinnamon.desktop.wm.preferences mouse-button-modifier "<Super>"do Linux Mint (cynamon).
vossad01
Niesamowite! Działa na Ubuntu 16.04.
Bruno Gomes
1
Jeśli nie chcesz zmieniać ustawień domyślnych systemu, możesz także użyć opcji „Wybór> Przełącz na CTRL + kliknij, aby wybrać Multi-Cursor”. Działa to w Linux Mint, więc powinno działać również w Ubuntu.
lsblsb
125

Maj 2017
Począwszy od wersji 1.13 Dodaj wiele kursorów za pomocą Ctrl/ Cmd+Click

VSCodeprogramiści wprowadzili nowe ustawienie, editor.multiCursorModifieraby zmienić klawisz modyfikujący do zastosowania wielu kursorów do Cmd+ Clickna macOS i Ctrl+ Clickna Windows i Linux. Dzięki temu użytkownicy pochodzący z innych edytorów, takich jak Sublime Text lub Atom, mogą nadal używać znanego modyfikatora klawiatury.

Ustawienie można ustawić na:

  • ctrl/Cmd- Mapy do Ctrlw systemie Windows i CmdmacOS.
  • alt- Istniejące domyślne Alt.

Jest też nowy element menu Użyj Ctrl+ Clickdo Multi-Cursorw Selectionmenu szybkiego przełączania tego ustawienia. wprowadź opis zdjęcia tutaj

Go definicji i Otwórz link gesty będą również przestrzegać tego ustawienia i dostosować tak, że nie są one sprzeczne. Na przykład, gdy ustawienie jest ustawione ctrl/Cmd, wiele kursorów można dodać za pomocą Ctrl/ Cmd+ Click, a otwieranie łączy lub przejście do definicji można wywołać za pomocą Alt+ Click.

Dzięki rozwiązaniu problemu nr 2106 można teraz również usunąć kursor, używając tego samego gestu na istniejącym zaznaczeniu.

Taras Jaremkiw
źródło
1
Szalałem, dlaczego Ctrl + kliknięcie nie działa. Nie wiedziałem, że istnieje możliwość przełączenia. :-)
ankush981
5
Ustawienie editor.multiCursorModifierz alt na ctrlCmd działało świetnie. Teraz wszystko, co muszę zrobić, to ctrl + kliknięcie i użyje wielu kursorów :) Muchas gracias!
protoEvangelion
Mogę zmienić na Ctrl + kliknięcie, to działa, ale aby przejść do definicji klasy lub czegoś już nie ma, jak to naprawić?
Vuong Tran
To jest najbardziej pomocna odpowiedź. W większości edytorów CTRL + kliknięcie służy do wielokrotnego wyboru. Nie ma potrzeby modyfikowania zachowania systemu operacyjnego, aby edytor działał. Ta opcja modyfikuje zachowanie wielokrotnego wyboru do najczęściej używanego wzorca.
Ruby Racer
83

Spróbuj Ctrl+ Alt+ Shift+ ⬇ / ⬆bez myszy lub przytrzymaj „alt” i kliknij wszystkie żądane linie.

Uwaga : Przetestowano w systemie Windows.

Erivan
źródło
21
CMD+ OPTION+ SHIFT+ ⬇ / ⬆działa dla mnie na Macu z wersją 1.15.1.
Tyler Collier,
2
W systemie Windows 10 mogę to zrobić bezshift
Pini Cheyni
2
Możesz także użyć strony w górę / w dół, aby przejść szybciej!
Maxime,
bez SHIFTtego nie działało dla mnie dzięki
BartusZak,
1
Zainstalowałem rozszerzenie Smart Multi-kursor z niektórymi zaawansowanymi funkcjami, ze skrótem Cmd + Alt + (góra / dół), aby utworzyć multi-kursor.
Danny
47

Cmd+ Option+ Shift⬇ / ⬆działa dla mnie na najnowszym VSCode 1.29.1 i najnowszym OSX High Sierra 10.13.6, Macbook Pro.

Dodaje pionową linię w górę / w dół na ekranie, tak jak Option+ Kliknij / Przeciągnij w pionie w Podniosły tekst.

Aby dodać wiele kursorów w dowolnym punkcie pliku , w tym wielu w tej samej linii , zrób Cmd (or Option)+ Kliknij gdziekolwiek chcesz, pokazane na tym filmie . Możesz także wyszukać tekst ( Cmd+ F), który powtarza się wiele razy, a następnie naciśnij Option+, Returnaby dodać kursory na końcu KAŻDEGO słowa.

Raymond Gan
źródło
30

W systemie Ubuntu , aby umożliwić klikanie wieloma kursorami, musisz najpierw przypisać Alt + kliknięcie, uruchamiając poniższe polecenie. Jest tak, ponieważ domyślnie Ubuntu używa samego skrótu i ​​ma on pierwszeństwo.

> gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>"
Valentin Miculit
źródło
25

W XFCE przejdź do Applications -> Settings -> Settings editor - > xfwm4 -> easy_click(disable value)

Teraz możesz za Insert Cursorpomocą Alt+ Click

Wyłączyłem także ustawienia L / R Workspace ( ctrl+ alt+ L/R) wSettings -> Window manager -> Keyboard

lawa-lawa
źródło
1
?? czym jest tutaj XFCE?
Martian2049,
1
@ Martian2049, to środowisko pulpitu w systemach operacyjnych typu Unix (Linux, BSD itp.). Jeśli jeszcze tego nie wiesz, prawdopodobnie moja odpowiedź nie będzie dla ciebie przydatna, sprawdź inne odpowiedzi.
lava-lava
Działa po wyłączeniu dla mnie easy_click, dzięki czemu uratowałeś mi dzień.
Mohamed M. Hagag,
To działa dla mnie. Zmieniłem w easy_click ALT na CTRL, ponieważ ALT + kliknięcie służy do przenoszenia okien.
millonesj
Niezła odpowiedź. To działa dla mnie @ lava-lava.
abu abu
18

Nie ma żadnego powiązania z dokładnie tym, czego chcesz.

Jedyną rzeczą, która się zbliża, jest Ctrl+, F2która wybierze wszystkie z nich jednocześnie.

Możesz powiązać go z Ctrl+, Dwykonując następujące czynności:

  • Kliknij File > Preferences > Keyboard Shortcuts
    Powinieneś zobaczyć panel pełen bieżących powiązań, a po prawej stronie listę niestandardowych powiązań
  • W bieżących powiązaniach wyszukaj Ctrl+ F2i skopiuj całą linię i wklej ją do prawego panelu.
  • Może być konieczne usunięcie przecinka na końcu, a następnie zmiana Ctrl+ F2na Ctrl+, Da następnie zapisanie pliku.

Powinno to wyglądać mniej więcej tak:

// Place your key bindings in this file to overwrite the defaults
[
{ "key": "ctrl+d",               "command": "editor.action.changeAll",
                                    "when": "editorTextFocus" }
]
intrepion
źródło
Czy mogę sprawić, by był wielokulturowy, wysublimowany .. naciskając kółko myszy?
Miguel
@Migue Nie znalazłem jeszcze sposobu na zrobienie tego
intrepion
Jeśli nie chcesz wyszukiwać i zamieniać, jest to najbardziej efektywny sposób, jeśli masz tysiące wierszy do edycji w tym samym czasie! DZIĘKI !
Link
10

Ctrl+ Alt+ ⬇ / ⬆dodaj kursory powyżej i poniżej bieżącej linii. Nadal jednak nie tak dobre jak wysublimowane lub nawiasy klamrowe. Nie widzę niczego równoważnego Ctrl+ Dw wzniosłości w pliku skrótów klawiaturowych.

mutex
źródło
3
W przypadku komputerów Mac to: Alt + Commandi strzałka w górę lub w dół.
Leniel Maccaferri
Na Ubuntu jest toCtrl+Shift+Up/Down
tobalr
W systemie Windows domyślnie wydaje się to „obracać ekran”.
BlaM
1
Jeśli obraca ekran, to jest to sterownik grafiki, a nie Windows. Możesz wyłączyć ten skrót w ustawieniach grafiki.
Daniel
9

https://code.visualstudio.com/Updates

Nowa wersja (Visual Studio 0.3.0) obsługuje więcej funkcji wielu kursorów.

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).

I skrót do zmiany wielu kursorów na cmd + d (to samo co Sublime Text. Lol)

Możemy się spodziewać, że następna wersja obsługuje wygodniejszą funkcję dotyczącą wielu kursorów;)

HyoJin KIM
źródło
7

W Visual Studio bez myszy: Alt+ Shift+ { Arrow }.

multiprogram
źródło
2
Alt+Shift+{ Arrow }. spowoduje skopiowanie bieżącej linii według kodu VS V1.18.0
Adarsh ​​Madrecha,
4

W moim XFCE (wersja 4.12) jest Settings -> Window Manager Tweaks -> Accessibility.

Jest rozwijane pole Key used to grab and move windows:, ustaw to na None.

Alt + Kliknij teraz działa w VS Code, aby dodać więcej kursora.

Yahya
źródło
4

W menu Wybór możesz wykonać następujące czynności:

Zrzut ekranu menu Wybór w VS Code

Naciśnij / przytrzymaj Alt+Ctrl+Up Arrow/ Alt+Ctrl+Down Arrow zgodnie z wymaganiami, aby utworzyć wystarczającą liczbę kursorów, a następnie Ctrl+Dmożna go użyć do rozszerzenia wyboru.

David Metcalfe
źródło
3

Ten sam problem na Ubuntu-MATE, ale tutaj rozwiązujesz go przez:

gsettings set org.mate.Marco.general mouse-button-modifier "<Super>"
Naoe
źródło
2

Alt + Command + Shift doda kursor do następnego wystąpienia wybranego elementu. Np. Nazwa zmiennej lub funkcji

Tanner James
źródło
-3

Alt + Click działa w OSX. Wersja kodu 1.14.2

lickybuay
źródło