Как дублировать строку или выбор в коде Visual Studio?

Используя код Microsoft Visual Studio, как мне дублировать строку кода, а затем перемещать его вверх и вниз? (Подобно поведению Sublime cmd + shift + d)

Это функция, которую я использую постоянно, и борюсь с использованием кода Visual Studio без нее.

Ответ 1

Команды, которые вы ищете, - editor.action.copyLinesDownAction и editor.action.copyLinesUpAction.

Вы можете увидеть связанные привязки клавиш, выбрав: Файл> Настройки> Клавиши быстрого доступа

Окна:

Shift + Alt + Down и Shift + Alt + Up

Mac:

Shift + Option + Down и Shift + Option Up

Linux:

Ctrl + Shift + Alt + Down и Ctrl + Shift + Alt + Up

(Возможно, нужно использовать numpad Down и Up для Linux)

Кроме того, команды editor.action.moveLinesUpAction и editor.action.moveLinesDownAction - это те, которые перемещают строки, и они привязаны к Alt + Down и Alt + Up в Windows и Mac и Ctrl + [ TG22] и Ctrl + Up в Linux.

Ответ 2

Вы можете найти сочетания клавиш из

Файл > Настройки > Сочетания клавиш

Горячие клавиши по умолчанию:

Копирование строк вниз Действие: shift + alt + down

Копирование строк вверх Действие: shift + alt + up

Move Lines Up Действие: alt + up

Move Lines Down Действие: 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"
    }
]

Ответ 3

Он пропускает ответ на этот вопрос "Как дублировать выделение кода", похожий на поведение Sublime cmd/ctrl + shift + d или Jetbrains cmd/ctrl + d.

Установите плагин Duplicate selection или строку из VS Code Marketplace

Duplicate selection or line VS Code plugin

Это расширение обеспечивает привязки для ctrl + d (Windows/Linux) и cmd + d (MacOS). Чтобы настроить сочетания клавиш Настройки → Сочетания клавиш:

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

Примечание. Ярлык также выполняет дубликат строки, поэтому, если вы установите его, удалите свой предыдущий ярлык ctrl + d для copyLinesDownAction (если вы делали это раньше), в противном случае дублирующий выбор может copyLinesDownAction ошибку.

Ответ 4

В VScode они называют это Copy Line Up и Copy Line Down строку Copy Line Down

В меню перейдите по ссылке:

Файл> Настройки> Клавиши быстрого доступа

Проверьте уже назначенное сочетание клавиш для этого или отрегулируйте свой.

Иногда назначенный по умолчанию ярлык может не работать, в основном из-за ОС.

В моем Ubuntu я настроил это на: Ctrl + Shift + D

enter image description here

Ответ 5

Попробуйте ALT + SHIFT + UP/DOWN

Это сработало для меня!

Ответ 6

В VSCode Ctrl + C Ctrl + V дублирует всю строку ниже.

Я предпочитаю это к принятому ответу, потому что для этого требуется только одна рука, и он чувствует себя более естественным.

Принятый ответ, вероятно, сделает это для большинства людей, однако Down сидит на другой стороне клавиатуры. Таким образом, у вас есть два варианта, используйте обе руки (левая рука: L Shift + L Alt + правая рука: Up/Down), или одной рукой используйте правый R Shift + R Alt + Up/Down. Второй вариант кажется странным, на мой взгляд. Я бы предпочел использовать опцию, где моя рука, естественно, сидит на клавиатуре, и, если ее рука, еще лучше.

Ответ 7

Обратите внимание, что для пользователей Ubuntu (<= 17.4) Unity использует CTRL + ALT + SHIFT + Arrow Key для перемещения программ по виртуальным рабочим пространствам, что конфликтует с ярлыками VS Code. Вам нужно будет переустановить editor.action.copyLinesDownAction и editor.action.copyLinesUpAction чтобы избежать конфликта (или изменить ключевые слова в рабочей области).

Для Ubuntu 17. 10+, который использует GNOME, похоже, что GNOME не использует этот keybinding одинаково в соответствии с его документацией, хотя, если кто-то, используя ванильные рабочие пространства 17.10, может это подтвердить, может оказаться полезным для будущих ищущих ответов.

Ответ 8

Если вы пришли из Sublime Text и не хотите переучиваться связывать новые ключи, вы можете использовать это расширение для Visual Code Studio.

Sublime Text Keymap для VS Code

Это расширение портирует наиболее популярные сочетания клавиш Sublime Text на код Visual Studio. После установки расширения и перезапуска кода VS ваши любимые сочетания клавиш из Sublime Text теперь доступны.

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

Ответ 9

Прямое дублирование строк (без шага буфера обмена) предлагается с помощью расширения контекстного дубликата.

Он отображается на ctrl + K D

Ответ 10

Для 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.

Надеюсь, это кому-нибудь поможет!

Ответ 11

Для рабочих станций 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 + Стрелка вниз/Стрелка вверх
  • Супер + Shift + PgDown/PgUp, Ctrl + Alt + Shift + Стрелка вниз/Стрелка вверх

Их можно легко сбросить для работы только одним ярлыком в меню "Настройки"> "Устройства"> "Клавиатура".
Только снова введите Super + PgUp для "Переместить в рабочую область выше" в качестве примера.

enter image description here

Теперь с меньшим количеством дублирующихся ярлыков в fedora29 все ярлыки vscode для linux должны работать нормально

Ответ 12

Для людей, которые ранее использовали любую интеллектуальную Jetbrains IDE, сочинение отличных ярлыков, перенесенных в vscode, нет проблем.

Просто установите:
1) Таблица ключей IDE JetBrains: расширение
2) vscode-intellij-idea-keybindings Расширение

  • Карта клавиш покрывает большинство сочетаний клавиш в VS Code и делает VS Code более "JetBrains IDE, как".

  • Выше расширений импортирует привязки клавиш из JetBrains в VS Code. После установки расширения и перезапуска VS Code вы можете использовать VS Code так же, как IntelliJ IDEA, Webstorm, PyCharm и т.д.

Ответ 13

Вместо этого я использую ctrl+c ctrl+v, это скопирует и вставляет строку таким образом, имея аналогичный эффект.:)

Ответ 14

в моей последней версии Visual Studio Code 1.30.2 он будет автоматически изменен на


ctrl + D