✨ feat(vscode): 提交代码按钮可配置 Claude profile
This commit is contained in:
@@ -32,6 +32,7 @@ interface SubmitValues {
|
||||
implTabPreCreateScript: string
|
||||
implTabPostCloseScript: string
|
||||
conflictResolutionProfilePath: string
|
||||
commitProfilePath: string
|
||||
codexModel: string
|
||||
codexReasoningEffort: string
|
||||
profilesDirectory: string
|
||||
@@ -75,6 +76,7 @@ export interface SettingsModalProps {
|
||||
initialImplTabPreCreateScript: string
|
||||
initialImplTabPostCloseScript: string
|
||||
initialConflictResolutionProfilePath: string
|
||||
initialCommitProfilePath: string
|
||||
initialCodexModel: string
|
||||
initialCodexReasoningEffort: string
|
||||
initialProfilesDirectory: string
|
||||
@@ -152,6 +154,7 @@ export function SettingsModal({
|
||||
initialImplTabPreCreateScript,
|
||||
initialImplTabPostCloseScript,
|
||||
initialConflictResolutionProfilePath,
|
||||
initialCommitProfilePath,
|
||||
initialCodexModel,
|
||||
initialCodexReasoningEffort,
|
||||
initialProfilesDirectory,
|
||||
@@ -183,6 +186,7 @@ export function SettingsModal({
|
||||
const [implTabPreCreateScript, setImplTabPreCreateScript] = useState(initialImplTabPreCreateScript)
|
||||
const [implTabPostCloseScript, setImplTabPostCloseScript] = useState(initialImplTabPostCloseScript)
|
||||
const [conflictResolutionProfilePath, setConflictResolutionProfilePath] = useState(initialConflictResolutionProfilePath)
|
||||
const [commitProfilePath, setCommitProfilePath] = useState(initialCommitProfilePath)
|
||||
const [codexModel, setCodexModel] = useState(initialCodexModel)
|
||||
const [codexReasoningEffort, setCodexReasoningEffort] = useState(initialCodexReasoningEffort)
|
||||
const [profilesDirectory, setProfilesDirectory] = useState(initialProfilesDirectory)
|
||||
@@ -216,6 +220,7 @@ export function SettingsModal({
|
||||
setImplTabPreCreateScript(initialImplTabPreCreateScript)
|
||||
setImplTabPostCloseScript(initialImplTabPostCloseScript)
|
||||
setConflictResolutionProfilePath(initialConflictResolutionProfilePath)
|
||||
setCommitProfilePath(initialCommitProfilePath)
|
||||
setCodexModel(initialCodexModel)
|
||||
setCodexReasoningEffort(initialCodexReasoningEffort)
|
||||
setProfilesDirectory(initialProfilesDirectory)
|
||||
@@ -302,6 +307,8 @@ export function SettingsModal({
|
||||
implTabPostCloseScript: implTabPostCloseScript.trim(),
|
||||
// 冲突解决 profile:空串 = 用 DEFAULT_PROFILE_PATH
|
||||
conflictResolutionProfilePath: conflictResolutionProfilePath.trim(),
|
||||
// 提交代码 profile:空串 = 未配置 → 提交严格失败
|
||||
commitProfilePath: commitProfilePath.trim(),
|
||||
// codex 模型 / 思考级别:trim 后留空 = 用 codex config.toml 默认
|
||||
codexModel: codexModel.trim(),
|
||||
codexReasoningEffort: codexReasoningEffort.trim(),
|
||||
@@ -484,6 +491,32 @@ export function SettingsModal({
|
||||
</select>
|
||||
</Field>
|
||||
|
||||
<Field
|
||||
label="提交代码 profile"
|
||||
hint={(
|
||||
<>
|
||||
顶部工具栏「提交代码」使用此 profile。留空则提交失败,不会回退默认。
|
||||
</>
|
||||
)}
|
||||
>
|
||||
<select
|
||||
value={commitProfilePath}
|
||||
onChange={e => setCommitProfilePath(e.target.value)}
|
||||
className={inputClass}
|
||||
>
|
||||
<option value="">(未配置)</option>
|
||||
{profiles.map(p => (
|
||||
<option key={p.path} value={p.path}>{p.name}</option>
|
||||
))}
|
||||
{commitProfilePath
|
||||
&& !profiles.some(p => p.path === commitProfilePath) && (
|
||||
<option value={commitProfilePath}>
|
||||
{`自定义:${commitProfilePath}`}
|
||||
</option>
|
||||
)}
|
||||
</select>
|
||||
</Field>
|
||||
|
||||
<Field
|
||||
label="codex 模型"
|
||||
hint={(
|
||||
|
||||
Reference in New Issue
Block a user