Кілька виділень у Visual Studio?


88

Чи є спосіб виділити кілька несуміжних (повністю окремих) текстів у VS? Я можу зробити це в MS Word, виділивши тексти окремо, утримуючи кнопку Ctrl, наприклад:

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

Моя версія - 11.

Редагувати: Я не кажу про Alt+Selectвибір блоку. Також я хотів би побачити, чи існує в Notepad ++ якась техніка.


1
Ви запитуєте про Visual Studio 2012 або Notepad ++?
Почато

@Oded Я думав, що очевидно, що питання стосується VS (також включеного в назву) Справа в Notepad ++ була бонусним питанням.
nawfal

2
Наскільки мені відомо, це неможливо ні в одному, ні в іншому.
Початок дії


Залежно від того, що ви хочете зробити з виділенням, ви можете досягти кінцевого результату за допомогою регулярного виразу / рядкового пошуку.
MA

Відповіді:


88

Редагування декількох курсорів підтримується у Visual Studio, починаючи з версії 2017, оновлення 8. Нижче наведено витяг документації :

  • Ctrl+ Alt+ клацання: Додайте вторинну каретку
  • Ctrl+ Alt+ подвійне клацання: додайте додатковий вибір слова
  • Ctrl+ Alt+ клацання + перетягування: додайте додатковий вибір
  • Shift+ Alt+ .: Додайте наступний відповідний текст як виділення
  • Shift+ Alt+ ;: Додайте весь відповідний текст як виділення
  • Shift+ Alt+ ,: Видалити останнє вибране входження
  • Shift+ Alt+ /: Пропустити наступне відповідність
  • Alt + клацніть: додайте виділення вікна
  • Esc або натисніть: Очистити всі виділення

Деякі з цих команд також доступні в Editменю:

Меню декількох карет


1
Я не бачу цих опцій, використовуючи 2017 версію 15.9.3
Urasquirrel

Здається, що в 15.9.3 команди в меню - це лише перші дві.
Gian Marco

2
Оновлене посилання: docs.microsoft.com/en-us/visualstudio/ide/…
brownmagik352

