web-dev-qa-db-fra.com

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

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

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

510
Chris

Les commandes que vous recherchez sont editor.action.copyLinesDownAction et editor.action.copyLinesUpAction.

Vous pouvez voir les combinaisons de touches associées en choisissant: Fichier> Préférences> Raccourcis clavier

Windows:

Shift+Alt+Down et Shift+Alt+Up

Mac:

Shift+Option+Down et Shift+OptionUp

Linux:

Ctrl+Shift+Alt+Down et Ctrl+Shift+Alt+Up

(Peut-être besoin d'utiliser pavé numérique Down et Up pour Linux)

De plus, les commandes editor.action.moveLinesUpAction et editor.action.moveLinesDownAction permettent de déplacer des lignes et sont liées à Alt+Down et Alt+Up sur Windows et Mac et Ctrl+Down et Ctrl+Up sur Linux.

915
Benjamin Pasero

Vous pouvez trouver des raccourcis clavier à partir de

Fichier> Préférences> Raccourcis clavier

Les raccourcis clavier par défaut sont,

Action de copie des lignes vers le basshift+alt+down

Action de copie de lignesshift+alt+up

action Déplacer les lignes vers le hautalt+up

Action de déplacement des lignes vers le basalt+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"
    }
]
146
manukn

Dans VScode, ils appellent ces Copy Line Up et Copy Line Down

Dans le menu, allez à:

Fichier> Préférences> Raccourcis clavier

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

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

Dans mon Ubuntu, j'ai ajusté ceci pour: Ctrl+Shift+D

enter image description here

25
Nahid

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

Installer le plugin Sélection en double ou ligne à partir de VS Code Marketplace

Duplicate selection or line VS Code plugin

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 permet également de dupliquer la ligne. Si vous l'installez, supprimez votre précédent. ctrl+d raccourci sur copyLinesDownAction (si vous l’avez déjà fait auparavant), sinon la sélection en double peut être boguée.

20
Antman Slaper Man

Essayer ALT+SHIFT+UP/DOWN

Cela a fonctionné pour moi!

15
erdemildiz

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

Je préfère cela à la réponse acceptée, car il suffit d’une seule main pour le faire et que c’est beaucoup plus naturel.

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

11
Nick De Beer

Notez que pour les utilisateurs Ubuntu (<= 17.4), Unity utilise CTRL + ALT + SHIFT + Arrow Key pour déplacer des programmes entre espaces de travail virtuels, ce qui est en conflit avec les raccourcis Code VS. Vous aurez besoin de relier editor.action.copyLinesDownAction et editor.action.copyLinesUpAction pour éviter le conflit (ou modifier les combinaisons de touches de votre espace de travail).

Pour Ubuntu 17.10+ qui utilise GNOME, il semble que GNOME n’utilise pas cette liaison de clé de la même manière selon sa documentation. Toutefois, si une personne utilisant des espaces de travail Vanilla sous 17.10 peut le confirmer, elle pourrait être utile aux futurs demandeurs de réponses. .

9
David Bodow

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

Text Keymap Sublime pour VS Code

Cette extension contient les raccourcis clavier Sublime Text les plus populaires dans Visual Studio Code. Après l'installation de l'extension et le redémarrage de VS Code, vos raccourcis clavier préférés de Sublime Text sont désormais disponibles.

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

5
cyberfly

La duplication de ligne directe (sans l'étape du presse-papier) est proposée par l'extension duplication contextuelle .

Il est cartographié sur ctrl+KD

2
CharlesB

Pour Windows:

Pour copier vers le haut -> shift + alt + up

Pour copier vers le bas -> shift + alt + down

Pour mac:

Pour copier vers le haut -> shift + option + up

Pour copier vers le bas -> shift + option + down

Pour linux:

Pour copier vers le haut -> Ctrl + Maj + Alt + 8

Pour copier vers le bas -> Ctrl + Maj + Alt + 2

Remarque: Vous pouvez modifier les raccourcis clavier associés au code de Visual Studio en appuyant sur les touches ctrl + Maj + p, puis type de raccourci clavier ouvert dans la palette. puis appuyez sur Entrée pour que le nouveau fichier soit ouvert (fichier de raccourci du clavier) vous pouvez voir tous les raccourcis sur leur et changer de raccourci clavier en cliquant deux fois sur la raccourci clavier puis en entrant votre propre raccourci clavier, enfin appuyez sur Entrée.

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

1
Aman Kumar Gupta

Pour les stations de travail Fedora 29 (Gnome 3.30.2) et Ubuntu.

Supprimez 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-"

Les détacher

$ 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
Tapez à nouveau Super + PgUp pour "Déplacer vers l'espace de travail ci-dessus" à titre d'exemple.

 enter image description here

Maintenant, avec moins de doublons dans Fedora29, tous les raccourcis vscode pour linux doivent fonctionner correctement

1
christianbueno.1

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


ctrl + D
0
Bouchaib Ennakr