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 4个月前
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.