Skip to content

Commit a10a936

Browse files
committed
enable continue features only when extension is active
1 parent c7c2b8f commit a10a936

File tree

4 files changed

+16
-11
lines changed

4 files changed

+16
-11
lines changed

package.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -875,11 +875,6 @@
875875
"group": "navigation@1",
876876
"when": "view == jobManager"
877877
},
878-
{
879-
"command": "vscode-db2i.jobManager.continue",
880-
"group": "navigation@1",
881-
"when": "view == jobManager"
882-
},
883878
{
884879
"command": "vscode-db2i.jobManager.defaultSelfSettings",
885880
"group": "navigation",
@@ -1093,7 +1088,7 @@
10931088
},
10941089
{
10951090
"command": "vscode-db2i.self.explainSelf",
1096-
"when": "view == vscode-db2i.self.nodes && viewItem == selfCodeNode",
1091+
"when": "view == vscode-db2i.self.nodes && viewItem == selfCodeNode && continueExtensionActive",
10971092
"group": "navigation"
10981093
}
10991094
],

src/aiProviders/continue/continueContextProvider.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import {
1313
} from "../../..";
1414
import { DB2_SELF_PROMPT, DB2_SYSTEM_PROMPT } from "./prompts";
1515

16+
export let isContinueActive = false;
17+
1618
const db2ContextProviderDesc: ContextProviderDescription = {
1719
title: "db2i",
1820
displayTitle: "Db2i",
@@ -176,6 +178,15 @@ export async function registerContinueProvider() {
176178
const provider = new db2ContextProvider();
177179
const continueID = `Continue.continue`;
178180
const continueEx = vscode.extensions.getExtension(continueID);
179-
const continueAPI = continueEx?.exports;
180-
continueAPI?.registerCustomContextProvider(provider);
181+
if (continueEx) {
182+
if (!continueEx.isActive) {
183+
await continueEx.activate();
184+
}
185+
186+
isContinueActive = true;
187+
const continueAPI = continueEx?.exports;
188+
continueAPI?.registerCustomContextProvider(provider);
189+
vscode.commands.executeCommand('setContext', 'continueExtensionActive', true);
190+
vscode.window.showInformationMessage(`@Db2i context provider enabled in Continue!`);
191+
}
181192
}

src/views/jobManager/jobManagerView.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@ import { displayJobLog } from "./jobLog";
99
import { SelfValue, selfCodesMap } from "./selfCodes/nodes";
1010
import { SelfCodesQuickPickItem } from "./selfCodes/selfCodesBrowser";
1111
import { updateStatusBar } from "./statusBar";
12-
import { selfCodesResultsView } from "./selfCodes/selfCodesResultsView";
1312
import { setCancelButtonVisibility } from "../results";
14-
import { registerContinueProvider } from "../../aiProviders/continue/continueContextProvider";
1513
import { JDBCOptions } from "@ibm/mapepire-js/dist/src/types";
1614

1715
const selectJobCommand = `vscode-db2i.jobManager.selectJob`;

src/views/jobManager/selfCodes/selfCodesResultsView.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import { SQLExample } from "../../examples";
1616
import { JobInfo } from "../../../connection/manager";
1717
import { OldSQLJob } from "../../../connection/sqlJob";
1818
import { JobLogEntry } from "../../../connection/types";
19+
import { isContinueActive } from "../../../aiProviders/continue/continueContextProvider";
1920

2021
type ChangeTreeDataEventType = SelfCodeTreeItem | undefined | null | void;
2122

@@ -70,7 +71,7 @@ export class selfCodesResultsView implements TreeDataProvider<any> {
7071
}
7172
}),
7273
vscode.commands.registerCommand(`vscode-db2i.self.explainSelf`, async (item: SelfCodeTreeItem) => {
73-
if (item && item.error) {
74+
if (item && item.error && isContinueActive) {
7475
const jsonData = JSON.stringify(item.error, null, 2);
7576
const document = await vscode.workspace.openTextDocument({
7677
content: jsonData,

0 commit comments

Comments
 (0)