Add toggleable IDE mode setting (#5146)

This commit is contained in:
christine betts
2025-07-30 22:36:24 +00:00
committed by GitHub
parent ac1bb5ee42
commit 325bb89137
13 changed files with 231 additions and 123 deletions

View File

@@ -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);