Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions extensions/ql-vscode/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,10 @@
"command": "codeQL.exportVariantAnalysisResults",
"title": "CodeQL: Export Variant Analysis Results"
},
{
"command": "codeQL.mockVariantAnalysisView",
"title": "CodeQL: Open Variant Analysis Mock View"
},
{
"command": "codeQL.runQueries",
"title": "CodeQL: Run Queries in Selected Files"
Expand Down Expand Up @@ -893,6 +897,10 @@
"command": "codeQL.exportVariantAnalysisResults",
"when": "config.codeQL.canary"
},
{
"command": "codeQL.mockVariantAnalysisView",
"when": "config.codeQL.canary && config.codeQL.variantAnalysis.liveResults"
},
{
"command": "codeQL.runQueries",
"when": "false"
Expand Down
10 changes: 10 additions & 0 deletions extensions/ql-vscode/src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -387,3 +387,13 @@ export function getActionBranch(): string {
export function isIntegrationTestMode() {
return process.env.INTEGRATION_TEST_MODE === 'true';
}

/**
* A flag indicating whether to enable the experimental "live results" feature
* for multi-repo variant analyses.
*/
const LIVE_RESULTS = new Setting('liveResults', REMOTE_QUERIES_SETTING);

export function isVariantAnalysisLiveResultsEnabled(): boolean {
return !!LIVE_RESULTS.getValue<boolean>();
}
8 changes: 8 additions & 0 deletions extensions/ql-vscode/src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ import { EvalLogViewer } from './eval-log-viewer';
import { SummaryLanguageSupport } from './log-insights/summary-language-support';
import { JoinOrderScannerProvider } from './log-insights/join-order';
import { LogScannerService } from './log-insights/log-scanner-service';
import { VariantAnalysisInterfaceManager } from './remote-queries/variant-analysis-interface';

/**
* extension.ts
Expand Down Expand Up @@ -919,6 +920,13 @@ async function activateWithInstalledDistribution(
})
);

ctx.subscriptions.push(
commandRunner('codeQL.mockVariantAnalysisView', async () => {
const variantAnalysisView = new VariantAnalysisInterfaceManager(ctx);
variantAnalysisView.openView();
})
);

ctx.subscriptions.push(
commandRunner(
'codeQL.openReferencedFile',
Expand Down
2 changes: 1 addition & 1 deletion extensions/ql-vscode/src/interface-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ export function tryResolveLocation(
}
}

export type WebviewView = 'results' | 'compare' | 'remote-queries';
export type WebviewView = 'results' | 'compare' | 'remote-queries' | 'variant-analysis';

export interface WebviewMessage {
t: string;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { ViewColumn } from 'vscode';
import { AbstractInterfaceManager, InterfacePanelConfig } from '../abstract-interface-manager';
import { WebviewMessage } from '../interface-utils';
import { logger } from '../logging';

export class VariantAnalysisInterfaceManager extends AbstractInterfaceManager<WebviewMessage, WebviewMessage> {
public openView() {
this.getPanel().reveal(undefined, true);
}

protected getPanelConfig(): InterfacePanelConfig {
return {
viewId: 'variantAnalysisView',
title: 'CodeQL Query Results',
viewColumn: ViewColumn.Active,
preserveFocus: true,
view: 'variant-analysis'
};
}

protected onPanelDispose(): void {
// Nothing to dispose currently.
}

protected async onMessage(msg: WebviewMessage): Promise<void> {
void logger.log('Received message on variant analysis view: ' + msg.t);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import * as React from 'react';

export function VariantAnalysis(): JSX.Element {
return <span>Hello!</span>;
}
13 changes: 13 additions & 0 deletions extensions/ql-vscode/src/view/variant-analysis/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import * as React from 'react';
import { WebviewDefinition } from '../webview-interface';
import { VariantAnalysis } from './VariantAnalysis';

const definition: WebviewDefinition = {
component: <VariantAnalysis />,

// This is temporarily using the wrong message type.
// We will change it in the near future.
loadedMessage: 'remoteQueryLoaded'
};

export default definition;