Как дублировать строку или выбор в коде 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