Як дублювати рядок або виділення в коді Visual Studio?


731

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

Це функція, якою я постійно користуюся, і без цього намагаюся використовувати Visual Studio Code.

Відповіді:


1326

Команди, які ви шукаєте, є editor.action.copyLinesDownActionі editor.action.copyLinesUpAction.

Ви можете побачити пов'язані клавіші, вибравши: Файл> Налаштування> Комбінації клавіш

Windows:

Shift+ Alt+ Downі Shift+ Alt+Up

Мак:

Shift+ Option+ Downі Shift+OptionUp

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+ Downі Ctrl+ Upв Linux.


59
І, здається, Alt+Upабо Alt+Downрухається існуюча лінія вгору і вниз. Ніцца
Кріс

2
Варто зазначити, що дії copyLines не існують у повній Visual Studio, а лише у коді Visual Studio.
user45623

4
Інструменти | Параметри | Довкілля | Клавіатура в VS2015
Майк Кескінов

15
Чи знаєте ви, як "дублювати вибір"? Не вдалося знайти відповідну команду :(
nZeus

25
У Linux ctrl+shift+alt+down/upпрацює лише для клавіш зі стрілками num pad.
Jack Steam

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(команда extensionLineSelection ) вибере рядок. Повторення ctrl + L вибирає додаткові рядки, що полегшує вибір блоку. Або ви можете зробити грубий вибір блоку за допомогою миші, а потім ctrl + L, щоб включити кінці.
амарки

Я використовую vscode 1.4, він не працює дорогий
Kamlesh

49

Він не вистачає відповіді на це запитання "Як дублювати вибір коду", аналогічно поведінці Sublime cmd/ ctrl+ shift+ dабо Jetbrains cmd/ ctrl+ d.

Встановіть плагін Повторний вибір або рядок з VS Code Marketplace

Дублювання вибору або плагін VS Code плагін

Це розширення забезпечує прив'язки для 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 (він скопіював цілі рядки замість просто вибору). Дякуємо, що вказали на цей плагін!
Тімоте Малахіє

Я збирався вирвати vscode та встановити atom, але це розширення мені завадило. функція дублювання за замовчуванням функція vscode не до позначки. атом в цьому плані набагато кращий.
vikrant

31

У VScode вони називають це Copy Line UpіCopy Line Down

У меню перейдіть до:

Файл> Налаштування> Комбінації клавіш

Перевірте для цього вже призначений ярлик клавіатури або відрегулюйте свою.

Іноді ярлик, призначений за замовчуванням, може не працювати, в основному через ОС.

У своєму Ubuntu я налаштував це на: Ctrl+ Shift+D

введіть тут опис зображення


24

У VSCode Ctrl + CCtrl+ Vдублює весь рядок нижче.

Я віддаю перевагу цьому прийнятій відповіді, тому що для цього потрібно лише однією рукою і відчуваєш себе природніше.

Прийнята відповідь, ймовірно, зробить це для більшості людей, проте Downсидить з іншого боку клавіатури. Отже, у вас є два варіанти: використовуйте обидві руки (Ліва рука: L Shift+ L Alt+ Права рука:) Up/Downабо однією рукою використовуйте праву R Shift+ R Alt+ Up/Down. Другий варіант на мою думку здається дивним. Я б скоріше скористався варіантом, коли моя рука природно сидить на клавіатурі, а якщо її одна рука - ще краще.


7
Головне питання - ви втратите те, що було у вашому буфері обміну,
Кріс


12

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

Для Ubuntu 17.10+, який використовує GNOME, схоже, що GNOME не використовує це в'язання клавіш так само, як відповідно до його документації, хоча якщо хтось із робочих просторів ванілі 17.10 може це підтвердити, це може бути корисним для майбутніх шукачів відповідей.


Я перебуваю на Ubuntu 19.10, а Ctrl + Alt + Down все ще переміщається між робочими просторами.
BeeOnRope

9
  • Для користувачів Jetbrains IDE, які перейшли на VSCode , немає проблем.

  • Встановити:
    1) JetBrains IDE Keymap: Розширення
    2) vscode-intellij-idea-keybindings Розширення (Preferred)

  • Використовуйте це Intellij Darcula Theme: розширення

  • Клавіатура охопила більшість комбінацій клавіш VS Code і робить код VS більше " схожим на JetBrains IDE ".

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


7

Для Windows :

Для копіювання - shift+ alt+up

Для копіювання - shift+ alt+down

Для Mac :

Для копіювання - shift+ option+up

Для копіювання - shift+ option+down

Для Linux :

Для копіювання - ctrl+ shift+ alt+8

Для копіювання - ctrl+ shift+ alt+2

Примітка . Ви можете змінити прив'язку клавіш до клавіатури для візуального коду студії натисканням клавіш ctrl+ shift+p , потім наберіть відкритий ярлик клавіатури в піддоні, а потім натисніть клавішу Enter, щоб відкрився новий файл (файл ярлика клавіатури), щоб ви побачили всі ярлики над їх і ви можете змінити палітурку клавіш, натиснувши двічі на відповідне введення клавіш, а потім, ввівши власну клавіатуру, нарешті натисніть клавішу Enter.

Сподіваюся, це допоможе комусь!


6

Якщо ви надходите з Sublime Text і не хочете перенавчати нову прив'язку клавіш, ви можете використовувати це розширення для Visual Code Studio.

Підвищена текстова ключова карта для коду VS

Це розширення передає найпопулярніші комбінації клавіш Sublime Text до коду Visual Studio. Після встановлення розширення та перезапуску коду VS ваші улюблені комбінації клавіш із 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 "[]"

Скидання повторних ярликів

  • Супер + Pgdown / PgUp, Ctrl + Alt + DownArrow / UpArrow
  • Super + Shift + PgDown / PgUp, Ctrl + Alt + Shift + DownArrow / UpArrow

Їх можна легко відновити для роботи лише з одним ярликом у Налаштуваннях> Пристрої> Клавіатура
Тільки введіть знову Super + PgUp для прикладу "Переміщення до робочої області вгорі".

введіть тут опис зображення

Тепер із меншими дублікатами ярликів у fedora29 всі ярлики vscode для Linux повинні працювати нормально


0

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


ctrl + D


У vscode це виділяє слово під курсором. Можливо, Notepad ++ використав ярлик ctrl + D. Просто йде з пам’яті.
Плоский кіт

0

Для користувачів Linux: Я помітив, що в Linux вам досить часто потрібно використовувати winключ. Для Windows комбо:
ctrl+ shift + alt+up

то для Linux те саме, просто додайте winключ:
ctrl+ shift + win+ alt+up

Я помітив, що зараз у кількох комбо. Скажіть ctrl+ alt + Lблокує Linux, але ctrl+ win + alt+ Lдля коду форматів Intellij. У Windows достатньо лише ctrl+ alt + Lдля форматування коду.


0

Просто перейдіть до файлу -> налаштування -> комбінації клавіш Там ви можете змінити будь-який ярлик, який вам подобається. шукайте дублікат та змініть його на те, що ви завжди використовуєте в інших редакторах. Я змінив на ctrl + D

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.