jetbrains-theme-investigation
Investigates JetBrains IntelliJ Platform theme properties by searching source code. Use when user asks about UI theming, icon colors, tab spacing, component styling, or needs to find what properties are themeable vs hardcoded in IntelliJ-based IDEs.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
JetBrains Theme Investigation
Investigate theme properties in the IntelliJ Platform source code to determine what is themeable via JSON vs hardcoded in source.
Prerequisites
IntelliJ Platform source code must be available at:
../../JetBrains/intellij-community
(Relative to current project directory)
If not cloned yet:
cd ~/Projects/github.com/JetBrains
git clone https://github.com/JetBrains/intellij-community
Quick Investigation Workflow
-
Search theme metadata first (what properties exist):
grep -i "PropertyName" ../../JetBrains/intellij-community/platform/platform-resources/src/themes/metadata/*.json -
Check reference themes (how properties are used):
grep -r "PropertyName" ../../JetBrains/intellij-community/platform/platform-resources/src/themes/ --include="*.json" -
Search JBUI.java for programmatic color access:
grep -A3 "namedColor.*PropertyName" ../../JetBrains/intellij-community/platform/util/ui/src/com/intellij/util/ui/JBUI.java -
Search source for hardcoded values if not found above:
grep -rn "propertyName\|PROPERTY_NAME" ../../JetBrains/intellij-community/platform/platform-*/src --include="*.kt" --include="*.java"
Key Directories
| Path | Content |
|---|---|
platform/platform-resources/src/themes/metadata/ |
Available theme properties (IntelliJPlatform.themeMetadata.json, JDK.themeMetadata.json) |
platform/platform-resources/src/themes/ |
Reference themes (expUI, islands, darcula, HighContrast) |
platform/util/ui/src/com/intellij/util/ui/JBUI.java |
CurrentTheme methods mapping to JSON keys |
platform/icons/src/ |
SVG icons (check colors used) |
Detailed References
For specific subsystems, see:
- Icon colors: icon-colors.md - ColorPalette, stroke colors, named keys
- Tab system: tab-system.md - Tab gaps, insets, layouts
- Islands theme: islands-theme.md - Islands-specific properties
- Known limitations: limitations.md - What is NOT themeable
- Theme testing panel: theme-testing-panel.md - Dev-mode UI testing panel
Determining if Themeable
| Found In | Result |
|---|---|
| Theme metadata JSON | Themeable via JSON |
JBUI.java with namedColor/getInt |
Themeable via JSON |
| Source code with hardcoded values | NOT themeable (requires code change) |
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-01-26
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!