diff options
| author | christine betts <[email protected]> | 2025-07-30 22:36:24 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-30 22:36:24 +0000 |
| commit | 325bb8913776c60b763ee5f66375a4ca90d22ce0 (patch) | |
| tree | eb2aaf9fa1f826e9cfeff3e1507457aeb61d8fdf /packages/core/src/config | |
| parent | ac1bb5ee4275e508dfc2256bbd5ca012e4a4f469 (diff) | |
Add toggleable IDE mode setting (#5146)
Diffstat (limited to 'packages/core/src/config')
| -rw-r--r-- | packages/core/src/config/config.ts | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index e62e2962..edb24351 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -184,6 +184,7 @@ export interface ConfigParameters { blockedMcpServers?: Array<{ name: string; extensionName: string }>; noBrowser?: boolean; summarizeToolOutput?: Record<string, SummarizeToolOutputSettings>; + ideModeFeature?: boolean; ideMode?: boolean; ideClient: IdeClient; } @@ -228,8 +229,9 @@ export class Config { private readonly model: string; private readonly extensionContextFilePaths: string[]; private readonly noBrowser: boolean; - private readonly ideMode: boolean; - private readonly ideClient: IdeClient; + private readonly ideModeFeature: boolean; + private ideMode: boolean; + private ideClient: IdeClient; private inFallbackMode = false; private readonly maxSessionTurns: number; private readonly listExtensions: boolean; @@ -298,7 +300,8 @@ export class Config { this._blockedMcpServers = params.blockedMcpServers ?? []; this.noBrowser = params.noBrowser ?? false; this.summarizeToolOutput = params.summarizeToolOutput; - this.ideMode = params.ideMode ?? false; + this.ideModeFeature = params.ideModeFeature ?? false; + this.ideMode = params.ideMode ?? true; this.ideClient = params.ideClient; if (params.contextFileName) { @@ -589,14 +592,30 @@ export class Config { return this.summarizeToolOutput; } - getIdeMode(): boolean { - return this.ideMode; + getIdeModeFeature(): boolean { + return this.ideModeFeature; } getIdeClient(): IdeClient { return this.ideClient; } + getIdeMode(): boolean { + return this.ideMode; + } + + setIdeMode(value: boolean): void { + this.ideMode = value; + } + + setIdeClientDisconnected(): void { + this.ideClient.setDisconnected(); + } + + setIdeClientConnected(): void { + this.ideClient.reconnect(this.ideMode && this.ideModeFeature); + } + async getGitService(): Promise<GitService> { if (!this.gitService) { this.gitService = new GitService(this.targetDir); |
