icons-src | Skill Performance & Reviews | TopRankSkills

TopRank Skills

Home / Skills / tools / icons-src

icons-src

maintained by forcedotcom

star 995 account_tree 435 verified_user MIT License
bolt View GitHub

name: icons-src description: Add custom SVG icons to salesforcedx-vscode-services for font generation. Use when adding new icons to media/icons-src, creating SVG icons for VS Code extension, or defining font-based icons.

Icons-src: Adding Custom Font Icons

Location

packages/salesforcedx-vscode-services/media/icons-src/

SVG Requirements

  • viewBox: 0 0 24 24 only (enables better upscaling)
  • xmlns: http://www.w3.org/2000/svg
  • fill: currentColor on inner <g> so VS Code themes control color
  • structure: wrap paths in <g fill="currentColor" transform="scale(X)"> — adjust scale so glyph fits 24×24

External sources (Wikipedia, Illustrator, etc.) may be too complex for font generation. Simplify in vector editor or substitute alternative.

Reference (leaf.svg)

<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
  <g fill="currentColor" transform="scale(0.75)">
    <path d="..."></path>
  </g>
</svg>

Avoid

  • Hardcoded fill colors (e.g. fill="#000") — breaks theme support
  • viewBox other than 24×24
  • Strokes without stroke="currentColor" if used

Workflow

  1. Add SVGmedia/icons-src/<name>.svg (name = lowercase, no spaces)

  2. Add manifest entrymedia/icons-src/icons.json:

    "<name>": { "id": "sf-org-<id>", "description": "..." }
    
  3. Run buildnpm run build:icons -w salesforcedx-vscode-services (updates contributes.icons in package.json)

  4. Add ICONS constantsrc/vscode/mediaService.ts and ICON_DESCRIPTION_KEYS; add i18n key in messages if needed

  5. Regenerate types — if services-types consumes ICONS, run its generate script

icons.json Format

{
  "leaf": { "id": "sf-org-leaf", "description": "Leaf icon for default scratch org" },
  "tree": { "id": "sf-org-tree", "description": "Tree icon for default dev hub" }
}
  • Append new icons (order affects 0xe001, 0xe002, … code point assignments)
  • Key = SVG filename without .svg
  • id = VS Code icon ID (use sf-org-* for custom icons)
  • description = human-readable, used in contributes.icons

Artifacts that change (add/remove)

Artifact Add Remove
media/icons-src/<name>.svg create delete
media/icons-src/icons.json add entry remove entry
package.jsoncontributes.icons auto (build:icons) auto
resources/icons-font/* auto (build:icons) auto
src/vscode/mediaService.tsICONS, ICON_DESCRIPTION_KEYS manual manual
src/messages/* (i18n) manual if needed manual
salesforcedx-vscode-services-types (icons.ts) manual (generate script) manual

Verification

Run npm run test -w salesforcedx-vscode-servicesiconConsistency.test.ts validates SVG ↔ icons.json ↔ contributes.icons ↔ ICONS constant.

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!

Skill Details

GitHub Stars 995
GitHub Forks 435
Created Mar 2026
Last Updated il y a 3 mois
tools tools ide plugins

Related Skills

writing-skills
chevron_right
codex
chevron_right
smart-illustrator
chevron_right
collaborating-with-codex
chevron_right
code-review-router
chevron_right

Build your own?

Join 12,000+ developers contributing to the Claude ecosystem.