Selezione multipla in Visual Studio?


90

C'è un modo per selezionare più testi non contigui (totalmente separati) in VS? Posso farlo in MS Word selezionando i testi separatamente tenendo premuto il pulsante Ctrl, in questo modo:

inserisci qui la descrizione dell'immagine

La mia versione è la 11.

Modifica: non sto parlando della Alt+Selectselezione dei blocchi. Inoltre mi piacerebbe vedere se esiste una tecnica in Notepad ++.


1
Stai chiedendo di Visual Studio 2012 o Notepad ++?
Oded

@Oded Ho pensato che fosse ovvio che la domanda riguardasse VS (incluso anche nel titolo). La cosa su Notepad ++ era una domanda bonus.
nawfal

2
Per quanto ne so, neanche questo è possibile.
Oded


A seconda di cosa vuoi fare con la selezione, potresti essere in grado di ottenere il risultato finale con una ricerca regex / stringa.
MA

Risposte:


96

La modifica multi cursore è supportata in modo nativo in Visual Studio a partire dalla versione 2017 Update 8. Di seguito è riportato un estratto della documentazione :

  • Ctrl+ Alt+ clic: aggiungi un accento circonflesso secondario
  • Ctrl+ Alt+ doppio clic: aggiunge una selezione di parole secondarie
  • Ctrl+ Alt+ clic + trascina: aggiunge una selezione secondaria
  • Shift+ Alt+ .: Aggiunge il successivo testo corrispondente come selezione
  • Shift+ Alt+ ;: Aggiunge tutto il testo corrispondente come selezioni
  • Shift+ Alt+ ,: Rimuove l'ultima occorrenza selezionata
  • Shift+ Alt+ /: Salta l'occorrenza successiva corrispondente
  • Alt + clic: aggiungi una casella di selezione
  • Esc oppure fare clic su: Cancella tutte le selezioni

Alcuni di questi comandi sono disponibili anche nel Editmenu:

Menu con più accenti


1
Non vedo queste opzioni utilizzando 2017 ver 15.9.3
Urasquirrel

Sembra che nella versione 15.9.3 i comandi nel menu siano solo i primi due.
Gian Marco


