Изменить цвет выделения текста в Visual Studio Code

114

Прямо сейчас это тусклый серый слой, который трудно увидеть. Есть ли способ изменить цвет по умолчанию?

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

duyn9uyen
источник
Инструменты -> Параметры, в целом: Шрифты и цвета
Austin T French
10
Код Visual Studio, а не VS 2013, 2015 и т. Д.
duyn9uyen

Ответы:

14

Обновление См. Ответ @Jakub Zawiślak для VScode 1.12+


Старый ответ

Код Visual Studio вызывает это выделение выделения, и, к сожалению, я не думаю, что в настоящее время цвет настраивается. Темы могут управлять цветом «выделения», но цвет «выделения» жестко запрограммирован.

См. Эту проблему, отслеживающую возможное решение: https://github.com/Microsoft/vscode/issues/1636

(В качестве примечания, вы можете переключить эту функцию или / выключить с editor.selectionHighlightнастройкой.)

Мэтт Бирнер
источник
4
Устаревший .
Alex
4
Обновлено для ссылки на ответ Якуба Завислака для современных версий VSCode
Мэтт Бирнер
@ duyn9uyen, лучше измените принятый ответ.
кмчмк
268

Добавьте следующие строки в параметр «Editor: Token Color Customizations» внутри файла settings.json.

"workbench.colorCustomizations": {
    "editor.selectionBackground": "#135564",
    "editor.selectionHighlightBackground": "#135564"
},

Дополнительные параметры см. В справочнике по цвету темы.

Якуб Завислак
источник
5
Есть ли способ изменить цвет текста? В противном случае вам нужно найти цвет фона, который сохраняет читаемость в сочетании с каждым цветом в вашей цветовой схеме. Это одна из двух проблем, которые, к сожалению, мешают мне использовать VS Code ...
Бруно Эли
4
@BrunoBEly Если вы откроете, а "workbench.colorCustomizations": {}затем начнете вводить текст "editor.selection, в меню автозаполнения будут предложены все возможные клавиши и их объяснение, включая передний план выбора.
Tobia
2
@Tobia спасибо за подсказку! Я нашел это, но, вероятно, что-то делаю не так. Я установил красный цвет фона и переднего плана, но, похоже, работает только фон (я использую VS Code 1.18.0)
Бруно Эли
1
для терминала: "terminal.selectionBackground": "#f1eeb3a9",
JinSnow
1
Кажется, это не работает для Python, настройка selectionHighlightBackground, похоже, не влияет на то, какой цвет использует vscode при выделении использования переменной или функции (например)
jrh
49

Вышеупомянутые ответы охватывают Selected textи areas with same content as selection, но они пропускают Current Search Matchи Other Search Matches- с той же проблемой .

"workbench.colorCustomizations": {
    "editor.findMatchBackground": "#00cc44a8", //Current SEARCH MATCH
    "editor.findMatchHighlightBackground": "#ff7b00a1" //Other SEARCH MATCHES
}

Обратите внимание, что указанные выше настройки также повлияют на цвета при использовании «Изменить все вхождения» CtrlF2 (очень полезная команда, которая интеллектуально выбирает все вхождения строки, помещая курсоры в каждое место для редактирования нескольких экземпляров) .

ОБНОВИТЬ:

Для тех, кто использует популярное расширение « Пронумерованные закладки» - теперь вы можете изменить цвет фона линий, отмеченных закладками, - делает их очень легко заметить. Добавьте эту строку в свой settings.json (также в workbench.colorCustomizations ):

        "numberedBookmarks.lineBackground": "#007700"

И не пропустите полезный совет Генри Чжу в его ответе ниже (не забудьте проголосовать за его ответ, если он окажется для вас полезным) . Я добавил совет Генри к настройкам выше и обнаружил, что общий эффект улучшился.


Пример типичного файла настроек, пост мода:

    {
        "git.enableSmartCommit": правда,
        "git.autofetch": правда,
        "breadcrumbs.enabled": правда,
        "git.confirmSync": ложь,
        "explorer.confirmDelete": ложь,
        "code-runner.saveFileBeforeRun": правда,
        "code-runner.saveAllFilesBeforeRun": true,
        "workbench.activityBar.visible": true,
        "files.trimTrailingWhitespace": true,
        "telemetry.enableTelemetry": ложь,
        "scm.providers.visible": 0, // 0 позволяет вручную изменять размер панелей управления версиями
        "workbench.colorCustomizations": {
            "editor.selectionBackground": "# e788ff7c", // ВЫБРАННЫЙ текст
            "editor.selectionHighlightBackground": "# ff00005b", // То же содержимое, что и выделение
            "editor.findMatchBackground": "# 00cc44a8", // Текущее ПОИСКОВОЕ МАТЧ
            "editor.findMatchHighlightBackground": "# ff7b00a1", // Другие ПОИСКОВЫЕ СООТВЕТСТВИЯ
            "numberedBookmarks.lineBackground": "# 007700"
            // Совет Генри идет сюда ... (не забудьте добавить запятую в строке выше)
        }
    }


Где найти файл settings.json:

Depending on your platform, the user settings file is located here:

Windows %APPDATA%\Code\User\settings.json
macOS $HOME/Library/Application Support/Code/User/settings.json
Linux $HOME/.config/Code/User/settings.json

ALTERNATE, чтобы открыть файл settings.json:

  1. Ctrl +, (запятая), чтобы открыть настройки

  2. Верстак

  3. Редактор настроек

  4. В поле поиска вверху вставьте workbench.colorCustomizations

  5. Слева нажмите, Workbenchа затемAppearance

  6. Щелкните ссылку справа: Edit in settings.json

Ссылки:

https://code.visualstudio.com/api/references/theme-color#editor-colors

