← スキル一覧に戻る
brand-color-extractor
vivalalova / vscode-theme
⭐ 0🍴 0📅 2026年1月7日
🎨 品牌配色提取專家 - 當需要為 VS Code 主題提取品牌官方配色時使用此 skill。從官方網站提取品牌配色並生成 VS Code 主題色彩方案 (project)
SKILL.md
--- name: brand-color-extractor description: 🎨 品牌配色提取專家 - 當需要為 VS Code 主題提取品牌官方配色時使用此 skill。從官方網站提取品牌配色並生成 VS Code 主題色彩方案 (project) --- # 品牌配色提取專家 從官方網站提取品牌配色並生成 VS Code 主題色彩方案。 ## 使用時機 當需要為 VS Code 主題提取品牌官方配色時使用此 skill。 ## 工作流程 ### 1. 取得品牌配色 使用 `WebFetch` 訪問品牌官網或設計系統頁面,提取以下資訊: **優先來源順序:** 1. 官方 Brand Guidelines / Design System 頁面 1. 官網首頁 CSS 變數 1. 官方 Press Kit / Media Kit 1. 產品介面截圖分析 **需要提取的色彩:** - Primary Color(主色) - Secondary Color(輔助色) - Accent Color(強調色) - Background Colors(背景色系) - Text Colors(文字色系) - Border/Divider Colors(邊框色) - Success/Warning/Error Colors(狀態色) ### 2. 色彩分析與轉換 **淺色主題原則:** - 編輯器背景:不要純白 `#FFFFFF`,使用品牌淺色背景(如 `#F9FAFB`、`#FAF9F7`) - 側邊欄背景:比編輯器稍深 2-3 階 - 對比度:文字與背景對比度 ≥ 4.5:1(WCAG AA) - 強調色:使用品牌主色 **深色主題原則:** - 編輯器背景:`#1A-2A` 範圍內的深色 - 側邊欄背景:比編輯器稍深或稍淺 - 文字:`#D0-F0` 範圍的淺色 - 強調色:品牌主色的亮色變體 ## VS Code 主題結構 ### 1. UI 色彩 (`colors`) 編輯器介面元素的顏色,必須設定以下所有類別: #### 編輯器核心 | 屬性 | 說明 | |------|------| | `editor.background` | 編輯器背景 | | `editor.foreground` | 編輯器前景(預設文字色) | | `editor.lineHighlightBackground` | 當前行高亮背景 | | `editor.selectionBackground` | 選取文字背景 | | `editor.selectionHighlightBackground` | 相同選取項高亮 | | `editor.wordHighlightBackground` | 讀取存取時單字高亮 | | `editor.wordHighlightStrongBackground` | 寫入存取時單字高亮 | | `editor.findMatchBackground` | 搜尋匹配項背景 | | `editor.findMatchHighlightBackground` | 其他搜尋匹配項 | | `editor.hoverHighlightBackground` | 懸停高亮 | | `editor.rangeHighlightBackground` | 範圍高亮(如快速開啟) | | `editorCursor.foreground` | 游標顏色 | | `editorWhitespace.foreground` | 空白字元顏色 | | `editorIndentGuide.background` | 縮排參考線 | | `editorIndentGuide.activeBackground` | 作用中縮排線 | | `editorRuler.foreground` | 尺規顏色 | #### 行號與裝訂線 | 屬性 | 說明 | |------|------| | `editorLineNumber.foreground` | 行號顏色 | | `editorLineNumber.activeForeground` | 當前行號顏色 | | `editorGutter.background` | 裝訂線背景 | | `editorGutter.modifiedBackground` | 已修改行標記 | | `editorGutter.addedBackground` | 新增行標記 | | `editorGutter.deletedBackground` | 刪除行標記 | #### 括號與配對 | 屬性 | 說明 | |------|------| | `editorBracketMatch.background` | 配對括號背景 | | `editorBracketMatch.border` | 配對括號邊框 | | `editorBracketHighlight.foreground1` | 括號配對色 1 | | `editorBracketHighlight.foreground2` | 括號配對色 2 | | `editorBracketHighlight.foreground3` | 括號配對色 3 | | `editorBracketHighlight.foreground4` | 括號配對色 4 | | `editorBracketHighlight.foreground5` | 括號配對色 5 | | `editorBracketHighlight.foreground6` | 括號配對色 6 | #### 錯誤與警告 | 屬性 | 說明 | |------|------| | `editorError.foreground` | 錯誤波浪線 | | `editorWarning.foreground` | 警告波浪線 | | `editorInfo.foreground` | 資訊波浪線 | | `editorHint.foreground` | 提示波浪線 | #### 未使用程式碼 | 屬性 | 說明 | 建議值 | |------|------|--------| | `editorUnnecessaryCode.opacity` | 未使用程式碼透明度 | `#00000077` | | `editorUnnecessaryCode.border` | 未使用程式碼邊框 | `#00000000` | #### 活動欄 (Activity Bar) | 屬性 | 說明 | |------|------| | `activityBar.background` | 活動欄背景 | | `activityBar.foreground` | 活動欄前景(選中圖示) | | `activityBar.inactiveForeground` | 未選中圖示 | | `activityBar.border` | 活動欄邊框 | | `activityBarBadge.background` | 徽章背景 | | `activityBarBadge.foreground` | 徽章文字 | #### 側邊欄 (Side Bar) | 屬性 | 說明 | |------|------| | `sideBar.background` | 側邊欄背景 | | `sideBar.foreground` | 側邊欄前景 | | `sideBar.border` | 側邊欄邊框 | | `sideBarTitle.foreground` | 側邊欄標題 | | `sideBarSectionHeader.background` | 區段標題背景 | | `sideBarSectionHeader.foreground` | 區段標題前景 | | `sideBarSectionHeader.border` | 區段標題邊框 | #### 標題欄 (Title Bar) | 屬性 | 說明 | |------|------| | `titleBar.activeBackground` | 作用中標題背景 | | `titleBar.activeForeground` | 作用中標題前景 | | `titleBar.inactiveBackground` | 非作用中背景 | | `titleBar.inactiveForeground` | 非作用中前景 | | `titleBar.border` | 標題欄邊框 | #### 狀態欄 (Status Bar) | 屬性 | 說明 | |------|------| | `statusBar.background` | 狀態欄背景 | | `statusBar.foreground` | 狀態欄前景 | | `statusBar.border` | 狀態欄邊框 | | `statusBar.debuggingBackground` | 除錯中背景 | | `statusBar.debuggingForeground` | 除錯中前景 | | `statusBar.noFolderBackground` | 無資料夾背景 | | `statusBar.noFolderForeground` | 無資料夾前景 | | `statusBarItem.hoverBackground` | 懸停背景 | | `statusBarItem.activeBackground` | 點擊背景 | | `statusBarItem.prominentBackground` | 醒目項目背景 | | `statusBarItem.prominentHoverBackground` | 醒目項目懸停 | | `statusBarItem.remoteBackground` | 遠端連線背景 | | `statusBarItem.remoteForeground` | 遠端連線前景 | #### 標籤 (Tabs) | 屬性 | 說明 | |------|------| | `tab.activeBackground` | 作用中標籤背景 | | `tab.activeForeground` | 作用中標籤前景 | | `tab.inactiveBackground` | 非作用中標籤背景 | | `tab.inactiveForeground` | 非作用中標籤前景 | | `tab.border` | 標籤邊框 | | `tab.activeBorder` | 作用中標籤邊框 | | `tab.activeBorderTop` | 作用中標籤上邊框 | | `tab.unfocusedActiveBackground` | 非焦點作用中背景 | | `tab.unfocusedActiveForeground` | 非焦點作用中前景 | | `tab.hoverBackground` | 懸停背景 | | `tab.hoverForeground` | 懸停前景 | #### 編輯器群組與標籤列 | 屬性 | 說明 | |------|------| | `editorGroup.border` | 編輯器群組邊框 | | `editorGroup.dropBackground` | 拖放背景 | | `editorGroupHeader.tabsBackground` | 標籤列背景 | | `editorGroupHeader.tabsBorder` | 標籤列邊框 | | `editorGroupHeader.noTabsBackground` | 無標籤時背景 | #### 面板 (Panel) | 屬性 | 說明 | |------|------| | `panel.background` | 面板背景 | | `panel.border` | 面板邊框 | | `panelTitle.activeBorder` | 作用中標題邊框 | | `panelTitle.activeForeground` | 作用中標題前景 | | `panelTitle.inactiveForeground` | 非作用中標題前景 | #### 終端機 (Terminal) | 屬性 | 說明 | |------|------| | `terminal.background` | 終端機背景 | | `terminal.foreground` | 終端機前景 | | `terminal.ansiBlack` | ANSI 黑 | | `terminal.ansiRed` | ANSI 紅 | | `terminal.ansiGreen` | ANSI 綠 | | `terminal.ansiYellow` | ANSI 黃 | | `terminal.ansiBlue` | ANSI 藍 | | `terminal.ansiMagenta` | ANSI 洋紅 | | `terminal.ansiCyan` | ANSI 青 | | `terminal.ansiWhite` | ANSI 白 | | `terminal.ansiBrightBlack` | ANSI 亮黑 | | `terminal.ansiBrightRed` | ANSI 亮紅 | | `terminal.ansiBrightGreen` | ANSI 亮綠 | | `terminal.ansiBrightYellow` | ANSI 亮黃 | | `terminal.ansiBrightBlue` | ANSI 亮藍 | | `terminal.ansiBrightMagenta` | ANSI 亮洋紅 | | `terminal.ansiBrightCyan` | ANSI 亮青 | | `terminal.ansiBrightWhite` | ANSI 亮白 | | `terminalCursor.foreground` | 終端機游標 | | `terminalCursor.background` | 終端機游標背景 | #### 輸入框與下拉選單 | 屬性 | 說明 | |------|------| | `input.background` | 輸入框背景 | | `input.foreground` | 輸入框前景 | | `input.border` | 輸入框邊框 | | `input.placeholderForeground` | 佔位文字 | | `inputOption.activeBackground` | 選項作用中背景 | | `inputOption.activeBorder` | 選項作用中邊框 | | `inputValidation.errorBackground` | 驗證錯誤背景 | | `inputValidation.errorBorder` | 驗證錯誤邊框 | | `inputValidation.warningBackground` | 驗證警告背景 | | `inputValidation.warningBorder` | 驗證警告邊框 | | `inputValidation.infoBackground` | 驗證資訊背景 | | `inputValidation.infoBorder` | 驗證資訊邊框 | | `dropdown.background` | 下拉選單背景 | | `dropdown.foreground` | 下拉選單前景 | | `dropdown.border` | 下拉選單邊框 | #### 按鈕 | 屬性 | 說明 | |------|------| | `button.background` | 按鈕背景 | | `button.foreground` | 按鈕前景 | | `button.hoverBackground` | 按鈕懸停背景 | | `button.secondaryBackground` | 次要按鈕背景 | | `button.secondaryForeground` | 次要按鈕前景 | | `button.secondaryHoverBackground` | 次要按鈕懸停 | #### 列表與樹狀圖 | 屬性 | 說明 | |------|------| | `list.activeSelectionBackground` | 作用中選取背景 | | `list.activeSelectionForeground` | 作用中選取前景 | | `list.inactiveSelectionBackground` | 非作用中選取背景 | | `list.inactiveSelectionForeground` | 非作用中選取前景 | | `list.hoverBackground` | 懸停背景 | | `list.hoverForeground` | 懸停前景 | | `list.focusBackground` | 焦點背景 | | `list.focusForeground` | 焦點前景 | | `list.highlightForeground` | 搜尋匹配高亮 | | `list.dropBackground` | 拖放背景 | | `tree.indentGuidesStroke` | 樹狀圖縮排線 | #### 捲軸 | 屬性 | 說明 | |------|------| | `scrollbar.shadow` | 捲軸陰影 | | `scrollbarSlider.background` | 滑塊背景 | | `scrollbarSlider.hoverBackground` | 滑塊懸停 | | `scrollbarSlider.activeBackground` | 滑塊作用中 | #### 迷你地圖 (Minimap) | 屬性 | 說明 | |------|------| | `minimap.findMatchHighlight` | 搜尋匹配高亮 | | `minimap.selectionHighlight` | 選取高亮 | | `minimap.errorHighlight` | 錯誤高亮 | | `minimap.warningHighlight` | 警告高亮 | | `minimapSlider.background` | 滑塊背景 | | `minimapSlider.hoverBackground` | 滑塊懸停 | | `minimapSlider.activeBackground` | 滑塊作用中 | | `minimapGutter.addedBackground` | 新增標記 | | `minimapGutter.modifiedBackground` | 修改標記 | | `minimapGutter.deletedBackground` | 刪除標記 | #### 麵包屑 (Breadcrumb) | 屬性 | 說明 | |------|------| | `breadcrumb.background` | 麵包屑背景 | | `breadcrumb.foreground` | 麵包屑前景 | | `breadcrumb.focusForeground` | 焦點前景 | | `breadcrumb.activeSelectionForeground` | 選取前景 | | `breadcrumbPicker.background` | 選擇器背景 | #### Git 裝飾 | 屬性 | 說明 | |------|------| | `gitDecoration.addedResourceForeground` | 新增檔案 | | `gitDecoration.modifiedResourceForeground` | 修改檔案 | | `gitDecoration.deletedResourceForeground` | 刪除檔案 | | `gitDecoration.untrackedResourceForeground` | 未追蹤檔案 | | `gitDecoration.ignoredResourceForeground` | 忽略檔案 | | `gitDecoration.conflictingResourceForeground` | 衝突檔案 | | `gitDecoration.submoduleResourceForeground` | 子模組 | | `gitDecoration.stageModifiedResourceForeground` | 暫存修改 | | `gitDecoration.stageDeletedResourceForeground` | 暫存刪除 | #### Diff 編輯器 | 屬性 | 說明 | |------|------| | `diffEditor.insertedTextBackground` | 新增文字背景 | | `diffEditor.removedTextBackground` | 刪除文字背景 | | `diffEditor.insertedLineBackground` | 新增行背景 | | `diffEditor.removedLineBackground` | 刪除行背景 | | `diffEditor.diagonalFill` | 對角線填充 | #### 合併編輯器 | 屬性 | 說明 | |------|------| | `merge.currentHeaderBackground` | 當前分支標題背景 | | `merge.currentContentBackground` | 當前分支內容背景 | | `merge.incomingHeaderBackground` | 傳入分支標題背景 | | `merge.incomingContentBackground` | 傳入分支內容背景 | | `merge.border` | 合併邊框 | | `merge.commonHeaderBackground` | 共同祖先標題背景 | | `merge.commonContentBackground` | 共同祖先內容背景 | #### 通知 | 屬性 | 說明 | |------|------| | `notificationCenter.border` | 通知中心邊框 | | `notificationCenterHeader.background` | 通知中心標題背景 | | `notificationCenterHeader.foreground` | 通知中心標題前景 | | `notifications.background` | 通知背景 | | `notifications.foreground` | 通知前景 | | `notifications.border` | 通知邊框 | | `notificationLink.foreground` | 通知連結 | | `notificationsErrorIcon.foreground` | 錯誤圖示 | | `notificationsWarningIcon.foreground` | 警告圖示 | | `notificationsInfoIcon.foreground` | 資訊圖示 | #### 徽章 | 屬性 | 說明 | |------|------| | `badge.background` | 徽章背景 | | `badge.foreground` | 徽章前景 | #### 進度條 | 屬性 | 說明 | |------|------| | `progressBar.background` | 進度條背景 | #### 選取器與命令面板 | 屬性 | 說明 | |------|------| | `pickerGroup.border` | 群組邊框 | | `pickerGroup.foreground` | 群組前景 | | `quickInput.background` | 快速輸入背景 | | `quickInput.foreground` | 快速輸入前景 | | `quickInputList.focusBackground` | 焦點背景 | | `quickInputTitle.background` | 標題背景 | #### 編輯器小工具 | 屬性 | 說明 | |------|------| | `editorWidget.background` | 小工具背景 | | `editorWidget.foreground` | 小工具前景 | | `editorWidget.border` | 小工具邊框 | | `editorSuggestWidget.background` | 建議小工具背景 | | `editorSuggestWidget.border` | 建議小工具邊框 | | `editorSuggestWidget.foreground` | 建議小工具前景 | | `editorSuggestWidget.selectedBackground` | 選取背景 | | `editorSuggestWidget.highlightForeground` | 匹配高亮 | | `editorHoverWidget.background` | 懸停小工具背景 | | `editorHoverWidget.border` | 懸停小工具邊框 | | `editorHoverWidget.foreground` | 懸停小工具前景 | #### Peek 檢視 | 屬性 | 說明 | |------|------| | `peekView.border` | Peek 邊框 | | `peekViewEditor.background` | Peek 編輯器背景 | | `peekViewEditor.matchHighlightBackground` | 匹配高亮背景 | | `peekViewResult.background` | 結果背景 | | `peekViewResult.fileForeground` | 檔案前景 | | `peekViewResult.lineForeground` | 行前景 | | `peekViewResult.matchHighlightBackground` | 匹配高亮 | | `peekViewResult.selectionBackground` | 選取背景 | | `peekViewResult.selectionForeground` | 選取前景 | | `peekViewTitle.background` | 標題背景 | | `peekViewTitleDescription.foreground` | 標題描述前景 | | `peekViewTitleLabel.foreground` | 標題標籤前景 | #### 焦點與邊框 | 屬性 | 說明 | |------|------| | `focusBorder` | 焦點邊框(全域) | | `contrastBorder` | 對比邊框 | | `contrastActiveBorder` | 作用中對比邊框 | | `widget.shadow` | 小工具陰影 | | `selection.background` | 選取背景(全域) | #### 歡迎頁面 | 屬性 | 說明 | |------|------| | `welcomePage.background` | 歡迎頁背景 | | `welcomePage.buttonBackground` | 按鈕背景 | | `welcomePage.buttonHoverBackground` | 按鈕懸停 | | `walkThrough.embeddedEditorBackground` | 嵌入編輯器背景 | #### 設定編輯器 | 屬性 | 說明 | |------|------| | `settings.headerForeground` | 標題前景 | | `settings.modifiedItemIndicator` | 已修改指示 | | `settings.dropdownBackground` | 下拉背景 | | `settings.dropdownForeground` | 下拉前景 | | `settings.dropdownBorder` | 下拉邊框 | | `settings.checkboxBackground` | 核取方塊背景 | | `settings.checkboxForeground` | 核取方塊前景 | | `settings.checkboxBorder` | 核取方塊邊框 | | `settings.textInputBackground` | 文字輸入背景 | | `settings.textInputForeground` | 文字輸入前景 | | `settings.textInputBorder` | 文字輸入邊框 | | `settings.numberInputBackground` | 數字輸入背景 | | `settings.numberInputForeground` | 數字輸入前景 | | `settings.numberInputBorder` | 數字輸入邊框 | #### 除錯 | 屬性 | 說明 | |------|------| | `debugToolBar.background` | 除錯工具列背景 | | `debugToolBar.border` | 除錯工具列邊框 | | `debugExceptionWidget.background` | 例外小工具背景 | | `debugExceptionWidget.border` | 例外小工具邊框 | | `debugConsole.infoForeground` | 主控台資訊 | | `debugConsole.warningForeground` | 主控台警告 | | `debugConsole.errorForeground` | 主控台錯誤 | | `debugConsole.sourceForeground` | 主控台來源 | | `debugConsoleInputIcon.foreground` | 輸入圖示 | #### 測試 | 屬性 | 說明 | |------|------| | `testing.iconFailed` | 失敗圖示 | | `testing.iconErrored` | 錯誤圖示 | | `testing.iconPassed` | 通過圖示 | | `testing.iconQueued` | 排隊圖示 | | `testing.iconUnset` | 未設定圖示 | | `testing.iconSkipped` | 跳過圖示 | #### 擴展 | 屬性 | 說明 | |------|------| | `extensionButton.prominentBackground` | 安裝按鈕背景 | | `extensionButton.prominentForeground` | 安裝按鈕前景 | | `extensionButton.prominentHoverBackground` | 安裝按鈕懸停 | | `extensionBadge.remoteBackground` | 遠端徽章背景 | | `extensionBadge.remoteForeground` | 遠端徽章前景 | ### 2. 語法高亮 (`tokenColors`) 程式碼 token 的著色,必須設定以下所有 scope: #### 基礎 | Scope | 說明 | |-------|------| | `comment` | 註解 | | `comment.line` | 單行註解 | | `comment.block` | 區塊註解 | | `comment.block.documentation` | 文件註解 | #### 字串 | Scope | 說明 | |-------|------| | `string` | 字串 | | `string.quoted.single` | 單引號字串 | | `string.quoted.double` | 雙引號字串 | | `string.template` | 模板字串 | | `string.regexp` | 正規表達式 | #### 常數 | Scope | 說明 | |-------|------| | `constant` | 常數 | | `constant.numeric` | 數字 | | `constant.numeric.integer` | 整數 | | `constant.numeric.float` | 浮點數 | | `constant.numeric.hex` | 十六進位 | | `constant.language` | 語言常數 (true, false, null) | | `constant.character` | 字元常數 | | `constant.character.escape` | 跳脫字元 | | `constant.other` | 其他常數 | #### 變數 | Scope | 說明 | |-------|------| | `variable` | 變數 | | `variable.parameter` | 參數 | | `variable.language` | 語言變數 (this, self) | | `variable.other` | 其他變數 | | `variable.other.readwrite` | 讀寫變數 | | `variable.other.constant` | 常數變數 | | `variable.other.property` | 屬性 | #### 關鍵字 | Scope | 說明 | |-------|------| | `keyword` | 關鍵字 | | `keyword.control` | 控制關鍵字 (if, for, while) | | `keyword.control.conditional` | 條件 (if, else) | | `keyword.control.loop` | 迴圈 (for, while) | | `keyword.control.import` | 匯入 (import, from) | | `keyword.control.flow` | 流程控制 (return, break) | | `keyword.operator` | 運算子關鍵字 (new, typeof) | | `keyword.other` | 其他關鍵字 | #### 儲存 | Scope | 說明 | |-------|------| | `storage` | 儲存 | | `storage.type` | 型別宣告 (const, let, var, function) | | `storage.modifier` | 修飾詞 (public, private, static) | #### 實體名稱 | Scope | 說明 | |-------|------| | `entity.name` | 實體名稱 | | `entity.name.function` | 函數名稱 | | `entity.name.class` | 類別名稱 | | `entity.name.type` | 型別名稱 | | `entity.name.tag` | 標籤名稱 (HTML/XML) | | `entity.name.section` | 區段名稱 | | `entity.name.namespace` | 命名空間 | | `entity.other.attribute-name` | 屬性名稱 (HTML/XML) | | `entity.other.inherited-class` | 繼承類別 | #### 支援 | Scope | 說明 | |-------|------| | `support` | 支援 | | `support.function` | 內建函數 | | `support.function.builtin` | 語言內建函數 | | `support.class` | 內建類別 | | `support.type` | 內建型別 | | `support.type.primitive` | 原始型別 | | `support.constant` | 內建常數 | | `support.variable` | 內建變數 | #### 標點符號 | Scope | 說明 | |-------|------| | `punctuation` | 標點符號 | | `punctuation.definition` | 定義標點 | | `punctuation.definition.string` | 字串引號 | | `punctuation.definition.comment` | 註解符號 | | `punctuation.definition.tag` | 標籤括號 | | `punctuation.separator` | 分隔符 (逗號、分號) | | `punctuation.accessor` | 存取器 (.) | | `punctuation.bracket` | 括號 | #### 運算子 | Scope | 說明 | |-------|------| | `keyword.operator` | 運算子 | | `keyword.operator.assignment` | 賦值運算子 | | `keyword.operator.arithmetic` | 算術運算子 | | `keyword.operator.logical` | 邏輯運算子 | | `keyword.operator.comparison` | 比較運算子 | | `keyword.operator.ternary` | 三元運算子 | | `keyword.operator.spread` | 展開運算子 | #### Meta | Scope | 說明 | |-------|------| | `meta.function` | 函數區塊 | | `meta.function-call` | 函數呼叫 | | `meta.class` | 類別區塊 | | `meta.block` | 程式區塊 | | `meta.brace` | 大括號 | | `meta.bracket` | 中括號 | | `meta.return.type` | 回傳型別 | | `meta.type.annotation` | 型別註解 | | `meta.object-literal.key` | 物件鍵 | | `meta.import` | 匯入區塊 | | `meta.export` | 匯出區塊 | #### 無效 | Scope | 說明 | |-------|------| | `invalid` | 無效 | | `invalid.illegal` | 非法語法 | | `invalid.deprecated` | 已棄用 | #### Markup (Markdown) | Scope | 說明 | |-------|------| | `markup.heading` | 標題 | | `markup.heading.1` | H1 | | `markup.heading.2` | H2 | | `markup.heading.3` | H3 | | `markup.bold` | 粗體 | | `markup.italic` | 斜體 | | `markup.underline` | 底線 | | `markup.strikethrough` | 刪除線 | | `markup.quote` | 引用 | | `markup.list` | 列表 | | `markup.list.numbered` | 有序列表 | | `markup.list.unnumbered` | 無序列表 | | `markup.inline.raw` | 行內程式碼 | | `markup.raw.block` | 程式碼區塊 | | `markup.inserted` | 插入 | | `markup.deleted` | 刪除 | | `markup.changed` | 變更 | #### 語言特定 **JSON** | Scope | 說明 | |-------|------| | `support.type.property-name.json` | JSON 鍵名 | | `string.json` | JSON 字串值 | **CSS/SCSS** | Scope | 說明 | |-------|------| | `entity.other.attribute-name.class.css` | CSS 類別選擇器 | | `entity.other.attribute-name.id.css` | CSS ID 選擇器 | | `entity.name.tag.css` | CSS 標籤選擇器 | | `support.type.property-name.css` | CSS 屬性名 | | `support.constant.property-value.css` | CSS 屬性值 | | `variable.scss` | SCSS 變數 | **HTML/JSX** | Scope | 說明 | |-------|------| | `entity.name.tag.html` | HTML 標籤 | | `entity.other.attribute-name.html` | HTML 屬性 | | `support.class.component` | React 元件 | | `support.class.component.jsx` | JSX 元件 | **TypeScript** | Scope | 說明 | |-------|------| | `entity.name.type.ts` | TypeScript 型別 | | `entity.name.type.interface.ts` | TypeScript 介面 | | `entity.name.type.enum.ts` | TypeScript 列舉 | | `entity.name.type.alias.ts` | TypeScript 型別別名 | | `meta.type.parameters.ts` | 泛型參數 | **Python** | Scope | 說明 | |-------|------| | `entity.name.function.decorator.python` | Python 裝飾器 | | `support.type.python` | Python 型別 | | `meta.function-call.arguments.python` | Python 函數參數 | **Swift** | Scope | 說明 | |-------|------| | `keyword.other.declaration-specifier.swift` | Swift 宣告修飾詞 | | `storage.type.swift` | Swift 儲存型別 | | `entity.name.type.swift` | Swift 型別名稱 | | `support.type.swift` | Swift 支援型別 | ### 3. 語義高亮 (`semanticTokenColors`) **必須啟用** `"semanticHighlighting": true`,確保變數顏色正確顯示。 **變數顏色規則(重要)**: - 深色主題:變數使用 `#FFFFFF`(白色) - 淺色主題:變數使用 `#1a1a1a`(近黑色) 必須設定的 token: | Token | 說明 | |-------|------| | `variable` | 變數 | | `variable.readonly` | 唯讀變數 | | `variable.local` | 區域變數 | | `variable.declaration` | 變數宣告 | | `parameter` | 參數 | | `function` | 函數 | | `function.declaration` | 函數宣告 | | `function.defaultLibrary` | 預設庫函數 | | `method` | 方法 | | `method.declaration` | 方法宣告 | | `class` | 類別 | | `class.declaration` | 類別宣告 | | `interface` | 介面 | | `interface.declaration` | 介面宣告 | | `enum` | 列舉 | | `enumMember` | 列舉成員 | | `type` | 型別 | | `type.declaration` | 型別宣告 | | `namespace` | 命名空間 | | `property` | 屬性 | | `property.readonly` | 唯讀屬性 | | `property.declaration` | 屬性宣告 | | `macro` | 巨集 | | `comment` | 註解 | | `string` | 字串 | | `number` | 數字 | | `regexp` | 正規表達式 | | `operator` | 運算子 | ## 品牌色彩映射 ```text 品牌主色 → activityBar.foreground, statusBar.background, focusBorder, editorCursor 品牌背景 → editor.background, sideBar.background, panel.background 品牌文字 → editor.foreground, sideBar.foreground 品牌輔助 → editorLineNumber.foreground, tab.inactiveForeground 品牌強調 → activityBarBadge.background, button.background ``` ## 語法高亮配色建議 **淺色主題:** - Comment:灰色 50-60% 亮度 - String:品牌色變體或琥珀/綠色系 - Keyword:品牌主色或深藍/紫色系 - Function:品牌輔助色或橙色系 - Class:深色強調,可加 underline - Type:斜體,品牌色變體 **深色主題:** - 所有色彩亮度 +20-30% - 保持色相一致性 ## 輸出格式 提供完整的 VS Code 主題 JSON,包含: 1. `"semanticHighlighting": true`(必須) 2. `colors` 物件(UI 色彩)- 必須包含上述所有類別 3. `tokenColors` 陣列(語法高亮)- 必須包含上述所有 scope 4. `semanticTokenColors` 物件(語義高亮)- 必須,確保變數顏色正確 ## 品牌官網參考 | 品牌 | 官網 | 設計系統 | |------|------|----------| | Claude (Anthropic) | claude.ai | anthropic.com | | Microsoft Teams | teams.microsoft.com | fluent2.microsoft.design | | macOS | apple.com/macos | developer.apple.com/design | | iOS | apple.com/ios | developer.apple.com/design | | Android | android.com | m3.material.io | | Nintendo | nintendo.com | - | | Sony | sony.com | - | | shadcn/ui | ui.shadcn.com | - | ## 範例提取流程 ```text 1. WebFetch: https://claude.ai → 提取頁面配色 2. WebFetch: https://anthropic.com/brand → 提取品牌指南 3. 分析 CSS 變數和主要色彩 4. 建立色彩映射表 5. 生成 VS Code 主題 JSON ``` ## 品質檢查 - [ ] 編輯器背景非純白/純黑 - [ ] 文字可讀性(對比度 ≥ 4.5:1) - [ ] 品牌識別度(一眼能認出品牌) - [ ] 語法高亮區分度 - [ ] 選取/高亮狀態清晰 - [ ] 所有 UI 色彩類別都已設定 - [ ] 所有語法高亮 scope 都已設定 - [ ] `semanticHighlighting: true` 已啟用 - [ ] `semanticTokenColors` 變數顏色已設定(深色 #FFFFFF / 淺色 #1a1a1a) - [ ] `editorUnnecessaryCode` 未使用程式碼樣式已設定 - [ ] 終端機 ANSI 色彩完整 - [ ] Git 裝飾色彩清晰區分 - [ ] 括號配對色彩明顯