Comment dupliquer une ligne ou une sélection dans Visual Studio Code?


735

À l'aide du code Visual Studio de Microsoft, comment dupliquer une ligne de code, puis la déplacer de haut en bas? (Similaire au comportement + cmd+ de Sublime )shiftd

C'est une fonctionnalité que j'utilise constamment et j'ai du mal à utiliser Visual Studio Code sans elle.


Est-ce que cela répond à votre question? Ligne en double dans Visual Studio Code
Arash.Zandi

Réponses:


1329

Les commandes que vous recherchez sont editor.action.copyLinesDownActionet editor.action.copyLinesUpAction.

Vous pouvez voir les raccourcis clavier associés en sélectionnant: Fichier> Préférences> Raccourcis clavier

Les fenêtres:

Shift+ Alt+ Downet Shift+ Alt+Up

Mac:

Shift+ Option+ Downet Shift+OptionUp

Linux:

Ctrl+ Shift+ Alt+ Downet Ctrl+ Shift+ Alt+Up

(Pourrait avoir besoin d'utiliser pavé numérique Downet Uppour Linux)

De plus, les commandes editor.action.moveLinesUpActionet editor.action.moveLinesDownActionsont celles qui permettent de déplacer les lignes et elles sont liées à Alt+ Downet Alt+ Upsous Windows et Mac et Ctrl+ Downet Ctrl+ Upsous Linux.


59
Et il semble Alt+Upou Alt+Downdéplace une ligne existante de haut en bas. Nice
Chris

2
Il convient de noter que les actions copyLines n'existent pas dans Visual Studio complet, uniquement dans Visual Studio Code.
user45623

4
Outils | Options | Environnement | Clavier dans VS2015
Mike Keskinov

15
Savez-vous comment "dupliquer la sélection"? Je n'ai pas trouvé la commande appropriée :(
nZeus

25
Sous Linux ctrl+shift+alt+down/upne fonctionne que pour les touches fléchées du pavé numérique.
Jack Steam

174

Vous pouvez trouver des raccourcis clavier à partir de

Fichier> Préférences> Raccourcis clavier

Les raccourcis clavier par défaut sont,

Copier les lignes vers le bas : shift+ alt+down

Copier les lignes alignées : shift+ alt+up

Déplacer les lignes vers le haut : alt+up

Déplacer les lignes vers le bas Action : alt+down

Ou vous pouvez remplacer les raccourcis clavier de

Fichier> Préférences> Raccourcis clavier

Et éditer le keybindings.json

Exemple:

[
    {
        "key": "ctrl+d",
        "command": "editor.action.copyLinesDownAction",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+shift+up",
        "command": "editor.action.moveLinesUpAction",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+shift+down",
        "command": "editor.action.moveLinesDownAction",
        "when": "editorTextFocus"
    }
]

De plus, si vous devez déplacer une ligne loin, ctrl + C et ctrl + X copiera / coupera facilement la ligne actuelle sans avoir à la sélectionner. Et ctrl + L(commande expandLineSelection ) sélectionnera une ligne. Répéter Ctrl + L sélectionne des lignes supplémentaires, ce qui facilite la sélection d'un bloc. Ou vous pouvez sélectionner un bloc grossier avec la souris, puis ctrl + L pour inclure les extrémités.
aamarks

j'utilise vscode 1.4 ça ne marche pas cher
Kamlesh

49

Il manque une réponse à cette question, "Comment dupliquer la sélection de code" Similaire au comportement de Sublime cmd/ ctrl+ shift+ dou Jetbrains cmd/ / ctrl+ d.

Installer le plugin Duplicate selection or line from VS Code Marketplace

Sélection en double ou ligne plug-in VS Code

Cette extension fournit des liaisons pour ctrl+ d(Windows / Linux) et cmd+ d(MacOS). Pour personnaliser les raccourcis clavier Préférences -> Raccourcis clavier:

{
  "mac": "cmd+d",
  "key": "ctrl+d",
  "command": "geeebe.duplicateText",
  "when": "editorTextFocus"
}

Remarque: Le raccourci fait également la ligne en double, donc si vous l'installez, supprimez votre raccourci ctrl+ précédent (si vous l'avez fait auparavant) sinon la sélection en double peut bogue.dcopyLinesDownAction


J'ai été frustré par le raccourci "copier les lignes vers le bas" qui ne se comportait pas exactement comme la fonction Sublime Text / Intellij Ctrl + D (il copiait les lignes entières au lieu de simplement la sélection). Merci d'avoir signalé ce plugin!
Timothé Malahieude

J'étais sur le point d'abandonner vscode et d'installer atom, mais cette extension m'a empêché. la fonctionnalité de doublon par défaut de vscode n'est pas à la hauteur. l'atome est tellement meilleur à cet égard.
vikrant

31

Dans VScode, ils appellent cela Copy Line UpetCopy Line Down

Dans le menu, accédez à:

Fichier> Préférences> Raccourcis clavier

Vérifiez le raccourci clavier déjà attribué pour cela ou ajustez le vôtre.

Parfois, le raccourci assigné par défaut peut ne pas fonctionner, principalement à cause du système d'exploitation.

Dans mon Ubuntu, j'ai ajusté cela à: Ctrl+ Shift+D

entrez la description de l'image ici


24

Dans VSCode Ctrl + CCtrl+ Vduplique toute la ligne ci-dessous.

Je préfère cela à la réponse acceptée, car cela ne nécessite qu'une seule main pour le faire et semble beaucoup plus naturel.

