feat(vscode): 冲突解决会话 profile 可在设置面板配置

This commit is contained in:
2026-07-09 08:41:58 +08:00
parent 38f15a6fe1
commit 7b4f737ce5
10 changed files with 85 additions and 17 deletions
+12
View File
@@ -164,6 +164,11 @@ export interface Settings {
* extension finds the project's first `isResolved` state value and uses that.
*/
youtrackCloseCommand: string
/**
* Claude settings profile path for the conflict-resolution cc session
* (drag to 完成 when PR merge conflicts). Empty = DEFAULT_PROFILE_PATH.
*/
conflictResolutionProfilePath: string
}
export const SETTINGS_KEY = 'superpowers.settings'
@@ -188,6 +193,7 @@ function defaults(ctx: ExtensionContext): Settings {
youtrackBaseUrl: '',
youtrackProjectShortName: '',
youtrackCloseCommand: '',
conflictResolutionProfilePath: '',
}
}
@@ -267,6 +273,11 @@ export function getSettings(ctx: ExtensionContext): Settings {
const youtrackCloseCommand = typeof stored.youtrackCloseCommand === 'string'
? stored.youtrackCloseCommand
: base.youtrackCloseCommand
// conflict-resolution profile: '' is meaningful (= DEFAULT_PROFILE_PATH at
// launch time), so don't coerce. Non-string legacy values collapse to ''.
const conflictResolutionProfilePath = typeof stored.conflictResolutionProfilePath === 'string'
? stored.conflictResolutionProfilePath
: base.conflictResolutionProfilePath
return {
webhookPort,
@@ -287,6 +298,7 @@ export function getSettings(ctx: ExtensionContext): Settings {
youtrackBaseUrl,
youtrackProjectShortName,
youtrackCloseCommand,
conflictResolutionProfilePath,
}
}