Visual Studio Code内で行または選択範囲を複製するにはどうすればよいですか?


732

MicrosoftのVisual Studio Codeを使用して、コード行を複製して上下に移動するにはどうすればよいですか?(Sublimeのcmd+ shift+ d動作に似ています)

それは私が常に使用している機能であり、それなしでVisual Studio Codeを使用するのに苦労しています。


これはあなたの質問に答えますか?Visual Studioコードの重複行
Arash.Zandi

回答:


1327

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

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

ウィンドウズ:

Shift+ Alt+ DownおよびShift+ Alt+Up

マック:

Shift+ Option+ DownおよびShift+OptionUp

Linux:

Ctrl+ Shift+ Alt+ DownおよびCtrl+ Shift+ Alt+Up

(テンキーDownUpLinux を使用する必要がある場合があります)

さらに、コマンドeditor.action.moveLinesUpActioneditor.action.moveLinesDownAction行を移動するためのものであり、それらが結合しているAlt+ DownAlt+ UpのWindowsとMac上とCtrl+ DownCtrl+ UpLinux上で。


59
そして、それはそうですAlt+Upか、Alt+Down上下既存の行に移動します。ニース
クリス

2
copyLinesアクションは完全なVisual Studioには存在せず、Visual Studio Codeのみに存在することに注意してください。
user45623

4
ツール| オプション| 環境| VS2015のキーボード
Mike Keskinov

15
「選択を複製する」方法を知っていますか?適切なコマンドを見つけることができませんでした:(
nZeus

25
Linuxではctrl+shift+alt+down/up、テンキーの矢印キーに対してのみ機能します。
ジャックスチーム

174

キーボードショートカットは

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

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

行を下にコピーアクション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"
    }
]

また、行を遠くに移動する必要がある場合、ctrl + Cとctrl + Xは、現在の行を選択せず​​に簡単にコピー/カットします。そしてctrl + L(コマンドexpandLineSelectionは行を選択します。ctrl + Lを繰り返すと、追加の行が選択され、ブロックの選択が簡単になります。または、マウスで大まかなブロックを選択してから、Ctrl + Lで両端を含めることもできます。
aamarks

vscode 1.4を使用していますが、うまくいきません
Kamlesh

49

「コードの選択を複製する方法」というこの質問への回答を見逃しています。Sublimeのcmd/ ctrl+ shift+ dまたはJetbrainsのcmd/ ctrl+のd動作に似ています。

プラグインの重複した選択または VS Code Marketplaceからの行のインストール

重複した選択または行VSコードプラグイン

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

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

注:ショートカットは重複する行も実行するため、インストールする場合は、以前のctrl+ dショートカットを削除してくださいcopyLinesDownAction(以前に実行した場合)。


Sublime Text / Intellij Ctrl + D機能(選択範囲だけでなく行全体をコピーする)のように動作しない「行を下にコピーする」ショートカットにイライラしました。このプラグインを指摘してくれてありがとう!
TimothéMalahieude

vscodeを破棄してAtomをインストールしようとしていましたが、この拡張機能によって妨げられました。vscodeのデフォルトの重複機能は適切なものではありません。この点で、atomは非常に優れています。
ビカント

31

VScodeでは、彼らはこれを呼び出しCopy Line UpCopy Line Down

メニューから、次の場所に移動します。

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

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

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

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

ここに画像の説明を入力してください


24

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

私はこれを受け入れた答えよりも好みます。これは、これを行うのに片手だけで十分であり、より自然に感じるからです。

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


7
その主な問題は、クリップボードに何があったかを失うことです
Chris


12

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

GNOMEを使用するUbuntu 17.10+の場合、そのドキュメントによると、GNOME はこのキーバインディングを同じ方法で使用していないようですが、17.10でバニラワークスペースを使用しているユーザーがこれを確認できれば、将来の回答を求める人に役立つ可能性があります。


Ubuntu 19.10を使用していますが、Ctrl + Alt + Downでワークスペース間を移動できます。
BeeOnRope

9
  • 以下のためのJetBrainsのIDEのユーザーに移行VSCode、問題ありません。

  • インストール:
    1)JetBrains IDEキーマップ:拡張
    2)vscode-intellij-idea-keybindings 拡張 (Preferred)

  • これを使用するIntellij Darcula Theme拡張

  • キーマップはVS Codeのほとんどのキーボードショートカットをカバーしており、VS Codeをより「JetBrains IDEのように」します。

  • 上記の拡張機能は、JetBrainsからVSコードにキーバインディングをインポートします。拡張機能をインストールしてVS Codeを再起動すると、IntelliJ IDEA、Webstorm、PyCharmなどと同じようにVS Codeを使用できます。


7

以下のためのWindows

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

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

以下のためのマック

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

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

以下のためのLinux

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

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

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

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


6

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


3

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

ctrl+にマッピングされていますK D


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

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

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


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

ここに画像の説明を入力してください

fedora29で重複するショートカットが減ったため、Linuxのすべてのvscodeショートカットが正しく機能するようになりました


0

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


ctrl + D


vscodeでは、これはカーソルの下の単語を強調表示します。おそらくNotepad ++はctrl + Dショートカットを使用しました。記憶から行くだけ。
Flat Cat

0

Linuxユーザーの場合:Linuxではかなり頻繁にwinキーを使用する必要があることに気付きました。Windowsコンボの場合:
ctrl+ shift + alt+up

Linuxの場合も同じですwin
ctrl+ shift + win+ alt+up

私は今いくつかのコンボでそれに気づきました。セイはctrl+ alt + LのLinuxをロックしますが、ctrl+ win + alt+ LIntelliJの形式コードのため。Windowsでは、コードをフォーマットするためのctrl+ + alt + Lがあります。


0

ファイル->設定->キーボードショートカットに移動するだけです。ここで、好きなショートカットを変更できます。重複を検索し、他のエディターで常に使用するものに変更します。Ctrl + Dに変更しました

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.