Другое

Включить многострочное редактирование в 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

Наиболее прямой способ добиться поведения, аналогичного Sublime Text — настроить Visual Studio Code на использование Ctrl+Click для добавления нескольких курсоров. По умолчанию в VS Code используется Alt+Click в Windows/Linux и Cmd+Click в macOS, но вы можете изменить это, чтобы соответствовать поведению Sublime Text.

Настройка многокурсорного редактирования Ctrl+Click

  1. Откройте настройки VS Code:

    • Нажмите Ctrl+, (Windows/Linux) или Cmd+, (Mac)
    • Или перейдите в Файл → Настройки → Параметры
  2. Найдите параметр Multi-Cursor:

    • Найдите “multiCursorModifier” или “multiple cursors”
    • Или используйте палитру команд (Ctrl+Shift+P) и найдите “Preferences: Open Settings (JSON)”
  3. Настройте параметр:

    json
    {
      "editor.multiCursorModifier": "ctrlCmd"
    }
    

    Этот параметр делает Ctrl+Click рабочим в Windows/Linux и Cmd+Click в macOS

  4. Быстрое переключение:

    • Вы также можете использовать меню: Выделение → Использовать 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.

Создание столбчатых выделений

С использованием мыши:

  1. Поставьте курсор в месте, где вы хотите начать выделение
  2. Удерживайте Shift+Alt (Windows/Linux) или Shift+Option (Mac)
  3. Перетащите горизонтально, чтобы создать столбчатое выделение
  4. Отпустите, чтобы разместить курсоры в конце каждого выделения

С использованием клавиатуры:

  1. Поставьте курсор в начальной позиции
  2. Используйте Shift+Alt+Стрелка вправо для расширения столбчатого выделения
  3. Или используйте 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)”):

json
{
  "editor.multiCursorModifier": "ctrlCmd",
  "editor.columnSelection": true,
  "editor.wordSeparators": "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~?",
  "editor.quickSuggestionsDelay": 10
}

Пользовательские привязки клавиш

Для пользователей Sublime Text, пришедших из других редакторов, эти привязки клавиш могут быть полезны:

json
[
  {
    "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, вот несколько обходных путей:

Обработка более коротких строк в столбчатом выделении

Хитрость со столбчатым выделением:

  1. Поставьте курсор в целевом столбце
  2. Начните перетаскивать поле многострочного выделения из этой точки
  3. Оставайтесь в том же столбце при перетаскивании

Как предлагается в проблеме на GitHub, “Обходной путь — поместить курсор в целевой столбец, а затем начать перетаскивать поле многострочного выделения из этой точки, оставаясь в том же столбце.”

Альтернативный подход для выравненного редактирования

Использование нескольких курсоров с точным позиционированием:

  1. Щелкните, чтобы разместить первый курсор
  2. Используйте Ctrl+Click (или настроенный модификатор), чтобы добавить курсоры в нужных позициях
  3. Используйте клавиши со стрелками для точной настройки позиций курсоров перед редактированием

Практические примеры и варианты использования

Пример 1: Редактирование нескольких переменных

Сценарий: Вы хотите изменить имена переменных с var1, var2, var3 на app_var1, app_var2, app_var3

Шаги:

  1. Выделите var1 двойным щелчком
  2. Нажмите Ctrl+D дважды, чтобы выделить var2 и var3
  3. Введите app_ для добавления префикса ко всем выделенным переменным

Пример 2: Добавление точек с запятой к нескольким строкам

Сценарий: Вы хотите добавить точки с запятой к нескольким строкам кода

Шаги:

  1. Выделите строки, которые хотите изменить
  2. Нажмите Shift+Alt+I, чтобы разместить курсоры в концах строк
  3. Введите ;, чтобы добавить точки с запятой ко всем строкам

Пример 3: Вставка текста на основе столбцов

Сценарий: Вы хотите вставить текст в одной и той же позиции на нескольких строках

Шаги:

  1. Используйте Shift+Alt+перетаскивание, чтобы создать столбчатое выделение
  2. Введите ваш текст — он будет вставлен в той же позиции столбца

Как демонстрируется в уроках на YouTube от Code 2020, “Удерживайте ctrl+shift при выделении, чтобы создать столбчатое/блочное выделение. VS Code создает курсор в конце каждой строки.”

Заключение

Visual Studio Code предоставляет мощные возможности многокурсорного редактирования, которые можно настроить для тесного соответствия поведению Sublime Text. Ключевые подходы включают:

  1. Настройка поведения Ctrl+Click через параметр editor.multiCursorModifier для естественного размещения курсора в стиле Sublime Text
  2. Освоение столбчатого выделения с помощью Shift+Alt+перетаскивание для вертикального редактирования текста
  3. Изучение комбинаций клавиш, таких как Ctrl+D для выбора на основе шаблонов и Shift+Alt+I для курсоров на основе строк
  4. Использование обходных путей, таких как позиционирование курсоров в целевых столбцах перед перетаскиванием для лучшего выравнивания

Реализуя эти техники, вы можете добиться эффективного многострочного редактирования в VS Code, которое closely напоминает рабочий процесс Sublime Text, значительно повышая вашу продуктивность при работе с повторяющимися текстовыми шаблонами и массовыми задачами редактирования.

Источники

  1. Официальная документация VS Code - Основы редактирования
  2. Stack Overflow - Как создать несколько курсоров в VS Code
  3. Проблема на GitHub - Многокурсорный выбор в стиле Sublime
  4. Super User - Выделение столбцов в Visual Studio Code
  5. Stack Overflow - Многострочное редактирование в VS Code
  6. Обсуждение на Reddit - Многострочное выделение в VSCode vs Sublime
  7. YouTube - Советы по VS Code - Блочное/столбчатое выделение
Авторы
Проверено модерацией
Модерация