2
Mi chiedo se riusciranno mai a fornire un supporto multi-cursore appropriato come JetBrains già da anni. Prova a fare un paio di accenti circolari, seleziona una parola, quindi copia e incolla. VS incolla il doppio (cioè incolla l'intera selezione eseguita con entrambi i caret per ogni accento circonflesso. Non riesco a immaginare quando questo potrebbe essere un comportamento desiderabile. Dovrebbero incollarlo solo una volta. Inoltre, JetBrains ha la scorciatoia CTRL + CTRL, che consente di aggiungere accenti quando si premono le frecce su o giù (a tempo indeterminato, mentre è premuto CTRL). È solo molto più produttivo dell'implementazione di VS a questo punto.
obe

@obe o come sublime. Il modo in cui è attualmente supportato non è di alcuna utilità per me.
shashwat

55

C'è una nuova estensione per Visual Studio 2017 chiamata SelectNextOccurrence che è gratuita e open-source.

Questa estensione consente di selezionare le occorrenze successive di un testo selezionato per la modifica.

Mira a replicare il comando Ctrl + D di Sublime Text per una codifica più rapida.

Caratteristiche:

  • Seleziona l'occorrenza successiva della selezione corrente.
  • Salta l'occorrenza
  • Annulla occorrenza
  • Aggiungi un accento circonflesso sopra / sotto
  • Usa più accenti per modificare ( Alt-clic per aggiungere accento circonflesso)

Comandi di Visual Studio:

  • SelectNextOccurrence.SelectNextOccurrenceè associato a Ctrl+ Dper impostazione predefinita.
  • SelectNextOccurrence.SkipOccurrencenon è vincolato per impostazione predefinita. (Consigliato Ctrl+ K, Ctrl+ D)
  • SelectNextOccurrence.UndoOccurrencenon è vincolato per impostazione predefinita. (Consigliato Ctrl+ U)
  • SelectNextOccurrence.AddCaretAbovenon è vincolato per impostazione predefinita. (Consigliato Ctrl+ Alt+ Up)
  • SelectNextOccurrence.AddCaretBelownon è vincolato per impostazione predefinita. (Consigliato Ctrl+ Alt+ Down)

Selezionare le opzioni di evento successivo

https://marketplace.visualstudio.com/items?itemName=thomaswelen.SelectNextOccurrence

https://github.com/2mas/SelectNextOccurrence


1
Perfetto! Questo è l'unico. La selezione multipla e il cursore funzionano molto bene. Testato con VS Community 2017.
Dave

1
@ Dave sì, questa estensione è fantastica. Considera l'idea di dare una buona recensione e / o di interpretare il progetto GitHub se lo trovi utile.
Drew Noakes il

Grazie per aver trovato questa estensione! MixEdit funzionava ma non era ottimizzato per VS2017 e quel popup di prova era anti-produttivo.
Bill N.

Non ha funzionato per me. welp, non so cosa mi aspettavo da ms.
Bersan

Ottima soluzione, solo per notare che ho anche dovuto rimuovere le associazioni di tasti predefinite dal Edit.Duplicatemomento che venivano ancora rispettate anche quando si aggiungevano Ctrl+Dalle associazioni di tasti per SelectNextOccurrence. Scorciatoie predefinite VS 2019: docs.microsoft.com/en-us/visualstudio/ide/…
Brandon Franklin

31

In Visual Studio Shift+Alt+. / Shift+Alt+,

  • Shift+Alt+. - accento circonflesso;
  • Shift+Alt+, - rimuovere il cursore precedente;

Stessa funzione di VSCode Ctrl+D.

Molto più ambientazione Tool - Options - Environment - keyboard. Avanti Show commands containingnell'entrata Edit..

Inoltre, può utilizzare lo schema della tastiera Visual Studio Code. Disponibile per Visual Studio 2017

Per concludere, bel link Visual Studio Tutte le scorciatoie da tastiera


1
Grazie per la tua risposta, gentile utente di Internet.
Urasquirrel

3
Bella risposta. Avevamo solo bisogno dei comandi. Non capisco perché tutti hanno dato risposte così lunghe, lol. grazie
Javi

22

L' estensione MixEdit per Visual Studio ti consente di eseguire il multiediting nel modo in cui stai descrivendo. Supporta più accenti e più selezioni.


8
Se stai cercando qualcosa come il testo Sublime, è questo!
Kenial

2
Nel caso qualcuno si stia chiedendo, il modo per ottenere la multi-selezione in MixEdit è fare doppio clic sulle parole dopo aver premuto Alt. Lo stesso di MS Word, tranne che è Altqui invece di Ctrl. MixEdit ha anche molte altre utili opzioni di selezione multipla. Tieni presente che è gratuito solo per la valutazione!
nawfal

2
Non posso più acquistare una licenza MixEdit. Controlla il sito web . Hai idea di come posso concederlo in qualche modo e sbarazzarmi del fastidioso popup?
vullnetyy

3
questa estensione non è gratuita !!
Diogo Cid

6
ci sono alternative gratuite o con possibilità di acquisto in modo da non dover ricevere quel fastidioso avviso? o possibilità di rimuoverlo da MixEdit se non è possibile acquistarlo
Sonic Soul


14

In Visual Studio 2019, puoi inserire il cursore nel punto giusto e quindi premere MAIUSC ALT e. (punto). Questo selezionerà l'occorrenza successiva.


7

Solo per notare,

MixEdit non è completamente gratuito.

"Questo software non è attualmente concesso in licenza a nessun utente ed è in esecuzione in modalità di valutazione. MIXEDIT può essere scaricato e valutato gratuitamente, tuttavia è necessario acquistare una licenza per un uso continuato."

Al momento dell'installazione e dell'utilizzo, un popup reindirizza alla pagina Web , simile al messaggio popup del software senza licenza di SublimeText.


2
e ora non puoi nemmeno comprarlo. viene semplicemente visualizzata la finestra di avviso che richiede la licenza
Sonic Soul

6

Per Visual Studio Code

Sono arrivato a questa domanda perché stavo cercando un modo per selezionare più parole con un clic del mouse su VS Code, che dovrebbe essere ottenuto utilizzando alt+click, ma questa combinazione di tasti non funzionava (penso che sia qualcosa correlato al mio sistema operativo, Ubuntu ).

Per chiunque cerchi qualcosa di simile, prova a cambiare la chiave in ctrl+click.

Vai a Selection>Switch to Ctrl+Click for Multi Cursor


Sicuro di non parlare di VS Code?
nawfal

Sì, lo sono ... Devo cancellarlo o semplicemente il titolo come "per vs codice"? Stavo cercando il codice quando sono arrivato qui
jpenna

2
non c'è bisogno di cancellare, sarà utile per gli altri. Menzionalo nella risposta.
nawfal

6

Aggiornamento: l' estensione MixEdit ora fornisce questa capacità.

L' estensione MultiEdit per VS consente qualcosa di simile (non supporta più selezioni al momento della stesura di questo documento, solo più accenti circolari)

Vai da Hanselman per una rapida gif animata di questo in azione: Modifica simultanea per Visual Studio con l'estensione gratuita MultiEdit


1
Questa estensione non supporta selezioni multiple, come richiesto nella domanda originale. L' estensione MixEdit fa.
mcw

2
MixEdit non esisteva quando l'OP ha pubblicato la sua domanda. Ho risposto al meglio delle mie conoscenze.
Mrchief

5

Non sono riuscito a trovare nulla integrato, il che è triste. Tuttavia, c'è questa funzionalità in CodeRush .

Con Notepad ++, questa funzione è incorporata. Basta attivare il multi-editing da

Impostazioni> Preferenze> Modifica> Impostazioni di modifica multipla

Ma non è così intuitivo come MS Word che ti consente di selezionare due parole facendo doppio clic su di esse (dopo Ctrl ovviamente).


4

in visual 2019, Apri Opzioni per mostrare tutto inserisci qui la descrizione dell'immagine

e selezione multipla: mantieni Ctrl + Alte fai clic sulla posizione desiderata oppure, mantieni Shift + Alte fai clic sulla posizione per selezionare più linee multiple dall'inizio alla fine della linea cliccata



0

Ora il plugin è trucchi Multi Line. I pulsanti di fine e avvio interrompono la selezione.


come installare in Visual Studio 2015?
Diogo Cid
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.