Включить многострочное редактирование в VS Code как в Sublime Text
Узнайте, как настроить Visual Studio Code для многострочного редактирования, похожего на Sublime Text, с помощью Ctrl+Click, выделения столбцов и комбинаций клавиш. Повысьте свою продуктивность с помощью этих советов по VS Code.
Как включить многострочное редактирование в Visual Studio Code, аналогичное Sublime Text?
Например, я хочу иметь возможность нажимать Ctrl для размещения дополнительных курсоров и одновременного написания/удаления текста в нескольких местах документа.
Visual Studio Code предлагает несколько методов для достижения многострочного редактирования в стиле Sublime Text, включая использование модификаторов с щелчками мыши, комбинации клавиш для выбора на основе шаблонов и столбчатый/блочный выбор. Вы можете настроить VS Code для использования Ctrl+Click для многокурсорного редактирования, аналогичного Sublime Text, изменив параметр editor.multiCursorModifier.
Содержание
- Включение многокурсорного редактирования Ctrl+Click
- Методы столбчатого и блочного выбора
- Комбинации клавиш для многокурсорного редактирования
- Настройка VS Code для поведения в стиле Sublime Text
- Обходные пути для различий в поведении
- Практические примеры и варианты использования
Включение многокурсорного редактирования Ctrl+Click
Наиболее прямой способ добиться поведения, аналогичного Sublime Text — настроить Visual Studio Code на использование Ctrl+Click для добавления нескольких курсоров. По умолчанию в VS Code используется Alt+Click в Windows/Linux и Cmd+Click в macOS, но вы можете изменить это, чтобы соответствовать поведению Sublime Text.
Настройка многокурсорного редактирования Ctrl+Click
-
Откройте настройки VS Code:
- Нажмите
Ctrl+,(Windows/Linux) илиCmd+,(Mac) - Или перейдите в Файл → Настройки → Параметры
- Нажмите
-
Найдите параметр Multi-Cursor:
- Найдите “multiCursorModifier” или “multiple cursors”
- Или используйте палитру команд (
Ctrl+Shift+P) и найдите “Preferences: Open Settings (JSON)”
-
Настройте параметр:
json{ "editor.multiCursorModifier": "ctrlCmd" }Этот параметр делает Ctrl+Click рабочим в Windows/Linux и Cmd+Click в macOS
-
Быстрое переключение:
- Вы также можете использовать меню: Выделение → Использовать Ctrl+Click для Multi-Cursor
Как объясняется в официальной документации VS Code, “Это позволяет пользователям, пришедшим из других редакторов, таких как Sublime Text или Atom, продолжать использовать модификатор клавиатуры, к которому они привыкли.”
Альтернативные методы с мышью
Alt+Click (по умолчанию):
- Windows/Linux: Удерживайте
Altи щелкните, чтобы добавить курсоры - macOS: Удерживайте
Optionи щелкните
Столбчатый выбор:
- Windows/Linux:
Shift+Alt+ перетаскивание мыши - macOS:
Shift+Option+ перетаскивание мыши - Это создает курсоры в одной и той же позиции столбца на нескольких строках
Методы столбчатого и блочного выбора
Столбчатый выбор особенно полезен, когда вы хотите редактировать текст по вертикальной прямой линии, что является типичным вариантом использования для пользователей Sublime Text.
Создание столбчатых выделений
С использованием мыши:
- Поставьте курсор в месте, где вы хотите начать выделение
- Удерживайте
Shift+Alt(Windows/Linux) илиShift+Option(Mac) - Перетащите горизонтально, чтобы создать столбчатое выделение
- Отпустите, чтобы разместить курсоры в конце каждого выделения
С использованием клавиатуры:
- Поставьте курсор в начальной позиции
- Используйте
Shift+Alt+Стрелка вправодля расширения столбчатого выделения - Или используйте
Ctrl+Shift+Lдля выделенного текста, чтобы создать курсоры в концах строк
Согласно обсуждениям на Super User, “По умолчанию используется Shift+Option. Если вы выберете ‘Selection > Switch to Cmd+Click for Multi-Cursor’, то изменится на Shift+Cmd.”
Отличия в поведении от Sublime Text
VS Code обрабатывает столбчатый выбор иначе, чем Sublime Text, особенно со строками разной длины:
“Да, у него есть много курсоров, но поведение отличается на более коротких строках. Я не смог добиться того же поведения на строках короче предыдущих, в Sublime курсор как бы добавляет пробелы, чтобы сохранить прямую линию, в VS Code…”
Это отличие означает, что в VS Code столбчатые выделения заканчиваются на фактических границах строк, в то время как Sublime Text расширяет выделения, добавляя пробелы для сохранения выравнивания.
Комбинации клавиш для многокурсорного редактирования
VS Code предоставляет несколько комбинаций клавиш для многокурсорного редактирования, которые хорошо работают без мыши:
Выбор на основе шаблонов
Добавить выделение для следующего вхождения:
- Windows/Linux:
Ctrl+D - macOS:
Cmd+D - Каждый нажатие выбирает следующее вхождение текущего слова/выделения
Добавить выделение к следующему совпадению поиска:
Alt+Enter(Windows/Linux)Cmd+Enter(macOS)
Выбрать все вхождения совпадения поиска:
Ctrl+Shift+L(Windows/Linux)Cmd+Shift+L(macOS)- Аналогично
Ctrl+Shift+Lв Sublime Text
Создать несколько курсоров из выделенных строк:
Shift+Alt+I(Windows/Linux)Shift+Option+I(macOS)- Размещает курсоры в конце каждой выделенной строки
Как упоминается в обсуждениях на Stack Overflow, “Также есть новый пункт меню Use Ctrl + Click for Multi-Cursor в меню Selection для быстрого переключения этого параметра.”
Перемещение и управление несколькими курсорами
Переместить все курсоры:
Ctrl+U(Windows/Linux)Cmd+U(macOS)- Отменяет последнюю операцию с курсором
Переместить синхронизированные курсоры:
- Клавиши со стрелками влево
◄и вправо►для одновременного перемещения всех курсоров - Это позволяет редактировать выделения по необходимости
Настройка VS Code для поведения в стиле Sublime Text
Чтобы сделать VS Code более похожим на Sublime Text, вы можете настроить несколько параметров и создать пользовательские привязки клавиш.
Основные параметры
Добавьте эти параметры в ваш файл settings.json (Ctrl+Shift+P → “Preferences: Open Settings (JSON)”):
{
"editor.multiCursorModifier": "ctrlCmd",
"editor.columnSelection": true,
"editor.wordSeparators": "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~?",
"editor.quickSuggestionsDelay": 10
}
Пользовательские привязки клавиш
Для пользователей Sublime Text, пришедших из других редакторов, эти привязки клавиш могут быть полезны:
[
{
"key": "ctrl+shift+k",
"command": "editor.action.deleteLines",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+l",
"command": "editor.action.insertCursorAtEndOfEachLineSelected",
"when": "editorTextFocus"
},
{
"key": "ctrl+d",
"command": "editor.action.addSelectionToNextFindMatch",
"when": "editorFocus"
}
]
Обходные пути для различий в поведении
Когда поведение VS Code отличается от Sublime Text, вот несколько обходных путей:
Обработка более коротких строк в столбчатом выделении
Хитрость со столбчатым выделением:
- Поставьте курсор в целевом столбце
- Начните перетаскивать поле многострочного выделения из этой точки
- Оставайтесь в том же столбце при перетаскивании
Как предлагается в проблеме на GitHub, “Обходной путь — поместить курсор в целевой столбец, а затем начать перетаскивать поле многострочного выделения из этой точки, оставаясь в том же столбце.”
Альтернативный подход для выравненного редактирования
Использование нескольких курсоров с точным позиционированием:
- Щелкните, чтобы разместить первый курсор
- Используйте
Ctrl+Click(или настроенный модификатор), чтобы добавить курсоры в нужных позициях - Используйте клавиши со стрелками для точной настройки позиций курсоров перед редактированием
Практические примеры и варианты использования
Пример 1: Редактирование нескольких переменных
Сценарий: Вы хотите изменить имена переменных с var1, var2, var3 на app_var1, app_var2, app_var3
Шаги:
- Выделите
var1двойным щелчком - Нажмите
Ctrl+Dдважды, чтобы выделитьvar2иvar3 - Введите
app_для добавления префикса ко всем выделенным переменным
Пример 2: Добавление точек с запятой к нескольким строкам
Сценарий: Вы хотите добавить точки с запятой к нескольким строкам кода
Шаги:
- Выделите строки, которые хотите изменить
- Нажмите
Shift+Alt+I, чтобы разместить курсоры в концах строк - Введите
;, чтобы добавить точки с запятой ко всем строкам
Пример 3: Вставка текста на основе столбцов
Сценарий: Вы хотите вставить текст в одной и той же позиции на нескольких строках
Шаги:
- Используйте
Shift+Alt+перетаскивание, чтобы создать столбчатое выделение - Введите ваш текст — он будет вставлен в той же позиции столбца
Как демонстрируется в уроках на YouTube от Code 2020, “Удерживайте ctrl+shift при выделении, чтобы создать столбчатое/блочное выделение. VS Code создает курсор в конце каждой строки.”
Заключение
Visual Studio Code предоставляет мощные возможности многокурсорного редактирования, которые можно настроить для тесного соответствия поведению Sublime Text. Ключевые подходы включают:
- Настройка поведения Ctrl+Click через параметр
editor.multiCursorModifierдля естественного размещения курсора в стиле Sublime Text - Освоение столбчатого выделения с помощью
Shift+Alt+перетаскиваниедля вертикального редактирования текста - Изучение комбинаций клавиш, таких как
Ctrl+Dдля выбора на основе шаблонов иShift+Alt+Iдля курсоров на основе строк - Использование обходных путей, таких как позиционирование курсоров в целевых столбцах перед перетаскиванием для лучшего выравнивания
Реализуя эти техники, вы можете добиться эффективного многострочного редактирования в VS Code, которое closely напоминает рабочий процесс Sublime Text, значительно повышая вашу продуктивность при работе с повторяющимися текстовыми шаблонами и массовыми задачами редактирования.
Источники
- Официальная документация VS Code - Основы редактирования
- Stack Overflow - Как создать несколько курсоров в VS Code
- Проблема на GitHub - Многокурсорный выбор в стиле Sublime
- Super User - Выделение столбцов в Visual Studio Code
- Stack Overflow - Многострочное редактирование в VS Code
- Обсуждение на Reddit - Многострочное выделение в VSCode vs Sublime
- YouTube - Советы по VS Code - Блочное/столбчатое выделение