Дублікат рядка у коді Visual Studio


146

Я намагаюся знайти ярлик для дублювання рядка у коді Visual Studio (я використовую 1.3.1), я спробував очевидний CTRL+, Dале це, здається, не працює.



Ctrl + D для дублювання рядків не так очевидно: він працює, наприклад, у Notepad ++, але він видаляє поточний рядок у Eclipse :)
— kol

Дивіться розширення з контекстним дублікатом
— CharlesB

за замовчуванням CTRL + Dпросто виберіть наступне явище, яке було обрано порівняно з іншими IDE.
— Амір Кіан

Відповіді:


253

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

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

Шукайте комбінації клавіш copyLinesDownActionабо їх copyLinesUpActionклавіш

Зазвичай це SHIFT+ ALT+↓


Оновлення для Ubuntu:

Схоже, що Ubuntu приховує цю ярлик від того, щоб побачити VSCode (тобто він використовує його, ймовірно, самостійно). Про це на GitHub існує проблема .

Для роботи в Ubuntu вам доведеться визначити свій власний ярлик, наприклад скопіювати рядок за допомогою ctrl+ shift+ alt+ jі CTRL+ SHIFT+ ALT+, kви могли б використовувати keybindings.jsonтакий:

[
    { "key": "ctrl+shift+alt+j", "command": "editor.action.copyLinesDownAction",
                                    "when": "editorTextFocus && !editorReadonly" },
    { "key": "ctrl+shift+alt+k", "command": "editor.action.copyLinesUpAction",
                                    "when": "editorTextFocus && !editorReadonly" }
]

На Mac: Код> Налаштування> Комбінації клавіш. Shift + Опція + Стрілка вниз.
— jarmod

2
@DAXaholic відповідь була правильною, якщо вам потрібне навіть просте рішення, просто тримайте курсор у рядку, який ви хочете дублювати, і натисніть ctrl + c і ctrl + v. це працює чудово
— Gopi P

1
У Ubuntu 16.04 за замовчуванням ярлики Ctrl+ Shift+ Up Arrow/ Down Arrowвідображаються на переміщення вікон на різні робочі області. Ви можете змінити це, Ubuntu -->System Settings --> Keyboard --> Shortcuts --> Navigationпотім натисніть, Backspaceщоб видалити небажані ярлики.
— mowen

1
Шахта пов'язана з Ctrl + Shift + Alt + DownArrow, але вона насправді нічого не робить, коли натискаю ці кнопки.
— Аарон Франке

104

Дублікат може бути досягнутий CTRL+ Cі CTRL+ за Vдопомогою курсору в рядку без нічого обраного.


35
Я не спровокував, але думаю, що це не прийнятно для ОП, оскільки це копіює рядок у буфер обміну, що є однією з дуже вагомих причин бажати команди "дублювати рядок" замість команди "Скопіювати / Вставити".
— Метт Делл

1
Це не працює, якщо для editor.emptySelectionClipboardпараметра встановлено значення false(моя краща конфігурація).
— Bill_Stewart

7
Це здуває те, що я мав у своєму буфері обміну
— Кріс

1
Одне цікаве, що я зазначив у цьому методі, це те, що не потрібно випускати клавішу Ctrl після натискання клавіші "C" (випуск лише після випуску V)
— Arun

Це руйнує цілі миттєвого дублювання рядків.
— Арман Карімі

53

Ви можете використовувати наступне в залежності від вашої ОС:

Windows:

Shift+ Alt+ ↓ або Shift+ Alt+ ↑

Мак:

Shift+ Option+ ↓ або Shift+ Option+↑

Linux:

Ctrl+ Shift+ Alt+ ↓або Ctrl+ Shift+ Alt+↑

Примітка. Для деяких дистрибутивів Linux використовуйте стрілки Numpad


9

Шукайте комбінації клавіш copyLinesDownActionабо їх copyLinesUpActionклавіш

Зазвичай це SHIFT+ ALT+↓


7

Ubuntu:

  • Дублювання рядків вгору: Ctrl+ Alt+ Shift+8
  • Дублююча лінія вниз: Ctrl+ Alt+ Shift+2

