web-dev-qa-db-ja.com

Visual Studioコード内で行ったは選択範囲を複製する方法

MicrosoftのVisual Studio Codeを使用して、1行のコードを複製してから上下に移動する方法を教えてください。 (Sublime'sに似ています cmd+shift+d 動作)

これは私が絶えず使用している機能であり、それなしではVisual Studioコードを使用するのに苦労しています。

510
Chris

あなたが探しているコマンドはeditor.action.copyLinesDownActioneditor.action.copyLinesUpActionです。

関連するキーバインドを選択すると表示されます。ファイル>設定>キーボードショートカット

Windows:

Shift+Alt+Down そして Shift+Alt+Up

Mac:

Shift+Option+Down そして Shift+OptionUp

Linux:

Ctrl+Shift+Alt+Down そして Ctrl+Shift+Alt+Up

(numpadを使う必要があるかもしれません Down そして Up Linux用)

さらに、コマンドeditor.action.moveLinesUpActioneditor.action.moveLinesDownActionは行を移動するためのものであり、それらは Alt+Down そして Alt+Up WindowsとMacでは Ctrl+Down そして Ctrl+Up Linux上で。

915
Benjamin Pasero

あなたはからキーボードショートカットを見つけることができます

ファイル>設定>キーボードショートカット

デフォルトのキーボードショートカットは、

コピーラインダウンアクション: shift+alt+down

コピーラインアップアクション: shift+alt+up

行移動アクション: alt+up

行移動アクション: alt+down

またはからキーボードショートカットを上書きすることもできます。

ファイル>設定>キーボードショートカット

そしてkeybindings.jsonを編集する

例:

[
    {
        "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

VScodeでは、彼らはこれをCopy Line UpおよびCopy Line Downと呼びます。

メニューから、に行きます。

ファイル>設定>キーボードショートカット

これに割り当てられているキーボードショートカットを確認するか、自分で調整してください。

ほとんどの場合、OSが原因で、割り当てられたデフォルトのショートカットが機能しないことがあります。

私のUbuntuでは、これを次のように調整しました。 Ctrl+Shift+D

enter image description here

25
Nahid

この質問に対する答えが欠けている、「コードの選択を複製する方法」Sublimeのと同様 cmd/ctrl+shift+d またはJetbrains ' cmd/ctrl+d 動作。

プラグインをインストールするVS Code Marketplaceからの選択項目または行の重複

Duplicate selection or line VS Code plugin

この拡張は以下のバインディングを提供します。 ctrl+d (Windows/Linux)および cmd+d (マックOS)。キーボードショートカットをカスタマイズするには設定 - >キーボードショートカット:

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

注:ショートカットでも重複行が表示されるため、インストールする場合は前の行を削除してください。 ctrl+d copyLinesDownActionへのショートカット(以前に行ったことがある場合)は、そうでなければ重複した選択がバグになる可能性があります。

20

やってみる ALT+SHIFT+UP/DOWN

それは私のために働いた!

15
erdemildiz

In VSCode Ctrl+CCtrl+V 以下の行全体を複製します。

片手だけでこれを行うことができ、はるかに自然に感じるので、私はこれを容認された答えよりも好みます。

受け入れられた答えはたぶんほとんどの人のためにそれをするでしょう Down キーボードの反対側に座っています。 2つの選択肢がありますので、両手を使ってください(左手:L Shift+L Alt+右手:Up/Down)、または片手で右を使用する R Shift+R Alt+Up/Down。 2番目の選択肢は、私の考えでは奇妙に感じます。私は自分の手が自然にキーボードに乗るようなオプションを使いたいと思います。片手であればもっといいのです。

11
Nick De Beer

Ubuntuユーザー(17.4以下)の場合、Unityは仮想ワークスペース間でプログラムを移動するためにCTRL + ALT + SHIFT + Arrow Keyを使用します。これはVS Codeショートカットと競合します。衝突を避けるためにeditor.action.copyLinesDownActioneditor.action.copyLinesUpActionを再バインドする必要があります(またはワークスペースのキーバインドを変更します)。

GNOMEを使用するUbuntu 17.10以降の場合、GNOME はこのキーバインドを同じ方法では使用していないようです 17.10でVanillaワークスペースを使用している人がこれを確認できれば、将来の回答を求める人に役立つかもしれません。

9
David Bodow

あなたがSublime Textから来ていて、新しいキー割り当てを再学習したくない場合は、この拡張機能をVisual Code Studioに使用できます。

VSコード用の崇高なテキストのキーマップ

この拡張機能は最も人気のあるSublime TextキーボードショートカットをVisual Studio Codeに移植します。拡張機能をインストールしてVS Codeを再起動すると、Sublime Textのお気に入りのキーボードショートカットが利用可能になります。

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

5
cyberfly

直接行の複製(クリップボードのステップなし)は、 Contextual Duplicate 拡張子によって提案されます。

マッピングされています ctrl+KD

2
CharlesB

Windowsの場合:

上にコピーするには-> shift + alt + up

下にコピーするには-> shift + alt + down

macの場合:

上にコピーするには-> shift + option + up

下にコピーするには-> shift + option + down

linuxの場合:

コピーするには-> ctrl + shift + alt + 8

下にコピーするには-> ctrl + shift + alt + 2

:Visual Studioコードのキーボードショートカットキーバインドを変更するには、ctrl + shift + pを押してから、パレットでキーボードショートカットを開くと入力しますEnterを押して新しいファイルを開きます(キーボードショートカットファイル)それぞれのキーバインドを2回クリックし、独自のキーバインドを入力することで、キーバインドを変更できます。最後にエンターキーを押します。

これが誰かを助けることを願っています!

1

Fedora 29ワークステーション(Gnome 3.30.2)とUbuntuユーザー向け。

不要な左/右ワークスペースキーボードの組み合わせのバインドを解除し、端末ごとにリストします

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

バインドを解除する

$ 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 "[]"

重複したショートカットをリセットする

  • スーパー+ Pgdown/PgUp、Ctrl + Alt + DownArrow/UpArrow
  • スーパー+ Shift + PgDown/PgUp、Ctrl + Alt + Shift + DownArrow/UpArrow

設定>デバイス>キーボードで1つのショートカットのみで動作するように簡単にリセットできます。
例として、「上のワークスペースに移動」にSuper + PgUpだけをもう一度入力してください。

enter image description here

Fedora 29ではショートカットの重複が少なくなりました。すべての Linux用のvscodeショートカット は正常に動作するはずです。

1

私の最後のバージョンのVisual Studio Code 1.30.2では、自動的にに変更されます。


ctrl + D
0
Bouchaib Ennakr