Программирование

Как исправить невидимый курсор в VS Code темной темы

Если курсор исчезает в темной теме VS Code, переопределите его цвет и стиль в settings.json. Узнайте, как задать editorCursor.foreground и cursorStyle.

В VS Code курсор стал черным на черном фоне, поэтому его не видно. Я уже отключил ускорение GPU и перезапустил редактор, но проблема осталась. Как изменить цвет или стиль курсора, чтобы восстановить контраст при использовании темной темы?

Курсор исчезает, потому что темная тема по умолчанию задаёт ему цвет, совпадающий с фоном.
Вы можете переопределить его цвет (или стиль) глобально или для конкретных типов файлов, отредактировав settings.json и добавив запись workbench.colorCustomizations для editorCursor.foreground, либо изменить встроенные параметры editor.cursorStyle и editor.cursorBlinking.


Содержание


Как найти и отредактировать settings.json

  1. Откройте палитру команд (Ctrl+Shift+P / Cmd+Shift+P).
  2. Введите Preferences: Open Settings (JSON) и выберите её.
    Это откроет файл settings.json, где можно добавить или изменить пользовательские настройки, например, настроить курсор.

    Смотрите официальную документацию VS Code по настройкам – VS Code Settings Reference.


Изменение цвета курсора

Добавьте следующий фрагмент в settings.json:

json
{
  "workbench.colorCustomizations": {
    "editorCursor.foreground": "#FF00FF"   // замените на любой hex, RGB или название цвета
  }
}

Почему это работает:
editorCursor.foreground переопределяет цвет курсора, заданный активной темой.
Вы можете выбрать любой контрастный цвет; ярко‑пурпурный или неоново‑зеленый обычно хорошо видны на темных фонах.

Официальная справка по переопределению цветов – Color Customizations.


Настройка стиля и ширины курсора

Если вам нужен блоковый или подчёркивающий курсор, либо хотите сделать его толще, добавьте эти настройки:

json
{
  "editor.cursorStyle": "line",          // варианты: line, block, underline, lineThin, blockOutline, underlineOutline
  "editor.cursorBlinking": "blink",      // варианты: blink, smooth, phase, expand, solid
  "editor.cursorWidth": 2                // ширина в пикселях
}

Типичные комбинации:

Стиль курсора Типичное применение
block Легче заметить на очень темных темах
underline Предпочтителен для терминальных редакторов
line (по умолчанию) Классический вид код‑редактора

Смотрите документацию по настройке курсора редактора – Editor Cursor Customization.


Использование пользовательской темы или расширения для более гибкого управления

Если нужно задавать цвет курсора по языку или более тонко стилизовать его:

  1. Создайте собственную тему – скопируйте существующий JSON‑файл темы, измените tokenColors и colors.editorCursor.foreground, затем загрузите её через File → Preferences → Color Theme.

  2. Используйте расширение “Custom CSS and JS Loader” – внедрите CSS, который целится на курсор, например:

    css
    .monaco-editor .cursor {
      background-color: #00FF00 !important; /* ярко‑зеленый */
    }
    

Эти методы дают полный контроль, но требуют дополнительного обслуживания при обновлениях тем.

Руководство по созданию пользовательских тем – Custom Theme Creation.


Устранение распространённых проблем

Симптом Возможная причина Как исправить
Курсор всё ещё невидим Тема переопределяет настройку после вашего изменения Убедитесь, что editorCursor.foreground задан в settings.json и не переопределён настройками рабочего пространства или папки.
Цвет курсора меняется, но остаётся слишком светлым Фон чрезвычайно тёмный или тема использует похожие цвета Выберите более яркий hex‑код или переключитесь на тему с встроенным контрастным курсором.
Изменения откатываются после перезапуска Конфликтующее расширение или синхронизация настроек Отключите конфликтующее расширение или выключите Settings Sync для настроек курсора.

Вывод

  • Откройте settings.json и добавьте workbench.colorCustomizations для editorCursor.foreground, чтобы задать контрастный цвет.
  • Тонко настройте стиль, мигание и ширину курсора через editor.cursorStyle, editor.cursorBlinking и editor.cursorWidth.
  • Для более продвинутого управления по языку или теме рассмотрите создание пользовательской темы или использование расширения Custom CSS.
  • Если курсор всё равно не виден, проверьте, не переопределяют ли его настройки рабочего пространства или расширения.

В итоге, следуя этим шагам, вы восстановите видимый, контрастный курсор, не нарушая при этом темную тему.

Авторы
Проверено модерацией
Модерация