La réponse acceptée le fera probablement pour la plupart des gens, mais se Downtrouve de l'autre côté du clavier. Vous avez donc deux options, utilisez les deux mains (main gauche: L Shift+ L Alt+ main droite:) Up/Down, ou avec une seule main, utilisez la droite R Shift+ R Alt+ Up/Down. La deuxième option me semble bizarre. Je préfère utiliser l'option où ma main repose naturellement sur le clavier, et si c'est une main, c'est encore mieux.


7
Le principal problème est que vous perdez ce qui était sur votre presse
Chris


12

Notez que pour les utilisateurs d'Ubuntu (<= 17.4), Unity utilise CTRL+ ALT+ SHIFT+ Arrow Keypour déplacer des programmes à travers des espaces de travail virtuels, ce qui entre en conflit avec les raccourcis VS Code. Vous devrez vous lier à nouveau editor.action.copyLinesDownActionet editor.action.copyLinesUpActionéviter le conflit (ou modifier les raccourcis clavier de votre espace de travail).

Pour Ubuntu 17.10+ qui utilise GNOME, il semble que GNOME n'utilise pas ce raccourci clavier de la même manière selon sa documentation, bien que si quelqu'un utilisant des espaces de travail vanilla le 17.10 puisse le confirmer, cela pourrait être utile pour les futurs chercheurs de réponses.


Je suis sur Ubuntu 19.10 et Ctrl + Alt + Bas se déplace toujours entre les espaces de travail.
BeeOnRope

10
  • Pour les utilisateurs Jetbrains IDE qui ont migré vers VSCode , pas de problème.

  • Installer:
    1) JetBrains IDE Keymap: Extension
    2) vscode-IntelliJ-idée-keybindings Extension (Preferred)

  • Utilisez ceci Intellij Darcula Theme: Extension

  • Le clavier a couvert la plupart des raccourcis clavier de VS Code, et rend VS Code plus « JetBrains IDE like ».

  • Les extensions ci-dessus importent les raccourcis clavier de JetBrains vers VS Code. Après avoir installé l'extension et redémarré VS Code, vous pouvez utiliser VS Code comme IntelliJ IDEA, Webstorm, PyCharm , etc.


7

Pour Windows :

Pour copier - shift+ alt+up

Pour copier - shift+ alt+down

Pour mac :

Pour copier - shift+ option+up

Pour copier - shift+ option+down

Pour linux :

Pour copier - ctrl+ shift+ alt+8

Pour copier - ctrl+ shift+ alt+2

Remarque : Vous pouvez modifier la liaison de vos raccourcis clavier pour le code Visual Studio en appuyant sur ctrl+ shift+p , puis tapez ouvrir le raccourci clavier dans la palette, puis appuyez sur Entrée pour ouvrir un nouveau fichier (fichier de raccourcis clavier), vous pouvez voir tous les raccourcis sur leur et pouvez modifier les raccourcis clavier en cliquant deux fois sur le raccourci clavier correspondant, puis en entrant votre propre raccourci clavier, enfin appuyez sur Entrée.

J'espère que cela aidera quelqu'un!


6

Si vous venez de Sublime Text et ne souhaitez pas réapprendre la nouvelle liaison de clé, vous pouvez utiliser cette extension pour Visual Code Studio.

Keymap texte sublime pour VS Code

Cette extension transfère les raccourcis clavier Sublime Text les plus populaires vers Visual Studio Code. Après avoir installé l'extension et redémarré VS Code, vos raccourcis clavier préférés de Sublime Text sont maintenant disponibles.

https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings



1

Pour la station de travail Fedora 29 (Gnome 3.30.2) et les utilisateurs d'Ubuntu.

Dissociez les combinaisons de clavier d'espace de travail gauche / droite inutiles, répertoriez-les par terminal

$ gsettings list-recursively | grep -E "org.gnome.desktop.wm.keybindings move-to-workspace-|org.gnome.desktop.wm.keybindings switch-to-workspace-"

Déliez-les

$ gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left "[]"
$ gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-right "[]"
$ gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-left "[]"
$ gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-right "[]"

Réinitialiser les raccourcis en double

  • Super + Pgdown / PgUp, Ctrl + Alt + DownArrow / UpArrow
  • Super + Shift + PgDown / PgUp, Ctrl + Alt + Shift + DownArrow / UpArrow

Ils peuvent être facilement réinitialisés pour fonctionner avec un seul raccourci dans Paramètres> Périphériques> Clavier
uniquement. Tapez à nouveau Super + PgUp pour "Déplacer vers l'espace de travail ci-dessus" comme exemple.

entrez la description de l'image ici

Maintenant, avec moins de raccourcis en double dans fedora29, tous les raccourcis vscode pour linux doivent fonctionner correctement


0

dans ma dernière version Visual Studio Code 1.30.2, il sera automatiquement changé en


ctrl + D


Dans vscode, cela met en évidence le mot sous le curseur. Peut-être que Notepad ++ a utilisé le raccourci ctrl + D. Je viens de mémoire.
Flat Cat

0

Pour les utilisateurs de Linux: j'ai remarqué que sous Linux, vous avez souvent besoin d'utiliser la winclé. Le combo pour Windows est:
ctrl+ shift + alt+up

alors pour Linux c'est pareil il suffit d'ajouter la winclé:
ctrl+ shift + win+ alt+up

J'ai remarqué cela dans quelques combos maintenant. Dites ctrl+ alt + Lverrouille Linux, mais ctrl+ win + alt+ Lpour le code des formats Intellij. Sous Windows, il suffit de ctrl+ alt + Lpour formater le code.


0

Allez simplement dans le fichier -> préférences -> raccourcis clavier Là, vous pouvez changer n'importe quel raccourci que vous aimez. recherchez les doublons et changez-les en tout ce que vous utilisez toujours dans d'autres éditeurs. Je suis passé à ctrl + D

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.