Più cursori nel codice di Visual Studio [chiuso]


580

Come è possibile creare più cursori durante la modifica in VS Code? Sono interessato sia a macOS che a Windows.


114
Tieni premuto il Altpulsante e inizia a fare clic in luoghi diversi. Questo è tutto.
nome utente

41
CMD + Alt + Freccia giù è quello che vuoi. stackoverflow.com/questions/30037808/…
Valentine Bondar il

4
Se stai usando un mac, MAIUSC + CTRL + GIÙ / SU è quello che vuoi effettivamente a partire da 1.14.2.
Ben Creasy,

2
Inoltre, sembra che Cmd + Alt + Down sia mappato da editor.action.goToDeclaration per impostazione predefinita a partire da 1.14.2
Ben Creasy,

15
È un peccato che la gente abbia deciso di chiudere un argomento di così ovvio interesse che ha quasi 400 voti e ha ancora visitatori circa 4 anni dopo la pubblicazione. Vorrei che gli editor SO si rilassassero un po 'e lasciassero crescere la community e incoraggiarsi a vicenda. Sono curioso di sapere quali risposte pertinenti emergerebbero con la conoscenza del 2019. :(
Mike Williamson,

Risposte:


580

Premi Alte clicca. Funziona su Windows e Linux * e dovrebbe funzionare anche su Mac.

Altre funzionalità multi-cursore sono ora disponibili in Visual Studio Code 0.2:

Miglioramenti del cursore multiplo
Ctrl+D( Cmd+Dsu Mac) seleziona la ricorrenza successiva della parola sotto il cursore o della selezione corrente
Ctrl+K Ctrl+Dsposta l'ultimo cursore aggiunto alla ricorrenza successiva della parola sotto il cursore o della selezione corrente
I comandi usano matchCase per impostazione predefinita. Se il widget di ricerca è aperto, le impostazioni del widget di ricerca (matchCase / matchWholeWord) verranno utilizzate per determinare la ricorrenza successiva
Ctrl+U( Cmd+Usu Mac) annulla l'ultima azione del cursore, quindi se hai aggiunto un cursore troppo o hai commesso un errore, puoi premi Ctrl+U( Cmd+Usu Mac) per tornare allo stato precedente del cursore. Aggiunta del cursore verso l'alto o verso il basso ( Ctrl+Alt+Up/ Ctrl+Alt+Down) ( Cmd+Alt+Up/Cmd+Alt+Down su Mac) ora rivela l'ultimo cursore aggiunto per semplificare il lavoro con più cursori su più di 1 altezza della finestra alla volta (ovvero selezionare 300 righe e solo 80 in forma nella finestra).

Ciò rende molto più semplice l'introduzione di più cursori

* Conflitto della finestra di trascinamento di Linux:

Alcune distro (ad esempio Ubuntu) assegnano il trascinamento della finestra a Alt+LeftMouse, che entrerà in conflitto con VSCode.

Pertanto, le versioni recenti di VSCode ti consentono di alternare tra Alt+LeftMousee Ctrl+LeftMousenel menu Selezione, come descritto in dettaglio in un'altra risposta .

In alternativa, è possibile modificare i collegamenti dei tasti del SO utilizzando gsettingscome indicato in un'altra risposta .


20
Tasti rapidi ? Capisco che si tratta di comando + clic. Ma è disgustoso .. non è un modo rapido :(
Kiba

8
F2 o Ctrl + F2 possono aiutare. Ma non ho trovato qualcosa come Ctrl + D.
vilicvane,

13
Alt + clic non sembra funzionare su Linux. Quello che ha funzionato per me è stato Ctrl + Maiusc + Sinistra / Destra / Su / Giù
Yonatan Simson

18
alt + maiusc + clic su mac (2017)
Hoff,

5
hmmm, ctrl + alt + su o giù ruota il mio schermo (su win10) invece del cursore multiplo
Reinsbrain

159

Cursori / selezione multi-word (e multi-line) in VS Code

Multi parola:

Windows / OS X:

  • Ctrl+Shift+L/ ⌘+Shift+Lseleziona tutte le istanze della parola evidenziata corrente
  • Ctrl+D/ ⌘+Dseleziona l'istanza successiva ... e quella successiva ... ecc.

Multi-line:

Per la selezione su più righe , Ctrl+Alt+Down/ ⌘+Alt+Shift+Downestenderà la selezione o la posizione del cursore alla riga successiva. Ctrl+Right/ ⌘+Rightsi sposterà alla fine di ogni riga, non importa per quanto tempo. Per uscire dalla selezione multilinea, premi Esc.

Vedi le combinazioni di tasti VS Code (sensibile al sistema operativo)


15
Ah ah sulla mia macchina il driver video Intel ha un tasto di scelta rapida Ctrl-Alt-Giù per rendere lo schermo capovolto. Mi ha
colto di sorpresa:)

