Skip to content

Settings

Tachi Code’s settings system is loosely based on VS Code’s settings system, and as such, is similarly as customizable.

Browser Extension settings are settings that impact the Tachi Code browser extension’s content script or service worker behavior. These settings are synced across devices using the browser’s native extension storage/sync capability.

Browser Extension settings have no impact on TachiCode.dev.

User Settings are settings that are specific the user’s current device. These settings are stored locally using the browser’s native extension storage capability.

On TachiCode.dev, these settings are stored in local storage.

The settings editor provides a graphical interface to manage both Browser Extension and User settings. To open the settings editor, select the Settings (UI) option from the hamburger menu in the top-left corner of the workbench.

Hamburger menu

Alternatively, access the settings editor from the Command Palette Command Palette ( Shift + Command + P Shift + Control + P ) and the Preferences: Open Settings (UI) command, or with the Command + Comma Command + Comma keyboard shortcut.

Settings editor

When you make a change to a number, or string setting, the change is applied when you press the Enter Enter key or unfocus the input. Boolean setting changes are applied immediately. More complex settings are not applied until the OK button is clicked.

Modified settings are indicated by a vertical colored bar on the left-hand side. In the example below, the Font Size setting was changed.

Settings applied

To configure more complex settings, you will need to use the Settings Editor. When you open the JSON Settings editor, Tachi Code generates a JSON file from your current configuration.

When you save this file, it is validated, and will replace your current settings if validation is successful.

The JSON Settings editor provides full auto-complete, smart completions, and setting validation.

Settings JSON

You can reset a modified setting to its original value by hovering over it in the settings editor, clicking the icon, and selecting the Reset Setting option from the menu.

Reset setting

Alternatively, you can use any of the following commands from the Command Palette ( Shift + Command + P Shift + Control + P ) to bulk reset settings:

  • Settings: Reset All Setting
  • Settings: Reset Extension Settings
  • Settings: Reset User Settings

You can override editor settings at the language level. In the settings editor, add @lang:MY_LANG (e.g., @lang:json) to the settings filter to enable language-specific configuration for a given language.

Settings language

Multiple language-specific editor settings

Section titled “Multiple language-specific editor settings”

It’s possible to configure multi-language overrides in the JSON Settings editor using the following format:

{
"[lang1][lang2]": {
"editor.someSetting": "someValue"
}
}

Configurations can be overridden at multiple levels. In the following list, later scopes override earlier scopes:

  • Default settings - This scope represents the default unconfigured setting values.
  • User/Browser Extension settings - Apply globally to all Tachi Code instances on the device.
  • Language-specific default settings - These are language-specific default values.
  • Language-specific user settings - Same as User settings, but specific to a language.
  • Session-specific settings - Settings applied temporarily for the duration of a session, typically through commands, that override saved settings. These settings are not applied to other browser tabs.
  • Resource-specific settings - Settings applied to a given resource like an open file, typically by running a command or clicking an action button in the editor (e.g., clicking the preview mode button when editing a markdown document).