https://code.visualstudio.com/docs/getstarted/themes#_customize-a-color-theme

https://code.visualstudio.com/docs/getstarted/settings

cssyphus
источник
1
Я нашел их также полезными в сочетании с этим ответом, чтобы быстро найти совпадения. Обратите внимание на поддержку RGBA (в моем случае установка 75 альфа в конце значений цвета:"editor.wordHighlightBorder": "#00ff0075", "editor.findMatchHighlightBorder": "#00ff0075"
Нил Гай Линдберг
Спасибо за совет, Нил. Я попробую.
cssyphus
Кто-нибудь знает, как такое возможно для совпадений в терминальном поиске?
holzkohlengrill
20

Если кто-то найдет это и, как и я, не смог заставить вышеуказанную конфигурацию работать, попробуйте сделать это.

  1. перейдите в файл> Настройки> настройки
  2. введите в редакторе поиска настройки цвета токена
  3. под заголовком настроек цвета токена редактора
  4. нажмите на редактирование в settings.json
  5. в правом столбце выберите настройки пользователя
  6. вставьте это в объект json

Обязательно замените # на цвета, которые вы хотите видеть.

"workbench.colorCustomizations": {
    "editor.lineHighlightBackground": "#<color1>",
    "editor.selectionBackground": "#<color2>",
    "editor.wordHighlightBackground": "#<color3>",
    "editorCursor.foreground": "#<color4>"
},

Как я понимаю вышеупомянутый config.

editor.lineHighlightBackground - когда вы нажимаете на линию, это цвет фона линии.

"editor.selectionBackground" - это фон совпадающих выделений в другом месте буфера. Подумайте о переменной с именем foo, которая используется во всем файле. Затем вы выделяете этот текст, и все остальные foo на странице будут этого цвета.

"editor.wordHighlightBackground" - это цвет выделенного текста, если выделенное по умолчанию слово при щелчке не действует. Я только видел, как это значение имеет значение, если вы нажимаете на слово, которое не выбирается автоматически.

editorCursor.foreground - это цвет вашего курсора.

FujiRoyale
источник
2
Это должен быть ответ. Это настройки, используемые в VSCode версии 1.3+
MaylorTaylor
editor.lineHighlightBackground, похоже, больше не существует, и я думаю, что они говорят, что он был намеренно удален: github.com/dracula/visual-studio-code/issues/68
havlock
это вполне могло быть.
FujiRoyale
1
Спасибо, пытался найти это несколько дней, никто никогда не упоминал wordHighlightBackground!
Райан Вайс
Это должно быть отмечено как ответ. Исправление за 10 секунд!
Нико Батлер
18

Как я тестировал, установка цвета границы упрощает чтение, чем установка цвета фона, что и делает Sublime Text.

Например, добавьте эти строки в settings.json:

"workbench.colorCustomizations": {
    "editor.selectionHighlightBorder": "#FFFA",
},

Выбранные слова будут отображаться так:

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

Генри Чжу
источник
6

вы можете изменить его на свой любимый цвет:

Шаги

  1. Открытый визуальный код
  2. Перейти к меню файла
  3. Предпочтения -> Настройки

после открытия настроек вы обновите настройки в правом столбце, скопируйте и вставьте этот код в основные скобки { ... }

"workbench.colorCustomizations": {
    "editor.selectionBackground": "#f00", // red color hexadecimal code
    "editor.selectionHighlightBackground": "#fff" // white hex code
},
Ризо
источник
Не могу поставить redили whiteкак значения.
giovannipds
1
giovannipds, это просто название, чтобы показать, что вы можете добавить любое имя цвета, его не значение
Rizo
1
Это код, значит, он неправильный. redи whiteвеб-цвета, так что это может сбивать людей с толку ..
giovannipds
3

Если кто-то обнаружил, что читает ответ @ FujiRoyale, поскольку никто из других не работал, и задавался вопросом, почему его / ее также не работают, но, поскольку это было более свежо, я задавался вопросом, почему, я последовал их ответу и имел (с v1.18 vscode ) это как user settingsустановка:

{
    // Is git enabled
    "git.enabled": true,
    // Path to the git executable
    "git.path": "C:\\Users\\t606964\\AppData\\Local\\Programs\\Git\\mingw64\\bin\\git.exe",
    "workbench.startupEditor": "newUntitledFile",
    // other settings
    //
    "editor.fontSize": 12,
    "editor.tabSize": 2,
    "git.confirmSync": false,
    "workbench.colorTheme": "Monokai",
    "editor.fontWeight": "bold",
    "editor.formatOnSave": true,
    "editor.formatOnPaste": true,
    "workbench.iconTheme": "vscode-icons",
    "explorer.confirmDelete": false,
    "files.autoSave": "off",
    "workbench.colorCustomizations": {
        "editor.lineHighlightBackground": "#f00",
        "editor.selectionBackground": "#0f0",
        "editor.wordHighlightBackground": "#00f",
        "editorCursor.foreground": "#ff0"
    }
}

Обратите внимание на отступы, запятые и удаление двойных кавычек из их ответа (с которыми мне пришлось поиграть, чтобы понять это правильно, что было не так ясно из ответа). Нет необходимости перезапускать vscode, но, возможно, стоит пойти File > Autosaveи посмотреть, начнете ли вы выделять основные цвета. А затем выберите лучшие цвета для бликов.

Вы также можете выполнить эту работу workspace settings, вставив

"workbench.colorCustomizations": {
    "editor.lineHighlightBackground": "#f00",
    "editor.selectionBackground": "#0f0",
    "editor.wordHighlightBackground": "#00f",
    "editorCursor.foreground": "#ff0"
}

между существующими {}в правой панели настроек.

вольвокс
источник