3
Perché non è lo stesso di SSMS (e presumibilmente Visual Studio), che usa Maiusc-Alt-Giù / Su, non Ctrl-Alt-Giù ???
Ingegnere invertito

@DaveBoltman - Non lo so! Ma puoi personalizzare le combinazioni di tasti.
Dave Everitt,

2
Ctrl-Alt-Giù rende lo schermo capovolto? Ti piace quanti utenti ne avevano bisogno per avere un tasto di scelta rapida? G
gman

3
Per disabilitare il tasto di scelta rapida Intel stupido, puoi semplicemente fare clic destro sul desktop> Opzioni grafiche> Tasti di scelta rapida> Disabilita
alxgb

138

Ho avuto problemi con il tasto ALT, la correzione è di cambiare alt+clickcome tasto di scelta rapida Gnome che blocca la selezione multi-cursore in VSCode, super+clickeseguendo:

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

Fonte: http://2buntu.com/articles/1529/visual-studio-code-comes-to-linux/


7
+1 questo metodo funziona! Basta verificato con Ubuntu 14.04.05 .. All'inizio ho provato dconf-editore CompizConfigper modificare le configurazioni plugin "finestra Move" e incasinato e quasi rotto il mio Ubuntu.
Dimitry K,

2
Questo funziona in Ubuntu!
jonan.pineda,

11
Utilizzare gsettings set org.cinnamon.desktop.wm.preferences mouse-button-modifier "<Super>"per Linux Mint (Cannella).
vossad01,

Eccezionale! Funziona su Ubuntu 16.04.
Bruno Gomes,

1
Se non si desidera toccare le impostazioni predefinite del sistema, è possibile utilizzare anche "Selezione> Passa a CTRL + clic per cursore multiplo". Funziona con Linux Mint, quindi dovrebbe funzionare anche con Ubuntu.
lsblsb

125

Maggio 2017
Dalla versione 1.13 Aggiungi più cursori con Ctrl/ Cmd+Click

VSCodegli sviluppatori hanno introdotto una nuova impostazione editor.multiCursorModifierper modificare il tasto modificatore per applicare più cursori a Cmd+ Clicksu macOS e Ctrl+ Clicksu Windows e Linux. Ciò consente agli utenti che provengono da altri editor come Sublime Text o Atom di continuare a utilizzare il modificatore di tastiera con cui hanno familiarità.

L'impostazione può essere impostata su:

  • ctrl/Cmd- Mappe su Ctrlsu Windows e Cmdsu macOS.
  • alt- L'impostazione predefinita esistente Alt.

C'è anche una nuova voce di menu Usa Ctrl+ Clickper Multi-Cursornel Selectionmenu per attivare rapidamente questa impostazione. inserisci qui la descrizione dell'immagine

Anche i gesti Vai alla definizione e Apri collegamento rispetteranno questa impostazione e si adatteranno in modo tale da non essere in conflitto. Ad esempio, quando l'impostazione è ctrl/Cmd, è possibile aggiungere più cursori con Ctrl/ Cmd+ Clicke aprire i collegamenti o passare alla definizione con Alt+ Click.

Con la correzione del problema n. 2106, è ora possibile rimuovere anche un cursore usando lo stesso gesto sopra una selezione esistente.


1
Stavo impazzendo sul perché Ctrl + clic non funzionava. Non sapevo che ci fosse un'opzione per attivarlo. :-)
ankush981

5
L'impostazione editor.multiCursorModifierda alt a ctrlCmd ha funzionato alla grande. Ora tutto ciò che devo fare è ctrl + clic e utilizzerà più cursori :) Muchas gracias!
protoEvangelion,

Posso passare a Ctrl + clic, funziona, ma per andare alla definizione di classe o qualcosa è andato, come posso risolvere?
Vuong Tran,

Questa è la risposta più utile Nella maggior parte degli editor, CTRL + clic viene utilizzato per la selezione multipla. Non è necessario modificare il comportamento del sistema operativo per far funzionare un editor. Questa opzione modifica il comportamento per la selezione multipla al modello più comunemente usato.
Ruby Racer,

83

Prova Ctrl+ Alt+ Shift+ ⬇ / ⬆, senza mouse, oppure tieni premuto "alt" e fai clic su tutte le linee che desideri.

Nota : testato su Windows.


21
CMD+ OPTION+ SHIFT+ ⬇ / ⬆funziona per me su Mac con la versione 1.15.1.
Tyler Collier,

2
Su Windows 10 sono in grado di farlo senzashift
Pini Cheyni il

2
Puoi anche usare la pagina su / giù per andare più veloce!
Maxime

senza di SHIFTessa non funzionava per me grazie
BartusZak,

1
Ho installato l' estensione Smart multi-cursore con alcune funzionalità avanzate, con scorciatoia Cmd + Alt + (Su / Giù) per creare il multi-cursore.
Danny,

47

