diff --git a/packages/kilo-vscode/package.json b/packages/kilo-vscode/package.json index 1e90da1bc2b..b96b1e1a9b6 100644 --- a/packages/kilo-vscode/package.json +++ b/packages/kilo-vscode/package.json @@ -45,13 +45,7 @@ "kilocode" ], "activationEvents": [ - "onWebviewPanel:kilo-code.new.AgentManagerPanel", - "onWebviewPanel:kilo-code.new.TabPanel", - "onWebviewPanel:kilo-code.new.settingsPanel", - "onWebviewPanel:kilo-code.new.profilePanel", - "onWebviewPanel:kilo-code.new.marketplacePanel", - "onWebviewPanel:kilo-code.new.DiffViewerPanel", - "onWebviewPanel:kilo-code.new.SubAgentViewerPanel" + "onStartupFinished" ], "main": "./dist/extension.js", "contributes": { diff --git a/packages/kilo-vscode/src/extension.ts b/packages/kilo-vscode/src/extension.ts index 413c0a2e63e..47b9fea5be8 100644 --- a/packages/kilo-vscode/src/extension.ts +++ b/packages/kilo-vscode/src/extension.ts @@ -257,10 +257,15 @@ export function activate(context: vscode.ExtensionContext) { // Start the CLI backend server eagerly so autocomplete works without opening a Kilo tab. // connectionService.connect() is idempotent — when a webview later calls connect(), it's a no-op. - const workspaceDir = vscode.workspace.workspaceFolders?.[0]?.uri.fsPath ?? process.cwd() - connectionService.connect(workspaceDir).catch((error) => { - console.error("[Kilo New] Extension: Failed to eagerly start CLI backend:", error) - }) + // Only start eagerly if autocomplete is enabled to avoid spawning a server process unnecessarily. + const autocompleteEnabled = + vscode.workspace.getConfiguration("kilo-code.new.autocomplete").get("enableAutoTrigger") ?? true + if (autocompleteEnabled) { + const workspaceDir = vscode.workspace.workspaceFolders?.[0]?.uri.fsPath ?? process.cwd() + connectionService.connect(workspaceDir).catch((error) => { + console.error("[Kilo New] Extension: Failed to eagerly start CLI backend:", error) + }) + } // Register commit message generation registerCommitMessageService(context, connectionService)