✨ feat(vscode): 改动说明 profile 可配置

This commit is contained in:
cruldra committed 2026-08-28 06:38:02 +08:00
1 parent 77037924ef
commit 443a8e472a
14 files changed
+137 -37

No files matched your search

+7 -1
View File
@@ -11,7 +11,7 @@ import { listClaudeProfiles, setProfilesDirOverride } from '../../cc/profiles'
import { detectRepo } from '../../git/remote'
import { logger } from '../../logging/logger'
import { readProfiles, writeProfiles } from '../../profiles/store'
import { getEffectiveCommitProfilePath, getSettings, saveSettings } from '../../settings/store'
import { getEffectiveCommitProfilePath, getEffectivePrDiffSummaryProfilePath, getSettings, saveSettings } from '../../settings/store'
import { webhookCoordinator } from '../../webhook/coordinator'
import { youtrackHost } from '../../youtrack/issueLoader'
import { makeNonce } from '../KanbanPanel'
@@ -37,6 +37,7 @@ export async function handleSettingsSave(panel: KanbanWebviewPanel, payload: {
implTabPostCloseScript: string
conflictResolutionProfilePath: string
commitProfilePath: string
prDiffSummaryProfilePath: string
codexModel: string
codexReasoningEffort: string
profilesDirectory: string
@@ -70,6 +71,7 @@ export async function handleSettingsSave(panel: KanbanWebviewPanel, payload: {
const trimmedConflictProfile = payload.conflictResolutionProfilePath.trim()
// 提交代码 profile:'' 有意义(= 未配置 → 提交严格失败),只 trim。
const trimmedCommitProfile = payload.commitProfilePath.trim()
const trimmedPrDiffSummaryProfile = payload.prDiffSummaryProfilePath.trim()
// codex 模型 / 思考级别:空串有意义(= 用 codex 默认),只 trim。
const trimmedCodexModel = payload.codexModel.trim()
const trimmedCodexReasoningEffort = payload.codexReasoningEffort.trim()
@@ -108,6 +110,7 @@ export async function handleSettingsSave(panel: KanbanWebviewPanel, payload: {
implTabPostCloseScript: trimmedImplPost,
conflictResolutionProfilePath: trimmedConflictProfile,
commitProfilePath: trimmedCommitProfile,
prDiffSummaryProfilePath: trimmedPrDiffSummaryProfile,
codexModel: trimmedCodexModel,
codexReasoningEffort: trimmedCodexReasoningEffort,
profilesDirectory: trimmedProfilesDirectory,
@@ -136,6 +139,7 @@ export async function handleSettingsSave(panel: KanbanWebviewPanel, payload: {
implTabPostCloseScript: trimmedImplPost,
conflictResolutionProfilePath: trimmedConflictProfile,
commitProfilePath: trimmedCommitProfile,
prDiffSummaryProfilePath: trimmedPrDiffSummaryProfile,
codexModel: trimmedCodexModel,
codexReasoningEffort: trimmedCodexReasoningEffort,
profilesDirectory: trimmedProfilesDirectory,
@@ -213,6 +217,7 @@ export async function handleEditSettingsRequest(panel: KanbanWebviewPanel): Prom
: undefined
// 升级 seed:key 缺失时预填 deepseek path(若有),仅展示不写回。
const commitProfilePath = await getEffectiveCommitProfilePath(panel.context)
const prDiffSummaryProfilePath = await getEffectivePrDiffSummaryProfilePath(panel.context)
// User clicked the gear themselves — let them back out without saving.
panel.postMessage({
type: 'settings/show',
@@ -237,6 +242,7 @@ export async function handleEditSettingsRequest(panel: KanbanWebviewPanel): Prom
implTabPostCloseScript: s.implTabPostCloseScript,
conflictResolutionProfilePath: s.conflictResolutionProfilePath,
commitProfilePath,
prDiffSummaryProfilePath,
codexModel: s.codexModel,
codexReasoningEffort: s.codexReasoningEffort,
profilesDirectory: s.profilesDirectory,