diff options
| author | Shreya Keshive <[email protected]> | 2025-07-16 21:03:56 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-17 01:03:56 +0000 |
| commit | 0c76affe6dee2577aa072ee690f38906eecdf2d1 (patch) | |
| tree | 7f42cf36e85b9f5aef3474ba5cf93f2dfd80f412 /packages/vscode-ide-companion/src/extension.ts | |
| parent | fbe09cd35e6c043ea2dc69281b758e5ad9f3896c (diff) | |
Minor refactoring of IDE companion server (#4331)
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(); + } +} |
