Код VS: изменить цвет переменных?

avatar
Jannis
8 августа 2021 в 20:38
1211
1
1

Я использую VS Code и хотел изменить цвет переменных в коде Python. Я читал, что нужно добавить

"editor.tokenColorCustomizations": {
        "variables": "#ff0000",
    }

в файл settings.json. Я добавил его в файл settings.json в моей открытой папке, а также попытался добавить его в глобальный файл settings.json. Но ничего из этого не сработало.

Теперь я не знаю, что еще попробовать. Кто-нибудь знает, как это сделать?

РЕДАКТИРОВАТЬ:

Вот код из локального файла json:

{
    "python.pythonPath": "C:\\Users\\JannR\\AppData\\Local\\Programs\\Python\\Python39\\python.exe",
    "workbench.colorCustomizations": {
        "activityBar.background": "#131a29",
        "titleBar.activeBackground": "#A4BD00",
        "titleBar.activeForeground": "#000000",
        "titleBar.inactiveBackground": "#c4d16e",
        "titleBar.inactiveForeground": "#000000",
        "minimapSlider.background": "#a4bd003a",
        "minimapSlider.hoverBackground": "#a4bd004d",
        "minimapSlider.activeBackground": "#a4bd0060",
        "scrollbarSlider.hoverBackground": "#a4bd001f",
        "scrollbarSlider.activeBackground": "#a4bd0033",
        "scrollbarSlider.background": "#a4bd000e",
        "editorGroup.border": "#A4BD00",
        "editorGroup.dropBackground": "#a4bd0060",
        "editorGroupHeader.tabsBorder": "#a4bd0060",
        "tab.activeBackground": "#a4bd002a",
        "tab.activeBorder": "#000000",
        "tab.unfocusedActiveForeground": "#5b6350",
    },
    "editor.tokenColorCustomizations": {
        "variables": "#ff0000",
    }
}

А вот из глобального:

{
    "workbench.editorAssociations": {
        "*.ipynb": "jupyter-notebook"
    },
    "tabnine.experimentalAutoImports": true,
    "editor.cursorStyle": "block-outline",
    "workbench.iconTheme": "vscode-icons",
    "vsicons.dontShowNewVersionMessage": true,
    "auto-close-tag.fullMode": true,
    "auto-close-tag.SublimeText3Mode": true,
    "liveServer.settings.donotVerifyTags": true,
    "liveServer.settings.donotShowInfoMsg": true,
    "prettier.singleQuote": true,
    "explorer.confirmDelete": false,
    "python.pythonPath": "C:\\Users\\JannR\\AppData\\Local\\Programs\\Python\\Python39\\python.exe",
    "explorer.confirmDragAndDrop": false,
    "workbench.startupEditor": "newUntitledFile",
    "[python]": {
    
        "editor.wordBasedSuggestions": false
    },
    "python.showStartPage": false,
    "workbench.tips.enabled": false,
    "notebook.cellToolbarLocation": {
        "default": "right",
        "jupyter-notebook": "left"
    },
    "python.defaultInterpreterPath": "C:\\Users\\JannR\\AppData\\Local\\Programs\\Python\\Python39\\python.exe",
    "workbench.colorTheme": "FireFly Pro",
    "window.title": "${activeEditorShort} - ${folderName} - ${appName}",
    "workbench.colorCustomizations": {
    

        "titleBar.activeBackground": "#0000ff",
    },
    "editor.tokenColorCustomizations": {
        "variables": "#ff0000",
    },
    "vs-color-picker.autoLaunchDelay": 10,
    "windowColors.???? DeleteSettingsFileUponExit": true
}

РЕДАКТИРОВАТЬ V2:

Снимок экрана с описанием переменной

Источник
Jannis
8 августа 2021 в 20:48
0

В настоящее время я не могу опубликовать контент, но я добавил его в самом низу, без отступа. Может быть, это помогает.

Jannis
8 августа 2021 в 20:50
0

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

Jannis
8 августа 2021 в 20:58
0

Может быть, я смогу отредактировать вопрос через несколько минут... Но из какого файла settings.json я должен отправить контент? Локальный в папке или глобальный?

Jannis
8 августа 2021 в 21:00
0

Но у меня точно такой же отступ, как у вас.

Jannis
8 августа 2021 в 21:15
0

Если вы не заметили (я не жалуюсь), я сейчас отредактировал пост.

Ответы (1)

avatar
Steven-MSFT
9 августа 2021 в 03:02
1

Можно ли получить такой чек? Он хорошо работает на моем компьютере.

enter image description here

enter image description here

Обновление:

Вы используете тему FireFly Pro. "variables": "#ff0000" похоже не работает, но будет работать при использовании некоторых других тем. Это связано с тем, что при использовании другой цветовой темы переменная находится в другой области действия.

Например:

Тема Dark+(Откройте палитру команд: просмотр маркеров и областей редактора):

enter image description here

Тема FireFly Pro:

enter image description here

Поэтому, если вы хотите изменить его в цветовой теме FireFly Pro, вы можете настроить его следующим образом:

"editor.tokenColorCustomizations": {
        "textMateRules": [
          {
            "scope":"source.python",
            "settings": {
              "foreground": "#00fff2",
              "fontStyle": "bold"
            }
          }
        ]
      },
Jannis
9 августа 2021 в 08:36
0

Я сейчас сделал это, и в точке foreground чего-то нет в списке. Так что теоретически у меня не должно быть никаких расширений, перезаписывающих это. Но в верхних списках цветов есть цвета фона и переднего плана. Я отредактирую вопрос и добавлю снимок экрана.

Steven-MSFT
9 августа 2021 в 08:39
0

@Jannis Не могли бы вы отключить все расширения, просто оставьте расширение python? Не забудьте переключить цветовую тему на встроенную.

Jannis
9 августа 2021 в 08:48
0

Да, я сделал это, и теперь переменная красная. Должен ли я теперь включать их один за другим, чтобы я видел, какое расширение это сделало?

Jannis
9 августа 2021 в 08:51
0

Я снова включил их, и это цветовая тема FireFly Pro. Могу ли я как-то изменить его переменный цвет?

Steven-MSFT
9 августа 2021 в 09:00
0

@Jannis Кажется, можно перезаписать настройку цвета в settings.json. Не могли бы вы переключиться на другую тему?

Jannis
9 августа 2021 в 09:04
0

Что именно ты имеешь ввиду? Должен ли я навсегда переключиться на другую тему?

Steven-MSFT
9 августа 2021 в 09:43
0

@Jannis Не могли бы вы взглянуть на обновление этого ответа?

Jannis
9 августа 2021 в 09:48
0

Извините, не видел. Но теперь, когда я попробовал это, это работает. Благодарю вас!

Jannis
10 августа 2021 в 16:09
0

Извините, что беспокою вас снова, но есть ли еще другая область или способ установить цвет модулей на другой, чем переменные? Я имею в виду, что теоретически это тоже просто переменные, которые наследуются от разных классов, но возможно ли это?

Steven-MSFT
11 августа 2021 в 02:51
0

@Jannis Это невозможно в теме FireFly Pro. Потому что он не имеет семантического типа токена. Но вы можете получить его в другой теме, например Dark+. Затем вы можете изменить его с помощью semanticTokenColorCustomizations. Вы можете обратиться к этой странице, чтобы узнать, как ее изменить.