diff --git a/package.json b/package.json index bdee6eb..13a0948 100644 --- a/package.json +++ b/package.json @@ -168,6 +168,11 @@ "type": "boolean", "default": false, "description": "Discover critical problems and performance issues in your Apex code with ApexGuru, which analyzes your Apex files for you. This feature is in a closed pilot; contact your account representative to learn more." + }, + "codeAnalyzer.deltaRuns.enabled": { + "type": "boolean", + "default": false, + "description": "***Enable delta run of Salesforce Graph Engine***" } } }, @@ -187,7 +192,7 @@ }, { "command": "sfca.runDfa", - "when": "false" + "when": "true" }, { "command": "sfca.removeDiagnosticsOnActiveFile", diff --git a/src/extension.ts b/src/extension.ts index 4d17ff7..31fcf78 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -123,11 +123,7 @@ export async function activate(context: vscode.ExtensionContext): Promise { - await _runDfa(context); - savedFilesCache.clear(); - }); - context.subscriptions.push(runOnActiveFile, runOnSelected, runDfaOnSelectedMethodCmd, runDfaOnWorkspaceCmd, removeDiagnosticsOnActiveFile, removeDiagnosticsOnSelectedFile, removeDiagnosticsInRange); + context.subscriptions.push(runOnActiveFile, runOnSelected, runDfaOnSelectedMethodCmd, removeDiagnosticsOnActiveFile, removeDiagnosticsOnSelectedFile, removeDiagnosticsInRange); if (apexGuruEnabled) { const runApexGuruOnSelectedFile = vscode.commands.registerCommand(Constants.COMMAND_RUN_APEX_GURU_ON_FILE, async (selection: vscode.Uri, multiSelect?: vscode.Uri[]) => { @@ -150,6 +146,14 @@ export async function activate(context: vscode.ExtensionContext): Promise { + await _runDfa(context); + savedFilesCache.clear(); + }); + context.subscriptions.push(runDfaOnWorkspaceCmd); + } + const documentSaveListener = vscode.workspace.onDidSaveTextDocument(document => { const filePath = document.uri.fsPath; savedFilesCache.add(filePath); diff --git a/src/lib/settings.ts b/src/lib/settings.ts index 9370a5f..497698b 100644 --- a/src/lib/settings.ts +++ b/src/lib/settings.ts @@ -53,4 +53,8 @@ export class SettingsManager { public static getApexGuruEnabled(): boolean { return vscode.workspace.getConfiguration('codeAnalyzer.apexGuru').get('enabled'); } + + public static getSfgeDeltaRunsEnabled(): boolean { + return vscode.workspace.getConfiguration('codeAnalyzer.deltaRuns').get('enabled'); + } } \ No newline at end of file diff --git a/src/test/suite/settings.test.ts b/src/test/suite/settings.test.ts index 4717732..3fda319 100644 --- a/src/test/suite/settings.test.ts +++ b/src/test/suite/settings.test.ts @@ -185,4 +185,19 @@ suite('SettingsManager Test Suite', () => { expect(result).to.equal(mockAnalyzeOnSaveEnabled); expect(getConfigurationStub.calledOnceWith('codeAnalyzer.apexGuru')).to.be.true; }); + + test('getSfgeDeltaRunsEnabled should return the delta runs enabled setting', () => { + // ===== SETUP ===== + const mockAnalyzeOnSaveEnabled = true; + getConfigurationStub.withArgs('codeAnalyzer.deltaRuns').returns({ + get: Sinon.stub().returns(mockAnalyzeOnSaveEnabled) + }); + + // ===== TEST ===== + const result = SettingsManager.getSfgeDeltaRunsEnabled(); + + // ===== ASSERTIONS ===== + expect(result).to.equal(mockAnalyzeOnSaveEnabled); + expect(getConfigurationStub.calledOnceWith('codeAnalyzer.deltaRuns')).to.be.true; + }); }); \ No newline at end of file