✨ feat(vscode): 设置面板可配置 Claude profiles 目录并修正探测顺序
This commit is contained in:
@@ -460,6 +460,7 @@ export function App() {
|
||||
initialConflictResolutionProfilePath={settings?.conflictResolutionProfilePath ?? ''}
|
||||
initialCodexModel={settings?.codexModel ?? ''}
|
||||
initialCodexReasoningEffort={settings?.codexReasoningEffort ?? ''}
|
||||
initialProfilesDirectory={settings?.profilesDirectory ?? ''}
|
||||
initialYoutrackBaseUrl={settings?.youtrackBaseUrl ?? ''}
|
||||
initialYoutrackProjectShortName={settings?.youtrackProjectShortName ?? ''}
|
||||
initialYoutrackCloseCommand={settings?.youtrackCloseCommand ?? ''}
|
||||
|
||||
@@ -34,6 +34,7 @@ interface SubmitValues {
|
||||
conflictResolutionProfilePath: string
|
||||
codexModel: string
|
||||
codexReasoningEffort: string
|
||||
profilesDirectory: string
|
||||
youtrackBaseUrl: string
|
||||
youtrackProjectShortName: string
|
||||
youtrackCloseCommand: string
|
||||
@@ -76,6 +77,7 @@ export interface SettingsModalProps {
|
||||
initialConflictResolutionProfilePath: string
|
||||
initialCodexModel: string
|
||||
initialCodexReasoningEffort: string
|
||||
initialProfilesDirectory: string
|
||||
initialYoutrackBaseUrl: string
|
||||
initialYoutrackProjectShortName: string
|
||||
initialYoutrackCloseCommand: string
|
||||
@@ -152,6 +154,7 @@ export function SettingsModal({
|
||||
initialConflictResolutionProfilePath,
|
||||
initialCodexModel,
|
||||
initialCodexReasoningEffort,
|
||||
initialProfilesDirectory,
|
||||
initialYoutrackBaseUrl,
|
||||
initialYoutrackProjectShortName,
|
||||
initialYoutrackCloseCommand,
|
||||
@@ -182,6 +185,7 @@ export function SettingsModal({
|
||||
const [conflictResolutionProfilePath, setConflictResolutionProfilePath] = useState(initialConflictResolutionProfilePath)
|
||||
const [codexModel, setCodexModel] = useState(initialCodexModel)
|
||||
const [codexReasoningEffort, setCodexReasoningEffort] = useState(initialCodexReasoningEffort)
|
||||
const [profilesDirectory, setProfilesDirectory] = useState(initialProfilesDirectory)
|
||||
const [youtrackBaseUrl, setYoutrackBaseUrl] = useState(initialYoutrackBaseUrl)
|
||||
const [youtrackProjectShortName, setYoutrackProjectShortName] = useState(initialYoutrackProjectShortName)
|
||||
const [youtrackCloseCommand, setYoutrackCloseCommand] = useState(initialYoutrackCloseCommand)
|
||||
@@ -214,6 +218,7 @@ export function SettingsModal({
|
||||
setConflictResolutionProfilePath(initialConflictResolutionProfilePath)
|
||||
setCodexModel(initialCodexModel)
|
||||
setCodexReasoningEffort(initialCodexReasoningEffort)
|
||||
setProfilesDirectory(initialProfilesDirectory)
|
||||
setYoutrackBaseUrl(initialYoutrackBaseUrl)
|
||||
setYoutrackProjectShortName(initialYoutrackProjectShortName)
|
||||
setYoutrackCloseCommand(initialYoutrackCloseCommand)
|
||||
@@ -300,6 +305,8 @@ export function SettingsModal({
|
||||
// codex 模型 / 思考级别:trim 后留空 = 用 codex config.toml 默认
|
||||
codexModel: codexModel.trim(),
|
||||
codexReasoningEffort: codexReasoningEffort.trim(),
|
||||
// profiles 目录:trim 后留空 = 自动探测
|
||||
profilesDirectory: profilesDirectory.trim(),
|
||||
youtrackBaseUrl: youtrackBaseUrl.trim(),
|
||||
youtrackProjectShortName: youtrackProjectShortName.trim(),
|
||||
youtrackCloseCommand: youtrackCloseCommand.trim(),
|
||||
@@ -559,6 +566,29 @@ export function SettingsModal({
|
||||
<span className="opacity-80">启用</span>
|
||||
</label>
|
||||
</Field>
|
||||
|
||||
<Field
|
||||
label="Claude profiles 目录"
|
||||
hint={(
|
||||
<>
|
||||
claude --settings 用的 .json 所在目录。留空自动探测(优先
|
||||
{' '}
|
||||
<code>~/Sources/cruldra-profile/claude-config/profiles</code>
|
||||
)。支持
|
||||
{' '}
|
||||
<code>~</code>
|
||||
。
|
||||
</>
|
||||
)}
|
||||
>
|
||||
<input
|
||||
type="text"
|
||||
value={profilesDirectory}
|
||||
onChange={e => setProfilesDirectory(e.target.value)}
|
||||
placeholder="~/Sources/cruldra-profile/claude-config/profiles"
|
||||
className={inputClass}
|
||||
/>
|
||||
</Field>
|
||||
</>
|
||||
)}
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@ export interface SettingsValues {
|
||||
conflictResolutionProfilePath: string
|
||||
codexModel: string
|
||||
codexReasoningEffort: string
|
||||
profilesDirectory: string
|
||||
youtrackBaseUrl: string
|
||||
youtrackProjectShortName: string
|
||||
youtrackCloseCommand: string
|
||||
@@ -71,6 +72,7 @@ export interface SettingsOverlayState {
|
||||
conflictResolutionProfilePath: string
|
||||
codexModel: string
|
||||
codexReasoningEffort: string
|
||||
profilesDirectory: string
|
||||
youtrackBaseUrl: string
|
||||
youtrackProjectShortName: string
|
||||
youtrackCloseCommand: string
|
||||
@@ -290,6 +292,7 @@ export function useIssues(): UseIssuesResult {
|
||||
conflictResolutionProfilePath: values.conflictResolutionProfilePath,
|
||||
codexModel: values.codexModel,
|
||||
codexReasoningEffort: values.codexReasoningEffort,
|
||||
profilesDirectory: values.profilesDirectory,
|
||||
youtrackBaseUrl: values.youtrackBaseUrl,
|
||||
youtrackProjectShortName: values.youtrackProjectShortName,
|
||||
youtrackCloseCommand: values.youtrackCloseCommand,
|
||||
@@ -635,6 +638,7 @@ export function useIssues(): UseIssuesResult {
|
||||
conflictResolutionProfilePath: msg.conflictResolutionProfilePath,
|
||||
codexModel: msg.codexModel,
|
||||
codexReasoningEffort: msg.codexReasoningEffort,
|
||||
profilesDirectory: msg.profilesDirectory,
|
||||
youtrackBaseUrl: msg.youtrackBaseUrl ?? '',
|
||||
youtrackProjectShortName: msg.youtrackProjectShortName ?? '',
|
||||
youtrackCloseCommand: msg.youtrackCloseCommand ?? '',
|
||||
|
||||
@@ -84,6 +84,7 @@ export type ExtensionToWebview
|
||||
conflictResolutionProfilePath: string
|
||||
codexModel: string
|
||||
codexReasoningEffort: string
|
||||
profilesDirectory: string
|
||||
youtrackBaseUrl?: string
|
||||
youtrackProjectShortName?: string
|
||||
youtrackCloseCommand?: string
|
||||
@@ -148,6 +149,7 @@ export type WebviewToExtension
|
||||
conflictResolutionProfilePath: string
|
||||
codexModel: string
|
||||
codexReasoningEffort: string
|
||||
profilesDirectory: string
|
||||
youtrackBaseUrl: string
|
||||
youtrackProjectShortName: string
|
||||
youtrackCloseCommand: string
|
||||
|
||||
Reference in New Issue
Block a user