✨ feat(vscode): 测试提示词改成可配置模板并带上工单号

启动测试会话原先硬编码发 `/pr-acceptance-testing`,不带目标,验收技能只能
反问要测哪个。现在做成 prompts/test.md 模板 + 设置里的「测试提示词」,占位符
{issueNumber} 和 {prRef}(worktree 里是分支,主仓库里是已合并的 PR)。

Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
This commit is contained in:
cruldra committed 2026-09-13 13:19:28 +08:00
1 parent e05a5234db
commit f946e5cfee
11 files changed
+77 -4

No files matched your search

+1
View File
@@ -538,6 +538,7 @@ export function App() {
initialImplementPlanPrompt={settings?.implementPlanPrompt ?? ''}
initialAutoReview={settings?.autoReview ?? true}
initialReviewPrompt={settings?.reviewPrompt ?? ''}
initialTestPrompt={settings?.testPrompt ?? ''}
initialDevBranch={settings?.devBranch ?? 'main'}
initialReleaseBranchPrefix={settings?.releaseBranchPrefix ?? 'release/'}
initialJenkinsJob={settings?.jenkinsJob ?? ''}
@@ -25,6 +25,7 @@ interface SubmitValues {
implementPlanPrompt: string
autoReview: boolean
reviewPrompt: string
testPrompt: string
devBranch: string
releaseBranchPrefix: string
jenkinsJob: string
@@ -78,6 +79,7 @@ export interface SettingsModalProps {
initialImplementPlanPrompt: string
initialAutoReview: boolean
initialReviewPrompt: string
initialTestPrompt: string
initialDevBranch: string
initialReleaseBranchPrefix: string
initialJenkinsJob: string
@@ -167,6 +169,7 @@ export function SettingsModal({
initialImplementPlanPrompt,
initialAutoReview,
initialReviewPrompt,
initialTestPrompt,
initialDevBranch,
initialReleaseBranchPrefix,
initialJenkinsJob,
@@ -208,6 +211,7 @@ export function SettingsModal({
const [implementPlanPrompt, setImplementPlanPrompt] = useState(initialImplementPlanPrompt)
const [autoReview, setAutoReview] = useState(initialAutoReview)
const [reviewPrompt, setReviewPrompt] = useState(initialReviewPrompt)
const [testPrompt, setTestPrompt] = useState(initialTestPrompt)
const [devBranch, setDevBranch] = useState(initialDevBranch)
const [releaseBranchPrefix, setReleaseBranchPrefix] = useState(initialReleaseBranchPrefix)
const [jenkinsJob, setJenkinsJob] = useState(initialJenkinsJob)
@@ -251,6 +255,7 @@ export function SettingsModal({
setImplementPlanPrompt(initialImplementPlanPrompt)
setAutoReview(initialAutoReview)
setReviewPrompt(initialReviewPrompt)
setTestPrompt(initialTestPrompt)
setDevBranch(initialDevBranch)
setReleaseBranchPrefix(initialReleaseBranchPrefix)
setJenkinsJob(initialJenkinsJob)
@@ -342,6 +347,7 @@ export function SettingsModal({
implementPlanPrompt,
autoReview,
reviewPrompt,
testPrompt,
devBranch: devBranch.trim(),
releaseBranchPrefix: releaseBranchPrefix.trim(),
jenkinsJob: jenkinsJob.trim(),
@@ -1002,6 +1008,26 @@ export function SettingsModal({
className={`${inputClass} resize-y font-mono`}
/>
</Field>
<Field
label="测试提示词"
hint={(
<>
可用占位符:
<code>{'{issueNumber}'}</code>
、
<code>{'{prRef}'}</code>
(worktree 里是分支,主仓库里是已合并的 PR)
</>
)}
>
<textarea
rows={4}
value={testPrompt}
onChange={e => setTestPrompt(e.target.value)}
className={`${inputClass} resize-y font-mono`}
/>
</Field>
</>
)}
+4
View File
@@ -43,6 +43,7 @@ export interface SettingsValues {
implementPlanPrompt: string
autoReview: boolean
reviewPrompt: string
testPrompt: string
devBranch: string
releaseBranchPrefix: string
jenkinsJob: string
@@ -82,6 +83,7 @@ export interface SettingsOverlayState {
implementPlanPrompt: string
autoReview: boolean
reviewPrompt: string
testPrompt: string
devBranch: string
releaseBranchPrefix: string
jenkinsJob: string
@@ -421,6 +423,7 @@ export function useIssues(): UseIssuesResult {
implementPlanPrompt: values.implementPlanPrompt,
autoReview: values.autoReview,
reviewPrompt: values.reviewPrompt,
testPrompt: values.testPrompt,
devBranch: values.devBranch,
releaseBranchPrefix: values.releaseBranchPrefix,
jenkinsJob: values.jenkinsJob,
@@ -886,6 +889,7 @@ export function useIssues(): UseIssuesResult {
implementPlanPrompt: msg.implementPlanPrompt,
autoReview: msg.autoReview,
reviewPrompt: msg.reviewPrompt,
testPrompt: msg.testPrompt,
devBranch: msg.devBranch,
releaseBranchPrefix: msg.releaseBranchPrefix,
jenkinsJob: msg.jenkinsJob,
+2
View File
@@ -107,6 +107,7 @@ export type ExtensionToWebview
implementPlanPrompt: string
autoReview: boolean
reviewPrompt: string
testPrompt: string
devBranch: string
releaseBranchPrefix: string
jenkinsJob: string
@@ -189,6 +190,7 @@ export type WebviewToExtension
implementPlanPrompt: string
autoReview: boolean
reviewPrompt: string
testPrompt: string
devBranch: string
releaseBranchPrefix: string
jenkinsJob: string