1
працює для мене прекрасно. дякую за відповідь.
— singhkumarhemant

1
Це насправді гарне рішення (працює над Ubuntu 20 та 19), яке не потребує змін у налаштуваннях за замовчуванням. Це може здатися не дуже інтуїтивно, але 8 і 2 - це фактично Вгору та вниз у NumPad
— користувач273711



2

У v1.40 є нова команда: не приєднатись editor.action.duplicateSelectionдо будь-якого прив'язки клавіш.

Дублювання виділення

Ми додали нову дію під назвою "Дублікат вибору". Після виконання поточний вибір буде дублюватися, і результат буде обраний. Коли немає вибору, поточний рядок буде дублюватися, і все це не записується в буфер обміну системи.

з https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_40.md

Деякі можуть вважати це корисним у певних ситуаціях.


0

Ще два дуже корисні ярлики - це переміщення рядків, вибраних вгору і вниз, як піднесений текст ...

{
  "key" : "ctrl+shift+down", "command" : "editor.action.moveLinesDownAction",
  "when" : "editorTextFocus && !editorReadonly"
},

і

{
  "key" : "ctrl+shift+up", "command" : "editor.action.moveLinesUpAction",
  "when" : "editorTextFocus && !editorReadonly"
}

Неправильно. Вам не потрібно selectвводити рядок у ST, щоб дублювати його.
— Зелений

ярлики для переміщення вибраних "ліній"
— Nishant Baranwal

0

Версія коду VC: 1.22.2 Перейдіть до: Код -> Налаштування -> Комбінації клавіш (cmd + K; cms + S); Зміна (редагування): "Додати вибір до наступного пошуку відповідності": "cmd + те, що ти хочеш" // для мене це "cmd + D", і я purd cmd + F; Перейдіть до "Скопіювати рядок вниз": "cmd + D" // відредагуйте це та встановіть, наприклад, cmd + D. Для мене це все - я використовую mac;



0

Можна створити сполучення клавіш, які активні лише тоді, коли Vim для VSCode увімкнено і знаходиться в певному режимі (наприклад, "Нормальний", "Вставити" або "Візуальний").

Для цього використовуйте Ctrl+ Shift+, Pщоб відкрити палітру команд VSCode, а потім знайдіть "Налаштування: Відкрийте комбінації клавіш (JSON)" - якщо вибрати цей параметр, відкриється keybindings.json . Тут можна додати спеціальні прив’язки.

Наприклад, ось класичні команди VSCode для переміщення / дублювання рядків, налаштовані для зручності використання у Vim ..

    [
      {
        "key": "alt+j",
        "command": "editor.action.moveLinesDownAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+shift+j",
        "command": "editor.action.copyLinesDownAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+k",
        "command": "editor.action.moveLinesUpAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+shift+k",
        "command": "editor.action.copyLinesUpAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
    ]

Тепер ми можемо використовувати ці Vim-дружні команди у VSCode!

  • Alt+ Jдля переміщення лінії вниз
  • Alt+ Kдля переміщення лінії вгору
  • Shift+ Alt+ Jдля дублювання рядка вниз
  • Shift + Alt+ Kдля дублювання рядка вгору

0

Оновлення, яке може допомогти користувачам Ubuntu, якщо вони все ще хочуть використовувати клавіші ↑та ↓замість іншого набір ключів.

Щойно я встановив нову версію VSCode на Ubuntu 18.04 LTS, і у мене були дублюючі команди для Add Cursor AboveіAdd Cursor Below

Оригінальні клавіші

Я просто видалив прив’язки, які використовував, Ctrlі додав власні з наступним

Copy Line Up

Ctrl+ Shift+↑

Copy Line Down

Ctrl+ Shift+↓

Нові клавіатурні зв'язки


0

Існують різні способи.

  • Натисніть CNTRL + C і CNTRL + V.
  • Натисніть Shift + alt + downarrow, щоб дублювати рядок вниз
  • Натисніть Shift + alt + стрілку вгору, щоб дублювати рядок вгору
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.