diff options
Diffstat (limited to 'packages/vscode-ide-companion/src/extension.ts')
| -rw-r--r-- | packages/vscode-ide-companion/src/extension.ts | 28 |
1 files changed, 25 insertions, 3 deletions
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(); + } +} |
