Багаторядне редагування у коді Visual Studio


579

Чи можна ввімкнути багаторядкові редагування, як у Sublime Text ?

Наприклад, натисніть, Ctrlщоб розмістити додаткові функції курсору та мати можливість записувати / видаляти в декількох місцях документа одночасно.


4
У багатьох програмах для Mac (наприклад, TextEdit) я також можу перетягнути опцію миші, щоб вибрати поле. Чи це доступно у коді VS?
Саймон Вудсайд

Відносяться пост тут .
RBT

2
З квітня 2018 року (версія 1.23) ми можемо використовувати середню кнопку миші для вибору кількох стовпців. code.visualstudio.com/updates/…
blueray

5
Для тих, хто шукає назву цієї команди в розділі комбінацій клавіш, це:editor.action.insertCursorAtEndOfEachLineSelected
enzoborgfrantz

1
@enzoborgfrantz +1 Саме те, що я шукав! Вибрана відповідь спочатку повинна була згадати відповідні команди редактора, оскільки зв'язки клавіш можуть відрізнятися.
пій

Відповіді:


1060

У Windows утримуйте клавішу Ctrl+ Alt, натискаючи клавіші зі стрілками вгору або вниз, щоб додати курсори.

Mac: ⌥ Opt+ ⌘ Cmd+ /

Linux: Shift+ Alt+ /

Зауважте, що стороннє програмне забезпечення може заважати цим ярликам, не дозволяючи їм працювати за призначенням (зокрема, програмне забезпечення HD Graphics від Intel для Windows; детальніше див. У коментарях).

Якщо у вас виникла ця проблема, ви можете відключити гарячі клавіші Intel / іншого програмного забезпечення або змінити ярлики коду VS (описано нижче).

Натисніть, Escщоб скинути до одного курсору.

Багатолінійні курсори в коді Visual Studio

Або, як вказує Ісідор Ніколич , ви можете дотриматисьAlt та клацнути лівою кнопкою миші, щоб розмістити курсори довільно.

Довільно розміщують багаторядкові курсори у коді Visual Studio

Ви можете переглядати та редагувати комбінації клавіш за допомогою:

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

Документація:

https://code.visualstudio.com/docs/customization/keybindings

Офіційні чіт-листівки для клавіатури VS Code:

https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf
https://code.visualstudio.com/shortcuts/ клавіатура-ярлики-linux.pdf


155
У Windows перший варіант просто перевертає мій екран. : - /
Kristoffer la Cour

26
Це більше не діє. Спробуйте CTRL + SHIFT + UP/DOWN/CLICKАБОALT + SHIFT + UP/DOWN/CLICK
Хань

39
@Nacimota - на машині Windows 10 (тільки що перевірена зараз) комбінація CTRL + ALT + Стрілка переверне екран, CTRL + ALT + SHIFT + Стрілка створить новий курсор. Опублікований список ярликів PDF на клавіатурі може бути застарілим.
Алекс С

11
@AlexC ярлики не застаріли; завантажте останню збірку та перегляньте конфігурацію самостійно. Якщо ви виявите, що перелічені ярлики гортають ваш екран, я ставлюся за те, що у вас є графічний процесор Intel і для нього запущено програмне забезпечення Intel, яке перехоплює ці ярлики за замовчуванням. Відкрийте програмне забезпечення HD Graphics і відключіть або відновіть гарячі клавіші, якщо це вас турбує, але не редагуйте мою публікацію, щоб додати невірну інформацію . Перелічені ярлики є точними, і я не збираюся перераховувати кожен фрагмент програмного забезпечення сторонніх виробників, який може або не може заважати їм.
Nacimota

6
@Nacimota з усією повагою, це була чесна помилка, яка представляє реальність для значної частини користувачів. Там достатньо машин Intel, де це може бути конфігурація за замовчуванням, щоб додаткова інформація була цінною. Ми обидва маємо на меті надати найкращу найсвіжішу відповідь. Додатковим реченням для перерахування цієї різниці було б корисно.
Алекс С

136

Вирішено за допомогою двох кроків!

  1. Ctrl + F

  2. Alt + Enter

Це дорівнює Alt+ піднесеного тексту + F3.

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