Cmd+ Option+ Shift⬇ / ⬆funziona per me sul più recente VSCode 1.29.1 e sul più recente OSX High Sierra 10.13.6, Macbook Pro.

Ciò aggiunge una linea verticale su / giù sullo schermo, come fa Option+ Clic / Trascinamento verticale nel testo sublime.

Per aggiungere più cursori in qualsiasi punto del file , inclusi più cursori sulla stessa riga , fai Cmd (or Option)+ Fai clic ovunque desideri, mostrato in questo video . Puoi anche cercare il testo ( Cmd+ F) che si ripete più volte, quindi premi Option+ Returnper aggiungere i cursori alla fine di OGNI parola.


30

Su Ubuntu , per abilitare il clic multi-cursore dovrai prima riassegnare Alt + clic, eseguendo il comando qui sotto. Questo perché per impostazione predefinita Ubuntu utilizza il collegamento stesso e ha la precedenza.

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

25

Su XFCE, vai a Applications -> Settings -> Settings editor - > xfwm4 -> easy_click(disable value)

Ora puoi farlo Insert Cursorcon Alt+ Click

Ho anche disabilitato le impostazioni di L / R Workspace ( ctrl+ alt+ L/R) inSettings -> Window manager -> Keyboard


1
?? che cos'è XFCE qui?
Martian2049,

1
@ Martian2049, è un ambiente desktop su sistemi operativi simili a Unix (Linux, BSD ecc.). Se non lo sai ancora, probabilmente la mia risposta non ti sarà utile, vai a controllare altre risposte.
lava-lava

Funziona dopo aver disabilitato easy_click per me, grazie per avermi salvato la giornata.
Mohamed M. Hagag,

Funziona per me. In easy_click ho cambiato ALT in CTRL perché ALT + clic serve per spostare le finestre.
millonesj,

Bella risposta. Funziona per me @ lava-lava.
abu abu,


18

Non c'è nessun legame per esattamente quello che vuoi.

L'unica cosa che si avvicina è Ctrl+ F2che li selezionerà tutti in una volta.

Puoi associarlo a Ctrl+ Dfacendo quanto segue:

  • Fai clic su File > Preferences > Keyboard Shortcuts
    Dovresti vedere un riquadro pieno dei collegamenti correnti e sulla destra un elenco di collegamenti personalizzati
  • Nelle associazioni correnti, cerca Ctrl+ F2e copia l'intera riga e incollala nel riquadro destro.
  • Potrebbe essere necessario rimuovere la virgola alla fine e quindi cambiare Ctrl+ F2in Ctrl+ De quindi salvare il file.

Dovrebbe assomigliare a qualcosa di simile a questo:

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

Posso renderlo multicursore come, sublime fa ... premendo la rotellina del mouse?
Miguel,

@Migue Non ho ancora trovato un modo per farlo
intrepion

Quando non vuoi cercare e sostituire, questo è il modo più efficace se hai migliaia di righe da modificare contemporaneamente! GRAZIE !
Link

10

Ctrl+ Alt+ ⬇ / ⬆aggiungi i cursori sopra e sotto la riga corrente. Tuttavia, non è affatto buono come il sublime o le parentesi. Non riesco a vedere nulla di equivalente a Ctrl+ Din sublime nel file delle scorciatoie da tastiera.


3
Per Mac è: Alt + Commande freccia su o giù.
Leniel Maccaferri,

Su Ubuntu questo èCtrl+Shift+Up/Down
tobalr

In Windows che sembra predefinito "ruotare lo schermo".
BlaM,

1
Se ruota lo schermo, questo è il driver grafico, non Windows. È possibile disabilitare quel collegamento dalle impostazioni grafiche.
Daniel,

9

https://code.visualstudio.com/Updates

La nuova versione (Visual Studio 0.3.0) supporta più funzionalità multi-cursore.

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

E la scorciatoia di selezione multi cursore si trasforma in cmd + d (è uguale a Sublime Text. Lol)

Possiamo aspettarci che la prossima versione supporti funzionalità più convenienti sul multi cursore;)




4

Nel mio XFCE (versione 4.12), è dentro Settings -> Window Manager Tweaks -> Accessibility.

C'è un campo a discesa Key used to grab and move windows:, impostalo su None.

Alt + Fare clic su funziona ora in VS Code per aggiungere più cursore.


4

È possibile effettuare le seguenti operazioni dal menu Selezione:

Schermata del menu Selezione in VS Code

Premere / tenere premuto Alt+Ctrl+Up Arrow/ Alt+Ctrl+Down Arrow come richiesto per creare cursori sufficienti, quindi Ctrl+Dpuò essere utilizzato per espandere le selezioni.


3

Stesso problema su Ubuntu-MATE, ma qui lo risolvi:

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

2

Alt + Comando + Maiusc aggiungerà un cursore all'istanza successiva di ciò che hai selezionato. Ad esempio un nome di variabile o funzione


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.