как писать код одновременно в нескольких строках
Многострочное редактирование в Visual Studio Code
Можно ли включить многострочное редактирование, как в Sublime Text?
27 ответов
Обратите внимание, что стороннее программное обеспечение может мешать работе этих ярлыков, не позволяя им работать должным образом (в частности, программное обеспечение Intel HD Graphics в Windows; дополнительные сведения см. В комментариях).
Если у вас возникла эта проблема, вы можете либо отключить горячие клавиши Intel / другого программного обеспечения, либо изменить ярлыки VS Code (описанные ниже).
Или, как указывает Исидор Николич, вы можете удерживать Alt и щелкать левой кнопкой мыши, чтобы произвольно размещать курсоры.
Вы можете просматривать и редактировать сочетания клавиш через:
Файл → Настройки → Сочетания клавиш
Официальные шпаргалки по сочетаниям клавиш VS Code:
В Linux Fedora (я пробовал с Fedora 31) с KDE перейдите по ссылке:
решение от @maxime использования SHIFT + ALT + i сработало для меня, когда мне нужно было быстро отредактировать
Однако я случайно обнаружил (и еще не упоминался здесь), что существует ограничение в 10 тыс. Строк в «режиме редактирования курсора» (есть открытый запрос функции Github для ее увеличения). Это означает, что для очень больших файлов может быть лучше записать ваши изменения, чем делать это вручную.
Мои настройки: 64-битная Windows 8.1, Visual Studio Code версии 1.33.1.
Проблема: конфликт с сочетаниями клавиш Intel HD Graphics 4000
Многострочное редактирование в коде Visual Studio
Можно ли включить многострочное редактирование, как в Sublime Text?
ОТВЕТЫ
Ответ 1
Обратите внимание, что сторонние программы могут мешать этим ярлыкам, мешая им работать должным образом (в частности, программное обеспечение Intel HD Graphics для Windows; подробности см. В комментариях).
Если у вас возникла эта проблема, вы можете либо отключить горячие клавиши Intel/другого программного обеспечения, либо изменить ярлыки кода VS (описанные ниже).
Нажмите Esc для сброса на один курсор.
Или, как указывает Исидор Николич, вы можете удерживать Alt и щелкать левой кнопкой мыши, чтобы произвольно размещать курсоры.
Вы можете просматривать и редактировать сочетания клавиш с помощью:
Файл → Настройки → Сочетания клавиш
Официальные коды быстрого доступа VS Code Keyboard:
Ответ 2
Решено с помощью всего двух шагов!
Ответ 3
Ответ 4
Windows: shift + alt + Mouse Left Button
macOS: shift + option + Click
Ответ 5
Используйте CMD + D для Mac.
Ответ 6
Начиная с версии 1.13 (май 2017 г.), вы, наконец, можете изменить клавишу-модификатор по умолчанию для создания нескольких курсоров (добавить в настройки):
Ответ 7
Ответ 8
(Windows 10 pro x64) Здесь есть несколько способов!
Alt + Ctrl + up / down
Назначение клавиш: Ctrl + click (. не работает!)
Ответ 9
Я хотел выделить несколько строк и нажать «что-то», чтобы иметь курсор для каждой выбранной строки (аналогично Ctrl + Shift + L в Sublime Text). Это действие в коде Visual Studio называется «Добавление курсоров к концам строк».
Это было проверено в Visual Studio Code 1.22 и работает как на Windows, так и на Mac.
Теперь у вас есть один курсор на выбранную строку.
Ответ 10
Я использую расширение vscodevim, поэтому я не уверен, является ли это распространенной проблемой. Но у меня возникла проблема, когда Ctrl + Alt + UpArrow перевернул мой экран вверх ногами.
Глядя на основы кода Visual Studio (я не знаю, изменили ли они это в недавнем обновлении), он говорит:
Ctrl + Alt + Shift + ( Up / down )
Ответ 11
По состоянию на апрель 2018 года (версия 1.23) теперь вы также можете использовать среднюю кнопку мыши для многострочного выбора/выбора блока.
Ответ 12
Шаг 1:
Выберите слово для замены
Шаг 2:
Ctrl + F это выберет его несколько вхождений
Шаг 3:
Alt + Enter это установит курсор на все найденные вхождения
Шаг 4:
Просто начните вводить новое слово
Ответ 13
Я думаю, что это зависит от вашей версии кода Visual Studio.
Ответ 14
В Windows у меня работают следующие комбинации:
Ответ 15
В последнем выпуске кода Visual Studio теперь вы можете перетаскивать курсор, удерживая Option ( Alt в Windows), чтобы выбрать один и тот же столбец в нескольких строках.
Чтобы включить это, убедитесь, что вы изменили ваш editor.multiCursorModifier так:
Из заметок о выпуске кода Visual Studio 1.32.0:
В следующем видео выбор начинается как обычный выбор, а затем нажимается и удерживается Alt, пока кнопка мыши не будет отпущена:
Ответ 16
Если вы используете Linux, существует вероятность конфликта с Alt + щелчком, который используется по умолчанию для «перемещения окна».
Вы можете перейти в меню «Настройки» → «Поведение окна» → «Поведение окна» → вкладка «Действия».
Просто удалите Alt + left (удерживайте), и это будет работать.
Ответ 17
В Visual Studio Code просто нажмите Alt и переместите курсор в место редактирования.
Ответ 18
Мои настройки: Windows 8.1 64 бит, Visual Studio Code версии 1.33.1.
Проблема: конфликт с сочетаниями клавиш Intel HD Graphics 4000
Вот учебник, чтобы помочь кому-то.
Ответ 19
Я использую раскладку Sublime Text, и связывание клавиш, представленное в верхнем ответе, похоже, не работает 🙁 Могут быть некоторые конфликты между кодом Visual Studio и подсвеченными раскладками клавиш.
Связывание клавиш, рекомендованное @Han, работает для меня (высоко ценится!):
(Sidenote) Ниже приведен небольшой пример использования Emmet вместе с многострочным курсором (включается и отключается с помощью этих назначений клавиш, перечисленных выше):
Ответ 20
Просто Opt + клик работает для меня на Mac
Ответ 21
Я использую следующие расширения кода Visual Studio для того же.
Многострочное редактирование в коде Visual Studio
Например, нажмите, Ctrl чтобы разместить дополнительные курсоры и возможность писать / удалять в нескольких местах документа одновременно.
Обратите внимание, что сторонние программы могут мешать этим ярлыкам, мешая им работать должным образом (в частности, программное обеспечение Intel HD Graphics для Windows; подробности см. В комментариях).
Если у вас возникла эта проблема, вы можете либо отключить горячие клавиши Intel / другого программного обеспечения, либо изменить ярлыки кода VS (описанные ниже).
Нажмите, Esc чтобы сбросить до одного курсора.
Вы можете просматривать и редактировать сочетания клавиш с помощью:
Файл → Настройки → Сочетания клавиш
Официальные коды быстрого доступа VS Code Keyboard:
Решено с помощью всего двух шагов!
Windows: shift + alt + Mouse Left Button
macOS: shift + option + Click
Используйте Ctrl +, D чтобы использовать многословное редактирование одних и тех же слов в Windows и Linux.
Используйте CMD + D для Mac.
Начиная с версии 1.13 (май 2017 г.), вы, наконец, можете изменить клавишу-модификатор по умолчанию для создания нескольких курсоров (добавить в настройки):
Я хотел выделить несколько строк и нажать «что-то», чтобы иметь курсор для каждой выбранной строки (аналогично Ctrl + Shift + L в Sublime Text). Это действие в коде Visual Studio называется «Добавить курсоры в конец строки».
Теперь у вас есть один курсор на выбранную строку.
(Windows 10 pro x64) Здесь есть несколько способов!
Alt + Ctrl + up / down
Клавиши: Ctrl + click (. не работает!)
Глядя на основы кода Visual Studio (я не знаю, изменили ли они это в недавнем обновлении), он говорит:
Ctrl + Alt + Shift + ( Up / down )
Шаг 1:
выберите слово для замены
Шаг 2:
Ctrl + F это выберет его несколько вхождений
Шаг 3:
Alt + Enter это установит курсор на все найденные случаи
Шаг 4:
Просто начните вводить новое слово
По состоянию на апрель 2018 года (версия 1.23) теперь вы также можете использовать среднюю кнопку мыши для многострочного выбора / выбора блока.
В последнем выпуске кода Visual Studio теперь вы можете перетаскивать курсор, удерживая Option ( Alt в Windows), чтобы выбрать один и тот же столбец в нескольких строках.
Чтобы включить это, убедитесь, что вы изменили свой editor.multiCursorModifier вид так:
Из заметок о выпуске кода Visual Studio 1.32.0:
В следующем видео выбор начинается как обычный выбор, а затем нажимается и удерживается Alt, пока кнопка мыши не будет отпущена:
В Windows у меня работают следующие комбинации:
Я думаю, что это зависит от вашей версии кода Visual Studio.
В Visual Studio Code просто нажмите Alt и поместите курсор в место редактирования (где вы хотите редактировать) и щелкните правой кнопкой мыши, чтобы выбрать.
Рабочим решением для меня было сначала выбрать необходимый текст для редактирования, а затем с помощью CTRL + F2 выбрать все подходящие данные на странице. Вы также можете использовать CTRL + Shift +, L как предложено @lesterCovax
Обратите внимание: вышеупомянутое решение использует встроенную возможность редактора VSCode для выбора аналогичного текста на всей странице, и, следовательно, будьте осторожны.
В дополнение ко всем ответам есть еще один способ. Выберите нужные строки и нажмите:
Это помещает курсор в каждую строку в выделении.
Вы можете перейти в меню Настройки → Окно Поведение → Окно поведения → Действия вкладки
Просто удалите Alt + left (удерживайте), и это будет работать.
Это лучший способ, потому что вам не нужно держать две + клавиши для выполнения такой простой задачи.
Я использую Sublime Text раскладку и связывание клавиш, представленное в верхнем ответе, похоже, не работает 🙁 Могут быть некоторые конфликты между кодом Visual Studio и подсвеченными раскладками клавиш.
Связывание клавиш, рекомендованное @Han, работает для меня (высоко ценится!):
(Sidenote) Ниже приведен небольшой пример использования Emmet вместе с многострочным курсором (включается и отключается с помощью этих назначений клавиш, перечисленных выше):
версия 1.43 (февраль 2020 г.)
Теперь вы можете переключать режим выбора столбцов, который меняет жесты мыши и клавиши со стрелками, с помощью:
Примечание. После активации в панели состояния появляется панель «Выбор столбца», которую можно нажать, чтобы снова отключить.
Мои настройки: Windows 8.1 64 бит, Visual Studio Code версии 1.33.1.
Проблема: конфликт с сочетаниями клавиш Intel HD Graphics 4000
Вот учебник, чтобы помочь кому-то.
Просто Opt + клик работает для меня на Mac
Решение от @maxime с использованием SHIFT + ALT + i работал для меня, когда мне нужно быстро исправить
Однако я случайно обнаружил (и пока не упоминал здесь), что в «режиме редактирования курсора» существует ограничение в 10 тыс. Строк (есть открытый запрос функции Github для его увеличения). Это означает, что для очень больших файлов может быть лучше написать ваши правки, чем делать это вручную.
В Linux Fedora (я пробовал с Fedora 31) с KDE, перейдите по ссылке:
10 горячих клавиш VS Code, которые ускорят вашу работу
Горячие клавиши — добро, польза и экономия времени. Давайте разберёмся, как с их помощью чуть упростить себе жизнь в Visual Studio Code.
Быстро добавить комментарий
Обычно чтобы добавить комментарий, нужно перейти в начало строки и дописать туда два слеша. Это медленно. Быстрее нажать в любом месте строки Ctrl + /, и строка закомментируется, если она ещё не. А если уже да, то комментарий исчезнет.
Перейти к строке под номером
Иногда отладчики внезапно сообщают, что на строке 953 случилась непоправимая инфернальная ошибка вселенной. Чтобы не выискивать вручную, не листать и не тратить на это время, нажмите Ctrl + G, введите номер строки и спокойно спасайте вселенную.
Поменять строку местами с соседними
Случается такое, что ваш алгоритм — не алгоритм. Всё пошло не так, а вместо числа 42 вывелось сообщение «Данные удалены». Кому-то для этого нужно переписать весь код, но иногда бывает достаточно поменять строки местами и всё заработает.
Alt и стрелки меняют текущую строку местами с соседними.
Дублировать строку
Windows — Shift + Alt + ↓ / ↑
Это для тех, кто не хочет копировать и вставлять несколько раз одно и то же.
Перейти к парной скобке
Windows — Ctrl + Shift + \
Когда кода становится много, очень просто запутаться в закрывающих и открывающих скобках, непонятно, где какой блок, и вообще, что происходит. На помощь приходит Ctrl+Shift+\ — это хорошее дополнение к стандартной подсветке парных скобок в VS Code.
Переименовать переменную
Отформатировать документ
Windows — Shift + Alt + F
VS Code предложить установить расширение или выбрать из существующих, а потом красиво отформатирует документ — расставит по местам блоки, скобки, и сделает строки кода читаемыми.
Перейти к объявлению переменной
Иногда вообще непонятно, откуда взялась переменная, какая у неё область видимости, и где она объявлена. F12 перенесёт нас к объявлению выделенной переменной, функции или метода. Если объявление в другом файле — всё равно перенесёт.
Включить/выключить перенос слов
Вкусовщина. Если строки кода или текст не вмещается в редактор по ширине, включите перенос.
Включить дзен-режим
Windows — Ctrl + K Z
Лучшее решение для тех, кто входит состояние потока, когда пишет код. Дзен-режим скрывает все панели, разворачивает редактор на весь экран, и вы можете плыть в волнах кода и думать только о нём. Чтобы вернуться обратно в реальный мир, нажмите Escape.
На интерактивных курсах все клавиши станут горячими
Потому что оторваться вообще не получается. 11 глав бесплатно, и −30% на подписку в первую неделю обучения.
Нажатие на кнопку — согласие на обработку персональных данных
sergey vasin
The IT blog
Еще несколько сочетаний клавиш в Visual Studio Code
Продолжим начатую в предыдущем посте тему и рассмотрим еще несколько полезных сочетаний клавиш в Visual Studio Code.
Folding
Что такое Folding? Это возможность свертывать части кода для того, чтобы он не загромождал имеющееся пространство редактора.
В разных средах разработки это реализовано по-разному. Тот вариант, что используется в Visual Studio Code — это так называемый language-unaware folding, то есть, он не зависит от используемого языка, и как следствие, не различает соответствующие языку конструкции, которые могли бы быть подходящими кандидатами на свертывание. В данном случае вся логика свертывания основана на отступах.
То есть, начало региона (части кода, которая подлежит свертыванию) соответствует строке с меньшим отступом относительно строк, следующих за ней. А конец региона находится непостредственно перед строкой, имеющей такой же (или меньший) отступ, что и первая строка региона.
Ctrl+Shift+[ — Fold, и Ctrl+Shift+[ — Unfold — сочетания клавиш, которые выполняют свертывание и развертывание регионов.
Таким образом, если мы нажмем сочетание клавиш Ctrl+Shift+[ в то время, когда
курсор будет находится внутри функции
эта часть кода будет выглядеть следующим образом
Вышеприведенные сочетания выполняют сверывание и развертывание частей кода в зависимости от текущего расположения курсора. Если же нам нужно свернуть или развернуть все существующие в редактируемом файле регионы, то мы можем воспользоваться сочетаниями клавиш Ctrl+K Ctrl+0 — Fold All — и Ctrl+K Ctrl+J — Unfold All.
Понятно, что регионы могут быть вложенными, и, таким образом их можно разделить на регионы первого уровня, второго и так далее. Для того, чтобы свернуть только регионы определенного уровня, существуют сочетания клавиш Ctrl+K Ctrl+1, Ctrl+K Ctrl+2 и так до Ctrl+K Ctrl+9.
Например, если мы нажмем сочетание Ctrl+K Ctrl+2, то код
станет выглядеть следующим образом
Еще один вид свертывания — это рекурсивное свертывание. В данном случае сначала свертываются регионы с наибольшим отступом, потом следующие за ними в порядке уменьшения отступа и так до регионов первого уровня. Происходит это все для той части кода, на которой в данный момент расположен курсор. Рекурсивное свертывание выполняется при нажатии клавиш Ctrl+K Ctrl+[ — Fold Recursively.
Для того, чтобы рекурсивно развернуть какую-либо часть кода используется сочетание клавиш Ctrl+K Ctrl+] — Unfold Recursively.
Indent
Теперь давайте поговорим об отступах.
Когда мы пишем код, для задания отступа удобнее всего пользоваться клавишей Tab. Когда код уже написан и нам нужно его подвинуть в ту или иную сторону, мы также можем использовать Tab для увеличения отступа и Shift+Tab для его уменьшения.
Если мы хотим поправить только одну строку, мы можем установить курсор в ее начало и воспользоваться вышеприведенными клавишами. Если это действие требуется для нескольких строк, перед использованием Tab или Shift+Tab нам потребуется их выделить, причем не обязательно полностью.
С другой стороны, мы можем увеличить или уменьшить отступ строки вне зависимости от того, в какой ее части находится курсор и выделена она или нет. В этом нам помогут сочетания клавиш Ctrl+[ — Outdent Line и Ctrl+] — Indent Line. Тем не менее, для изменения отступа нескольких строк одновременно, нам по-прежнему потребуется их выделить.
Comments
Несмотря на то, что мы можем определить строку (или несколько) как комментарий вручную, использование сочетаний клавиш позволяет сделать это немного быстрее и удобнее.
Для того, чтобы закомментировать (или раскомментировать) строку, мы можем использовать сочетание Ctrl+/ — Toggle Line Comment. Так же, как и в предыдущем случае, для того, чтобы закомментировать несколько строк одновременно, нам потребуется их выделить.
Для создания блочного комментария используется сочетание клавиш Shift+Alt+A — Toggle Block Comment.
Если мы нажмем эти клавиши без выделения чего-либо, результатом станет пустой блок комментария. С другой стороны, если перед тем, как нажать это сочетание, мы выделим какой-либо блок текста, результатом будет блочный комментарий, состоящий из выделенного текста.
Quotes, parentheses, etc.
Особенности, свойственные блочным комментариям, в части того, что при выделении текста и нажатии определенных клавиш этот текст становится обрамлен какими-либо символами, встречаются и в некоторых других случаях.
Например, также это свойственно таким символам, как одинарные кавычки, двойные кавычки, круглые скобки, квадратные скобки и фигурные скобки.
Select highlights
Еще одно полезное сочетание клавиш — Ctrl+Shift+L — Select All Occurrences of Find Match.
Полезно оно следующим. Когда вы используете поиск (Ctrl+F) для нахождения каких-либо элементов кода, то диалоговое окно поиска показывает вам найденные элементы по одному. В случае, когда вы хотите выделить сразу все найденные совпадения с целью их поправить или изменить, вам поможет вышеприведенное сочетание клавиш.
Кроме того, когда мы выделяем какой-либо элемент кода, можно заметить, что все остальные совпадения при этом также слегка подсвечиваются. Ctrl+Shift+L позволяет выделить все имеющиеся совпадения и в этом случае тоже.