Skip to content
| Marketplace
Sign in
Visual Studio Code>Themes>ft-paperNew to Visual Studio Code? Get it now.
ft-paper

ft-paper

Camille Hodoul

|
2 installs
| (0) | Free
Light theme generated from the ft-paper palette of camillehdl.dev.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ft-paper for VS Code

Light color theme for Visual Studio Code, generated from the ft-paper palette.

VS Code with the ft-paper theme on a TypeScript file

Install

  • Marketplace: search for ft-paper in the Extensions view, or code --install-extension CamilleHodoul.ft-paper.
  • From a local package: code --install-extension ft-paper-0.1.0.vsix.

Then Preferences: Color Theme → ft-paper.

Colors

Hex values, ANSI slots and contrast ratios: https://camillehdl.dev/palette. The theme uses palette colors only, referenced by role.

Syntax

Token Role
Comment ink-muted, italic
String jade
Number, boolean, constant, enum member mandarin
Function, method oxford (built-in: italic)
Keyword, control flow, HTML tag velvet
Type, class, module teal (built-in: italic)
Variable ink
Parameter, property, operator ink-2
Import, macro, escape, decorator, this/self claret
Exception crimson
Punctuation ink-muted
Markdown headings 1–2 / 3 / 4 / 5–6 claret bold / oxford bold / oxford / teal
Markdown link, tag attribute oxford

Semantic highlighting is enabled with the same roles.

Interface

Area Role
Editor, active tab, panel, terminal background paper, text ink
Side bar, activity bar, title bar, status bar, inactive tabs background surface-1
Widgets (hover, suggestions, command palette, menus, inputs) background paper-raised, border rule
Selection surface-2
Current line border surface-3
Focus, buttons, badges, links oxford
Active tab top border, matched characters claret
Error / warning / info / hint crimson / mandarin / oxford / teal
Git added, untracked / modified, renamed / deleted / conflict / ignored jade / oxford / crimson / mandarin / ink-faint
Diff inserted / removed line fill-add / fill-remove
Search match / current match fill-match / fill-target
Terminal ANSI 0–15 the palette's ansi slots

Derived fills (fill-*) are written as their palette recipe (hue + alpha), because VS Code requires translucent colors for highlight, diff and merge keys.

Build

Requires Node.js 18 or later. No dependencies.

npm run palette   # refresh palette/ft-paper.json from https://camillehdl.dev/palette
npm run build     # scripts/theme.mjs → themes/ft-paper-color-theme.json
npm run check     # off-palette colors, contrast, unknown keys
npx @vscode/vsce package
  • palette/ft-paper.json: the structured data published on the palette page (<script id="ft-paper-palette">), committed as is. The build reads only this file.
  • scripts/theme.mjs: the theme specification, written in palette roles, never in hex.
  • themes/ft-paper-color-theme.json: generated; do not edit by hand.
  • npm run check exits with code 1 if:
    • the theme JSON differs from a fresh build;
    • an opaque color is not a palette color or a derived fill;
    • a translucent color has no palette base or no written reason;
    • a key VS Code requires to be translucent is opaque;
    • body text, comments, line numbers or any syntax color is below 4.5:1 on the editor, hover or peek background;
    • interface text is below 4.5:1 (disabled and ghost text are reported, not failed);
    • a key is missing from the theme color reference (skipped when offline).

Known limits

  • On transient backgrounds (selection, diff, search matches), some syntax colors fall below 4.5:1; body text stays above 6:1. npm run check lists the figures.
  • Ignored files in the Git decorations (ink-faint, 3.79:1) and ghost text (ink-faint, 4.14:1) are below 4.5:1 by design.
  • Keys not set by the theme fall back to VS Code's default light theme.

License

0BSD.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft