diff --git a/packages/vscode-ide-companion/package.json b/packages/vscode-ide-companion/package.json index 913e0c9c..7f02a65d 100644 --- a/packages/vscode-ide-companion/package.json +++ b/packages/vscode-ide-companion/package.json @@ -30,6 +30,14 @@ "activationEvents": [ "onStartupFinished" ], + "contributes": { + "commands": [ + { + "command": "gemini-cli.runGeminiCLI", + "title": "Gemini CLI: Run" + } + ] + }, "main": "./dist/extension.js", "scripts": { "vscode:prepublish": "npm run check-types && npm run lint && node esbuild.js --production", diff --git a/packages/vscode-ide-companion/src/extension.ts b/packages/vscode-ide-companion/src/extension.ts index 74bcaf89..647acae3 100644 --- a/packages/vscode-ide-companion/src/extension.ts +++ b/packages/vscode-ide-companion/src/extension.ts @@ -23,6 +23,15 @@ export async function activate(context: vscode.ExtensionContext) { const message = err instanceof Error ? err.message : String(err); log(`Failed to start IDE server: ${message}`); } + + context.subscriptions.push( + vscode.commands.registerCommand('gemini-cli.runGeminiCLI', () => { + const geminiCmd = 'gemini'; + const terminal = vscode.window.createTerminal(`Gemini CLI`); + terminal.show(); + terminal.sendText(geminiCmd); + }), + ); } export async function deactivate(): Promise {