2
Цікаво, чи збираються вони коли-небудь надати належну підтримку в декількох каретах, як це вже роками надає JetBrains. Спробуйте зробити пару карет, виберіть слово, а потім скопіюйте та вставте його. VS вставляє подвійно (тобто він вставляє весь вибір, зроблений з обома каретками на кожну карету. Я не уявляю, коли це колись буде бажаною поведінкою. Вони повинні вставити це один раз. Крім того, JetBrains має ярлик CTRL + CTRL, який дозволяє додавати каретки при натисканні стрілок вниз або вгору (нескінченно, поки натиснута CTRL). Це набагато продуктивніше, ніж реалізація VS на даний момент.
obe

@obe або подобається піднесений. Те, як він зараз підтримується, для мене ніякої користі.
shashwat

54

Існує нове розширення для Visual Studio 2017, яке називається SelectNextOccurrence, яке є безкоштовним та відкритим.

Це розширення дозволяє вибрати наступні випадки вибраного тексту для редагування.

Прагне повторити команду Ctrl + D для піднесеного тексту для швидшого кодування.

Особливості:

  • Виберіть наступне входження поточного виділення.
  • Пропуск випадків
  • Скасувати появу
  • Додайте карету вгорі / внизу
  • Використовуйте кілька кареток для редагування ( Altнатисніть, щоб додати каретку)

Команди Visual Studio:

  • SelectNextOccurrence.SelectNextOccurrenceза замовчуванням прив’язано до Ctrl+ D.
  • SelectNextOccurrence.SkipOccurrenceне пов'язаний за замовчуванням. (Рекомендовано Ctrl+ K, Ctrl+ D)
  • SelectNextOccurrence.UndoOccurrenceне пов'язаний за замовчуванням. (Рекомендовано Ctrl+ U)
  • SelectNextOccurrence.AddCaretAboveне пов'язаний за замовчуванням. (Рекомендовано Ctrl+ Alt+ Up)
  • SelectNextOccurrence.AddCaretBelowне пов'язаний за замовчуванням. (Рекомендовано Ctrl+ Alt+ Down)

Параметри SelectNextOccurrence

https://marketplace.visualstudio.com/items?itemName=thomaswelen.SelectNextOccurrence

https://github.com/2mas/SelectNextOccurrence


1
Ідеально! Це єдиний. Мультиселекція та каретка працюють дуже добре. Перевірено VS Community 2017.
Дейв,

1
@Dave так, це розширення чудове. Подумайте про хороший огляд та / або головну роль у проекті GitHub, якщо ви вважаєте це корисним.
Drew Noakes

Дякуємо, що знайшли це розширення! MixEdit працював, але не був оптимізований для VS2017, і це спливаюче пробне програмне забезпечення було антипродуктивним.
Білл Н.

Не працював у мене. привіт, я не знаю, чого я чекав від мс.
Берсан

Чудове рішення, лише зауважимо, мені також довелося видалити прив'язки клавіш за замовчуванням, Edit.Duplicateоскільки вони все ще вшановувались навіть при додаванні Ctrl+Dдо прив'язки клавіш для SelectNextOccurrence. Ярлики за замовчуванням до VS 2019: docs.microsoft.com/en-us/visualstudio/ide/…
Брендон Франклін

30

У Visual Studio Shift+Alt+. / Shift+Alt+,

  • Shift+Alt+. - сірник карет;
  • Shift+Alt+, - видалити попередню каретку;

Та сама функція, що і на VSCode Ctrl+D.

Набагато більше налаштувань Tool - Options - Environment - keyboard. Далі в Show commands containingEnterEdit. .

Крім того, можна використовувати схему клавіатури Visual Studio Code . Доступно для Visual Studio 2017

На закінчення гарне посилання Visual Studio Усі комбінації клавіш


1
Дякуємо за вашу відповідь, добрий користувач Інтернету.
Urasquirrel

3
чудова відповідь. Нам просто потрібні були команди. Я не знаю, чому всі давали такі довгі відповіді, ха-ха. дякую
Хаві

22

Розширення MixEdit для Visual Studio дозволяє виконувати мультиредагування способом, який ви описуєте. Він підтримує кілька кареток і кілька варіантів виділення.


8
Якщо ви шукаєте щось на зразок піднесеного тексту, це все!
Kenial

2
Якщо хтось задається питанням, спосіб досягти мультивибору в MixEdit - це подвійне клацання слів після натискання Alt. Те саме, що і в MS Word, за винятком того, що Altтут є замість Ctrl. MixEdit також має безліч інших корисних опцій мультивибору. Майте на увазі, це безкоштовно лише для оцінки!
nawfal

2
Я більше не можу придбати ліцензію MixEdit. Перевірте веб-сайт . Будь-яка ідея, як я можу його якось ліцензувати і позбутися надокучливого спливаючого вікна?
vullnetyy 02.03.17

3
це розширення не є безкоштовним !!
Діого Сід

6
чи є якісь альтернативні варіанти, які є безкоштовними або з можливістю купувати, щоб вам не потрібно було отримувати це надокучливе сповіщення? або можливість видалити його з MixEdit, якщо немає можливості придбати
Sonic Soul


13

У Visual Studio 2019 ви можете поставити свою каретку в потрібне місце, а потім натиснути SHIFT ALT та. (крапка). Це вибере наступне входження.


7

Зазначу лише,

MixEdit не є повністю безкоштовним.

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

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


1
а тепер навіть купити його не можна. воно просто вискакує у вікні сповіщення з проханням отримати ліцензію
Sonic Soul

6

Для коду Visual Studio

Дійшов до цього питання, тому що я шукав спосіб виділення декількох слів клацанням миші по коду VS, чого слід досягти за допомогою alt+click, але ця прив'язка клавіш не працювала (я думаю, це щось пов'язане з моєю ОС, Ubuntu ).

Для тих, хто шукає щось подібне, спробуйте змінити ключ на ctrl+click.

Перейдіть до Selection>Switch to Ctrl+Click for Multi Cursor


Ви впевнені, що не говорите про VS Code?
nawfal

Так, я ... Чи слід видаляти його чи просто заголовок як "для проти коду"? Я шукав код, коли потрапив сюди
jpenna

2
не потрібно видаляти, буде корисним для інших. Просто згадайте це у відповідь.
nawfal

6

Оновлення: розширення MixEdit тепер надає цю можливість.

Розширення MultiEdit для VS дозволяє щось подібне (не підтримує кілька виділень на момент написання статті, лише кілька карет)

Зверніться до Hanselman's, щоб отримати швидкий анімований gif цього в дії: одночасне редагування для Visual Studio з безкоштовним розширенням MultiEdit


1
Це розширення не підтримує кілька варіантів, як це вимагалось у вихідному запитанні. Розширення MixEdit робить.
mcw

2
MixEdit не існував, коли ОП розмістило своє запитання. Я відповів, наскільки мені відомо.
Mrchief

5

Я не міг знайти нічого вбудованого, що сумно. Однак у CodeRush є така функціональність .

У Notepad ++ ця функція вбудована. Просто увімкніть багатофункціональне редагування з

Налаштування> Налаштування> Редагування> Параметри багатофункціонального редагування

Але це не так інтуїтивно зрозуміло, як MS Word, що дозволяє вибрати два слова, двічі клацнувши на них (звичайно, після Ctrl).


4

у Visual 2019 відкрийте Параметри, щоб показати всі введіть тут опис зображення

та багатофункціональний вибір: утримуйте, Ctrl + Altа потім клацніть потрібну позицію або, утримуйте, Shift + Altпотім клацніть позицію, щоб багаторазово вибрати багаторядковий рядок від початку до кінця, натиснуто



0

Тепер плагін - це Multi Line tricks. Кнопки закінчення та початку порушили вибір.


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