Skip to content
docs
GitHub

VS Code import and export

Import color themes and export local VSIX packages with clearly defined compatibility limits.

The application imports and exports VS Code color, file icon and product icon themes as data. It does not install VS Code extensions or run their JavaScript.

  1. Open Settings > Themes.
  2. Choose Import VS Code for a .json, .jsonc, .tmTheme, extension package.json or .vsix file. Choose Import folder for an extension directory.
  3. Select a contributed theme from the catalogue after import.

An extension with several themes creates separate local entries. Imports do not select an entry automatically. Importing a standalone file treats its containing directory as the resource root. If it references files above that directory, import the complete extension folder instead.

The importer resolves color-theme include chains and referenced TextMate files inside the selected root. A malformed variant rejects the batch instead of installing only part of it. File and interface icon themes appear in their own categories.

Resolved source data is retained in the theme’s vscode field. Local common, light and dark values apply above that mapping. Remove a local override to return to the imported value.

Use Edit theme > VS Code compatibility to inspect mapping information. The original file structure, comments and formatting are not preserved as an editable extension project; includes are resolved into retained data.

Area Current behavior
Interface colors Maps color IDs to existing application surfaces. Unmapped surfaces use the application’s baseline.
Terminal Maps foreground/background, cursor, selection, 16 ANSI colors and search decorations. User terminal preferences can override the result.
Editor Maps editor, gutter, cursor, active-line and selection colors to CodeMirror.
TextMate syntax Approximates rules with the fixed syntax categories listed in the theme reference. Contextual scopes and grammar-specific distinctions cannot all be reproduced.
Semantic tokens Retained for export. There is no VS Code semantic-token provider in this editor.
Unknown color IDs Retained and exposed as --vscode-* variables. They do not create missing UI components.
High contrast Retains mode metadata and mapped contrast borders, without reproducing every VS Code accessibility state.
CSS, layout, backgrounds and plugin UI Native theme capabilities. A standard VS Code color extension cannot reproduce their layout or assets.

A theme can be useful in both editors without producing identical rendering. See icon themes for the separate file and interface icon rules.

Choose Export to VS Code on a theme and select an output folder. The application creates a new local .vsix file and does not overwrite an existing file. In VS Code, run Extensions: Install from VSIX and select it.

An adaptive color theme exports separate Dark and Light entries. A fixed theme exports one entry. Export evaluates mapped colors without changing the selected theme or applying personal terminal overrides.

Unmapped source colors, contextual TextMate rules and semantic rules are retained. Changed mapped colors and supported syntax overrides are added to the export. Includes are flattened, so exporting does not recreate the original source tree.

Export does not publish to the VS Code Marketplace or install the file automatically. Check the original theme’s license before redistributing an imported theme.

Resolved color themes are limited to 256 KiB, 16 include levels, 64 include loads and 64 imported variants. VSIX input is limited to 8192 archive entries and 64 MiB of uncompressed data. Paths remain confined to the selected package root.

You have Import action
A native Lomi theme.jsonc package Import folder on its folder
A standalone VS Code color or icon document Import VS Code on the JSON/JSONC file, with its resources beside it
A theme with include or sibling resource folders Import folder on the complete extension root
Several contributions in package.json Import the extension folder or its package.json
A packaged extension Import VS Code on the .vsix
A TextMate palette Import VS Code on the .tmTheme

Do not send a native Lomi manifest through the standalone VS Code document importer. For extensions, the relevant contributions are themes, iconThemes and productIconThemes; they become Colors, File icons and Interface icons respectively. An imported extension is not a Lomi executable plugin.

Compare ordinary text, comments, strings, a selection and the active line in a real source file. Check an ANSI-colored command and terminal search highlights. For icons, test a root folder, expanded folder, multipart extension and exact filename in both appearances.

Retained TextMate and semantic rules can render differently when the exported theme runs in VS Code with its language extensions. Local CSS selectors, background images, font installation, keyboard settings and terminal behavior are not portable color-theme settings. Unknown retained color IDs can survive a round trip without affecting a Lomi control.

To retain resources and source layout for further Lomi editing, share the native package as well as the VSIX. Use testing and sharing before handing it to another person.

Source: compatibility analysis, native importer, color mapping.