How to properly change the sidebar font face of Sublime Text 4

Navigate to Menu >> Preferences >> Customize Theme, and change all the "font_face" and "font.face" values you need to the font you want. Read this post to check the json you can copy-paste to show you how to properly override the theme font.

By Ace Z. Alba

Published on July 11, 2023, 2:26 pm

Category: tutorial

Tag: sublime text 4, customization, settings

If you use Sublime Text 4 (ST4), you should be aware that this text editor uses two separate settings for its appearance.

One is the theme, which can be selected via Menu >> Preferences >> Select Theme. Sublime theme files control the look of the user interface.

The other, more familiar setting is the color scheme, which can be selected via Menu >> Preferences >> Select Color Scheme. Sublime color schemes change the look of the text editor, where you type your code.

Sublime Text 4 also allows you to customize your chosen themes and color schemes.

We usually change the font_face of ST4 via Menu >> Preferences >> Settings. This setting however only overrides the look of the text editor. If we have to change the font_face of the user interface as well, we have to modify the Theme. Again, Customize Theme, not the Color Scheme, not the Settings.

To do this, we navigate to Menu >> Preferences >> Customize Theme. ST4 will load a new window that will allow us to create a user-defined version of the theme we are currently using, which is the empty right editor in the new window.

When that is loaded, you may copy-paste the json markup below and alter the values for both "font_face" and "font.face" to your preferred font.

Note: This post updates this. In short, when you load the Customize theme editor, you may have to search and copy font-related values from the left editor panel to the right editor panel for editing. The Adaptive theme may be sufficient for restyling your Sublime Text editor; however you may have to remake your theme settings if you opt for a third-party theme.

{
    "variables":
    {
        // you only need to change this font_face value if
        // you want the font.face values below to use the same font.
        "font_face": "JetBrainsMono Nerd Font",
        "font_size_sm": 12,
        "font_size": 13,
        "font_size_lg": 14,
        "font_size_title": 26,
    },
    "rules":[
        {
            "class": "text_line_control",
            "parents": [{"class": "overlay_control"}],
            "font.face": "var(font_face)",
        },
        {
            "class": "text_line_control",
            "parents": [{"class": "switch_project_window"}],
            "font.face": "var(font_face)",
        },
    ]
}

This should change the font in the user interface, all except for the subtitle/project directory line in the project switcher popup, which I do not know why it still retains the system font look. I'll update this if I find a way to change it. Nonetheless, the instructions above should give you a more cohesive font face look for ST4.