From 0c76affe6dee2577aa072ee690f38906eecdf2d1 Mon Sep 17 00:00:00 2001 From: Shreya Keshive Date: Wed, 16 Jul 2025 21:03:56 -0400 Subject: Minor refactoring of IDE companion server (#4331) --- packages/vscode-ide-companion/src/extension.ts | 28 +++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 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 ecc63048..62901793 100644 --- a/packages/vscode-ide-companion/src/extension.ts +++ b/packages/vscode-ide-companion/src/extension.ts @@ -5,10 +5,32 @@ */ import * as vscode from 'vscode'; -import { startIDEServer } from './ide-server'; +import { IDEServer } from './ide-server'; + +let ideServer: IDEServer; +let logger: vscode.OutputChannel; export async function activate(context: vscode.ExtensionContext) { - startIDEServer(context); + logger = vscode.window.createOutputChannel('Gemini CLI IDE Companion'); + logger.show(); + logger.appendLine('Starting Gemini CLI IDE Companion server...'); + ideServer = new IDEServer(logger); + try { + await ideServer.start(context); + } catch (err) { + const message = err instanceof Error ? err.message : String(err); + logger.appendLine(`Failed to start IDE server: ${message}`); + } } -export function deactivate() {} +export function deactivate() { + if (ideServer) { + logger.appendLine('Deactivating Gemini CLI IDE Companion...'); + return ideServer.stop().finally(() => { + logger.dispose(); + }); + } + if (logger) { + logger.dispose(); + } +} -- cgit v1.2.3