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.
Import a theme
Section titled “Import a theme”- Open Settings > Themes.
- Choose Import VS Code for a
.json,.jsonc,.tmTheme, extensionpackage.jsonor.vsixfile. Choose Import folder for an extension directory. - 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.
Edit imported colors
Section titled “Edit imported colors”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.
Compatibility
Section titled “Compatibility”| 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.
Export a VSIX
Section titled “Export a VSIX”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.
Import bounds
Section titled “Import bounds”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.
Choose the input for your situation
Section titled “Choose the input for your situation”| 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.
What to verify after exchange
Section titled “What to verify after exchange”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.