Дублікат рядка у коді 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.