From 021f4171dc0af61ee8026c409feb445a342710ff Mon Sep 17 00:00:00 2001 From: Mark IJbema Date: Mon, 9 Mar 2026 15:43:29 +0100 Subject: [PATCH] fix: activate extension on startup so eager connect() actually runs The previous commit added connectionService.connect() in activate(), but activate() itself never ran without the sidebar open because activationEvents was empty. VS Code only triggered activation when the sidebar view was shown. Add 'onStartupFinished' to activationEvents so the extension activates after VS Code startup completes. Guard the eager connect() behind the autocomplete enableAutoTrigger setting to avoid spawning a CLI server process when autocomplete is disabled. --- packages/kilo-vscode/package.json | 8 +------- packages/kilo-vscode/src/extension.ts | 13 +++++++++---- 2 files changed, 10 insertions(+), 11 deletions(-) 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)