diff --git a/src/views/agentModeSelector.ts b/src/views/agentModeSelector.ts
index 04a3841..fbb298b 100644
--- a/src/views/agentModeSelector.ts
+++ b/src/views/agentModeSelector.ts
@@ -1,6 +1,12 @@
/**
* 模式选择器组件
- * 提供 Agent/Ask/Auto 三种模式的选择功能
+ * 提供 Plan/Ask/Agent/Auto 四种模式的选择功能
+ *
+ * 模式说明:
+ * - Plan: 只读模式,只能查询分析,不能写文件
+ * - Ask: 逐个确认,每个写操作需用户确认
+ * - Agent: 智能体自主,自动执行大部分操作
+ * - Auto: 完全自动,所有操作自动执行
*/
/**
@@ -17,12 +23,25 @@ export function getModeSelectorContent(): string {
-
Agent
-
Ask
-
Auto
+
+ Plan
+ 只读模式
+
+
+ Ask
+ 逐个确认
+
+
+ Agent
+ 智能体自主
+
+
+ Auto
+ 完全自动
+
- 切换模式
+ 智能体自主模式
`;
}
@@ -69,7 +88,7 @@ export function getModeSelectorStyles(): string {
position: absolute;
bottom: calc(100% + 2px);
left: 0;
- min-width: 100%;
+ min-width: 140px;
background: var(--vscode-dropdown-background);
border: 1px solid var(--vscode-dropdown-border);
border-radius: 4px;
@@ -83,7 +102,10 @@ export function getModeSelectorStyles(): string {
}
/* 模式选择器的选项样式 */
.mode-option {
- padding: 6px 12px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 8px 12px;
font-size: 12px;
cursor: pointer;
transition: background 0.2s ease;
@@ -93,8 +115,15 @@ export function getModeSelectorStyles(): string {
background: rgba(128, 128, 128, 0.3);
}
.mode-option.selected {
- background: rgba(128, 128, 128, 0.5);
- color: var(--vscode-foreground);
+ background: rgba(64, 158, 255, 0.2);
+ }
+ .mode-option-label {
+ font-weight: 500;
+ }
+ .mode-option-desc {
+ font-size: 10px;
+ color: var(--vscode-descriptionForeground);
+ margin-left: 12px;
}
`;
}
@@ -124,10 +153,23 @@ export function getModeSelectorScript(): string {
function selectMode(value, label) {
currentMode = value;
const modeValue = document.getElementById('modeValue');
+ const modeTooltip = document.getElementById('modeTooltip');
+
if (modeValue) {
modeValue.textContent = label;
}
+ // 更新 tooltip
+ if (modeTooltip) {
+ const tooltipMap = {
+ 'plan': '只读模式 - 只能查询分析',
+ 'ask': '逐个确认 - 每个写操作需确认',
+ 'agent': '智能体自主模式',
+ 'auto': '完全自动 - 所有操作自动执行'
+ };
+ modeTooltip.textContent = tooltipMap[value] || '切换模式';
+ }
+
// 更新选中状态
const options = document.querySelectorAll('.mode-option');
options.forEach(option => {
diff --git a/src/views/planToggle.ts b/src/views/planToggle.ts
index 68fb9d1..7f87b91 100644
--- a/src/views/planToggle.ts
+++ b/src/views/planToggle.ts
@@ -1,19 +1,21 @@
/**
* Plan 开关组件
+ * 注意:功能已移至模式选择器,此组件仅保留样式(已禁用)
*/
/**
* 获取 Plan 开关的 HTML 内容
+ * 已禁用,仅保留样式展示
*/
export function getPlanToggleContent(): string {
return `
-
`;
}
@@ -73,6 +75,17 @@ export function getPlanToggleStyles(): string {
font-weight: 500;
color: var(--vscode-foreground);
}
+
+ /* 禁用状态样式 */
+ .plan-toggle-disabled {
+ cursor: not-allowed;
+ opacity: 0.5;
+ }
+
+ .plan-toggle-disabled .plan-toggle-slider {
+ background: var(--vscode-input-background);
+ border-color: var(--vscode-input-border);
+ }
`;
}