From 6380bfe35c80e71f6a43bc7b549e61561d675a07 Mon Sep 17 00:00:00 2001 From: Shreya Keshive Date: Thu, 24 Jul 2025 01:32:55 -0400 Subject: Minor refactoring of VS Code companion extension code (#4761) --- packages/vscode-ide-companion/src/extension.ts | 30 ++++++++++++++++---------- 1 file changed, 19 insertions(+), 11 deletions(-) (limited to 'packages/vscode-ide-companion/src/extension.ts') diff --git a/packages/vscode-ide-companion/src/extension.ts b/packages/vscode-ide-companion/src/extension.ts index 71d3138f..912b9b8f 100644 --- a/packages/vscode-ide-companion/src/extension.ts +++ b/packages/vscode-ide-companion/src/extension.ts @@ -6,30 +6,38 @@ import * as vscode from 'vscode'; import { IDEServer } from './ide-server'; +import { createLogger } from './utils/logger'; let ideServer: IDEServer; let logger: vscode.OutputChannel; +let log: (message: string) => void = () => {}; export async function activate(context: vscode.ExtensionContext) { logger = vscode.window.createOutputChannel('Gemini CLI IDE Companion'); - logger.appendLine('Starting Gemini CLI IDE Companion server...'); - ideServer = new IDEServer(logger); + log = createLogger(context, logger); + + log('Extension activated'); + ideServer = new IDEServer(log); try { await ideServer.start(context); } catch (err) { const message = err instanceof Error ? err.message : String(err); - logger.appendLine(`Failed to start IDE server: ${message}`); + log(`Failed to start IDE server: ${message}`); } } -export function deactivate() { - if (ideServer) { - logger.appendLine('Deactivating Gemini CLI IDE Companion...'); - return ideServer.stop().finally(() => { +export async function deactivate(): Promise { + log('Extension deactivated'); + try { + if (ideServer) { + await ideServer.stop(); + } + } catch (err) { + const message = err instanceof Error ? err.message : String(err); + log(`Failed to stop IDE server during deactivation: ${message}`); + } finally { + if (logger) { logger.dispose(); - }); - } - if (logger) { - logger.dispose(); + } } } -- cgit v1.2.3