21
Такий же ефект дає вам натиснути ctrl + F2
ksopyla

2
Чи можемо ми вибрати всі рядки, що містять це ключове слово? Піднесений текст мав це Ctrl + F> Alt + F3> Ctrl + L
Anirban

Що це в термінах Mac? Ctrl та Alt замінено на ...?
OldPeculier

67

Ви можете просто Altнатиснути + для додаткових курсорів. І як уже говорилося, Ctrl+ Alt+ або .


9
І ви можете використовувати Alt + Shift + клацніть, щоб вибрати два рядки та кожен рядок між ними.
Стівен Лікенс

6
Питання полягає в тому, як відредагувати його прив'язку (як Alt + Clickзвати?)
Девід Рефуа

Alt + click автоматично визначає слово, або рухається ліворуч від слова і не працює для мене.
jbodily

Знайшов відповідь на моє запитання, це може бути або Alt (що за замовчуванням , або Ctrl / ⌘ . Цю опцію можна змінити за допомогою "editor.multiCursorModifier": "ctrlCmd"клавіші дюйма settings.json.
David Refoua

62

Вибір поля

Windows: shift+alt +Mouse Left Button

macOS: shift+option +Click

Це суперечить тому, що згадується у відповіді на те, чи має Visual Studio Code встановити вікно / редагувати багато рядків? .


Я не прихильник Shift + Alt + Click (хоча це працює). Отже, щоб він працював (у Windows) так само, як і у VS, я зробив це: перейдіть до меню «Вибір» та виберіть «Переключитись на Alt + Клацніть для мульти курсору». Тепер Alt + Click робить вікно вибору.
Кон

27

Використовуйте Ctrl+D щоб використовувати багато редагування одних і тих же слів у Windows та Linux.

Використовуйте CMD+ Dдля Mac.


Як сказав @Krishnaraj, Ctrl + D працює. Насправді це підтримують і VSCode, і Sublime. Переконайтеся, що застосуйте Ctrl + D для всіх наступних випадків, не випускаючи ctrl. Так, вам все одно потрібно вибрати вручну, це просто допоможе вам звільнити мишу. MacOS Command + D
Оскар Чжан

22

З версії 1.13 (травень 2017 року) ви можете остаточно змінити ключ модифікатора за замовчуванням для створення декількох курсорів (додати до налаштувань):

"editor.multiCursorModifier": "ctrlCmd"

PS: З цього моменту модифікатор "перейти за посиланням" буде Alt.


Багато цих інших відповідей не стосуються питання. Це одне - як розміщувати додаткові послуги з клацанням миші.
Олександр Недзьолько

17

На Mac це:

Option+ Commandпід час натискання клавіш зі стрілками вгору або вниз .


16

Я хотів вибрати кілька рядків і натиснути "щось", щоб мати курсор для кожного вибору рядків (подібно до Ctrl+ Shift+L у піднесеному тексті). Ця дія в коді Visual Studio називається "Додати курсори до рядкових кінців".

Це було перевірено у Visual Studio Code 1.22 та працює як у Windows, так і на Mac .

Ось такий спосіб:

  1. Виберіть лінії, у яких потрібно мати декілька курсорів.
  2. Просто натисніть Alt+ Shift- I.

Тепер у вас є один курсор на вибраний рядок.


1
@Manza У коді VS, ти це ALT-SHIFT-I(як iні L). Шрифт не допомагає правильно бачити. Я використовую цю команду кілька разів на день як на Mac, так і на Windows, і лише тестую ще раз із останньою версією коду VS: 1.24.1, і запевняю, що вона працює. Можливо, у вас плагін, що викликає конфлікт?
Максим

уа так, що зробіть трюк, велике спасибі, я все ще перелітав між піднесеною формою цієї функції, чи зручно це soooo
Манза

для мене це CTRL-SHIFT-L (windows)
зразок


14

Я використовую розширення vscodevim , тому я не впевнений, чи це поширена проблема. Але у мене виникло питання, коли Ctrl+ Alt+ UpArrowперевернув екран догори дном.

Переглядаючи основи коду Visual Studio (я не знаю, чи змінили це в недавньому оновленні), він говорить про використання:

Ctrl+ Alt+ Shift+ ( Up/ down)


1
Ctrl + Alt + [клавіша зі стрілкою] - це звичайний ярлик клавіатури для обертання екрана, безумовно, для графічних драйверів Intel та / або пов'язаного програмного забезпечення. Я думаю, що це перехоплює це ще до того, як VSCode загляне. Нещодавно (і прикро, оскільки я його використовував) обертання, здається, було припинено в оновленнях програмного забезпечення Intel і тепер доступне лише через меню з довгими вітрами. в Windows. Тому комбінація клавіш повинна працювати в VSCode з більш новими драйверами.
Боб Саммерс

9

Крок 1:

Виберіть слово, яке потрібно замінити


Крок 2:

Ctrl+ Fце вибере його кілька випадків


Крок 3:

Alt + Enterце встановить курсор на всі знайдені події


Крок 4:

Просто почніть вводити нове слово



6
Також cmd+shift+Lна Mac. Те саме робить за один крок.
Андрес

2
@Andres Дякую! Це вирішило мою проблему в Windows, інші рішення перевернули мій екран.
Tarik Hacialiogullari

8

Станом на квітень 2018 року (версія 1.23) тепер ви також можете використовувати середню кнопку миші для вибору багато рядків / вибору поля.


Дякую за це, саме час заощадити чи є варіант для клавіатури? як виділити, а потім ctrl + l у піднесеному?
Манза

Це дещо інша особливість, але ви, мабуть, шукаєте ctrl + i. code.visualstudio.com/docs/getstarted/keybindings
Jemmeh

8

В останньому випуску коду Visual Studio тепер ви можете перетягувати курсор, утримуючи Option(Alt у Windows), щоб вибрати той самий стовпець у кількох рядках.

Щоб увімкнути це, переконайтеся, що ви змінили свій editor.multiCursorModifierзовнішній вигляд:

"editor.multiCursorModifier": "ctrlCmd"

З приміток до випуску Visual Studio Code 1.32.0:

У наступному відео виділення починається як звичайний вибір, після чого натискається і утримується клавіша Alt, доки не буде відпущена кнопка миші:

Приклад покращеного вибору стовпців:



4

Я думаю, це залежить від вашої версії Visual Studio Code.

Моя версія Linux Код Visual Studio 1.7.2.

                                     "when": "editorTextFocus" },
{ "key": "shift+alt+up",          "command": "editor.action.insertCursorAbove",
                                     "when": "editorTextFocus" },
{ "key": "ctrl+shift+down",       "command": "editor.action.insertCursorBelow",
                                     "when": "editorTextFocus" },
{ "key": "shift+alt+down",        "command": "editor.action.insertCursorBelow",
                                     "when": "editorTextFocus" }```

The point is the shortcuts are not same in all machines, so you should check your configuration. Go to menu:

> Menu *File* → *Preferences* → *Keyboard Shortcuts*

Search for `editor.action.insertCursorAbove` and `editor.action.insertCursorBelow` and see your current configurations. You may change them if they conflict with operating system's shortcut keys.




Додавання SHIFT + ALT + UP / DOWN до моїх користувацьких налаштувань, що працюють в Windows 10
SteveC

4

У коді Visual Studio просто натисніть Altі помістіть курсор на місце редагування (де ви хочете редагувати) та клацніть правою кнопкою миші, щоб вибрати.


2
Ця відповідь здається неповною
Шпанген

4

Робочим рішенням для мене було спершу вибір потрібного тексту для редагування, а потім за допомогою CTRL+, F2щоб вибрати всі відповідні дані на сторінці. Ви також можете використовувати CTRL+ Shift+, Lяк запропонував @lesterCovax

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

Для мене вищевказане рішення Ctrl+ ALT+ Arrowkeysне спрацювало, оскільки воно призвело до зміни екрану орієнтації екрана проти вибору рядків у VSCode.

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


2

Якщо ви використовуєте Linux, існує можливість конфлікту з клацаннямAlt + , що є типовим для "переміщення вікна".

Ви можете перейти в меню НалаштуванняВікно ПоведінкаВікно поведінкиДії вкладки

Просто видаліть Alt+ left(утримуйте), і воно спрацює.

Це найкращий спосіб, тому що +для виконання такого простого завдання вам не потрібно тримати дві клавіші.


2

Я використовую Піднесений текст і нав'язування клавіш, передбачене верхньою відповіддю, здається, не спрацювало :( Можуть виникнути конфлікти між кодом Visual Studio та піднесеними клавішами.

Рекомендований @Han клавіш працює для мене (дуже вдячний!):

  • Увійдіть у режим багатолінійного курсору за допомогою Ctrl+ Shift+ Up/Down
  • Вихід із Esc

(Sidenote) Нижче наведено невеликий приклад використання Emmet разом із багаторядковим курсором (увімкнено та вимкнено ці ключові прив’язки, перелічені вище):

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


2

Окрім усіх відповідей, є ще один спосіб. Виберіть потрібні лінії та натисніть:

  • Windows: Shift+Alt +i
  • Mac: shift+ option+i

Це ставить курсор у кожен рядок у виділенні.


2

версія 1.43 (лютий 2020 р.)

Тепер ви можете перемикати режим вибору стовпців, який змінює жести миші та клавіші зі стрілками за допомогою:

  • Рядок меню> Вибір> Режим вибору стовпців
  • Ctrl+ Shift+ P(Показати всі команди)> Увімкнути режим вибору стовпців
  • Прив’яжіть свій ключ до команди "editor.action.toggleColumnSelection"

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

Примітка. На панелі стану після активації є панель "Вибір стовпців", яку можна натиснути, щоб знову її відключити.


1

Мої налаштування: Windows 8.1 64 біт, Visual Studio Code версії 1.33.1.

Проблема: конфлікт із клавіатурними комбінаціями Intel HD Graphics 4000

У мене виникла проблема, коли я використовував ярлики за замовчуванням коду Visual Studio ( Ctrl+ Alt+ UP, Ctrl+ Alt+ DOWN). У моєму випадку ці команди повертали мій екран відповідно до 0º та 180º. Це відбувається, тому що на моєму комп’ютері встановлено додаток Graphic Intel. Потім я просто відключую ярлики цього додатка.

Ось підручник, щоб допомогти комусь.


1
У Windows 7 можна клацнути правою кнопкою миші робочий стіл, вибрати параметри графіки -> гарячі клавіші -> відключити.
Моріц


0

Для мене працювало рішення від @maxime використання SHIFT + ALT + i, коли мені потрібно було швидко відредагувати ~ 20k рядків у файлі. Більшість інших згаданих комбінацій клавіш корисні лише для обмеженої кількості рядків. SHIFTвибираючи область, яку ви хочете редагувати стовпчиком, а потім натискання SHIFT + ALT + iє найбільш ефективним способом впоратися з цим.

Я випадково виявив, що (і тут ще не згадувались) - це те, що в "режимі редагування курсору" є обмеження в 10 к рядків ( є відкритий запит на функцію Github для його збільшення). Це означає, що для надзвичайно великих файлів може бути краще сценарій редагувань, ніж робити це вручну.

Для таких людей, як @specimen, які повинні були використовувати ярлики на зразок CTRL + SHIFT + L(прив'язка за замовчуванням Select all occurrences of current selection), щоб досягти цього, слід перевірити, чи не встановлено розширення карти клавіш . Ви можете перевірити, шукаючи на @recommended:keymapsпанелі розширень, перейшовши до File > Preferences > Keymaps( CTRL+K CTRL+M).

Клавіатурну карту [Windows] за замовчуванням можна знайти у формі PDF ТУТ , або ви можете File > Preferences > Keyboard Shortcutsзнайти / змінити поточні прив’язки. Також є більш детальна документація щодо прив'язки ключів ТУТ .


0

У Linux Fedora (я намагався з Fedora 31) з KDE перейдіть до:

  1. Налаштування системи
  2. Управління вікнами
  3. Поведінка вікна
  4. Вікна дії
  5. Дії з внутрішнім вікном, заголовком та рамкою
  6. Клацніть лівою кнопкою миші
  7. Виберіть "Нічого не робити" (заміна переміщення / перетягування)

Тепер ви можете вибрати кілька рядків за допомогою клавіш Alt + Left Click !

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