♻️ refactor(vscode): 设置项 autoBuildBranch 换成发布分支前缀与 Jenkins 任务

Claude-Session: https://claude.ai/code/session_01HTMgwaE3woqM5yvsHiuSAa
This commit is contained in:
cruldra committed 2026-08-31 23:38:53 +08:00
1 parent fa32d4a88b
commit 6f59b4f3fd
13 files changed
+149 -66

No files matched your search

+16 -8
View File
@@ -28,7 +28,9 @@ export async function handleSettingsSave(panel: KanbanWebviewPanel, payload: {
autoReview: boolean
reviewPrompt: string
devBranch: string
autoBuildBranch: string
releaseBranchPrefix: string
jenkinsJob: string
jenkinsProdHost: string
worktreeDirectory: string
worktreeOpenWith: 'vscode' | 'pycharm'
pycharmCommand: string
@@ -55,7 +57,10 @@ export async function handleSettingsSave(panel: KanbanWebviewPanel, payload: {
const trimmedYtClose = payload.youtrackCloseCommand.trim()
const trimmedYtToken = payload.youtrackToken.trim()
const trimmedDevBranch = payload.devBranch.trim()
const trimmedAutoBuildBranch = payload.autoBuildBranch.trim()
// 发布前缀 / Jenkins 任务 / 正式服 host:只 trim,空值回退在 getSettings 读时做。
const trimmedReleasePrefix = payload.releaseBranchPrefix.trim()
const trimmedJenkinsJob = payload.jenkinsJob.trim()
const trimmedJenkinsProdHost = payload.jenkinsProdHost.trim()
// worktree dir template: '' = "use default", so don't preserve blanks
// specially — getSettings falls back to the default at read time.
const trimmedWorktreeDir = payload.worktreeDirectory.trim()
@@ -101,7 +106,9 @@ export async function handleSettingsSave(panel: KanbanWebviewPanel, payload: {
autoReview: payload.autoReview,
reviewPrompt: payload.reviewPrompt || prev.reviewPrompt,
devBranch: trimmedDevBranch || prev.devBranch,
autoBuildBranch: trimmedAutoBuildBranch,
releaseBranchPrefix: trimmedReleasePrefix || prev.releaseBranchPrefix,
jenkinsJob: trimmedJenkinsJob,
jenkinsProdHost: trimmedJenkinsProdHost || prev.jenkinsProdHost,
worktreeDirectory: trimmedWorktreeDir || prev.worktreeDirectory,
worktreeOpenWith: payload.worktreeOpenWith || prev.worktreeOpenWith,
pycharmCommand: trimmedPycharmCmd || prev.pycharmCommand,
@@ -126,11 +133,10 @@ export async function handleSettingsSave(panel: KanbanWebviewPanel, payload: {
implementPlanPrompt: payload.implementPlanPrompt,
autoReview: payload.autoReview,
reviewPrompt: payload.reviewPrompt,
// Persist trimmed values; '' is meaningful for autoBuildBranch
// ("follow devBranch"), so don't coerce — getSettings handles the
// fallback at read time.
devBranch: trimmedDevBranch,
autoBuildBranch: trimmedAutoBuildBranch,
releaseBranchPrefix: trimmedReleasePrefix,
jenkinsJob: trimmedJenkinsJob,
jenkinsProdHost: trimmedJenkinsProdHost,
worktreeDirectory: trimmedWorktreeDir,
worktreeOpenWith: payload.worktreeOpenWith,
pycharmCommand: trimmedPycharmCmd,
@@ -233,7 +239,9 @@ export async function handleEditSettingsRequest(panel: KanbanWebviewPanel): Prom
autoReview: s.autoReview,
reviewPrompt: s.reviewPrompt,
devBranch: s.devBranch,
autoBuildBranch: s.autoBuildBranch,
releaseBranchPrefix: s.releaseBranchPrefix,
jenkinsJob: s.jenkinsJob,
jenkinsProdHost: s.jenkinsProdHost,
worktreeDirectory: s.worktreeDirectory,
worktreeOpenWith: s.worktreeOpenWith,
pycharmCommand: s.pycharmCommand,