From 450de1cc2a468a7fa887513ff0038295488050b4 Mon Sep 17 00:00:00 2001 From: shati-patel <42641846+shati-patel@users.noreply.github.com> Date: Mon, 23 Aug 2021 19:14:04 +0100 Subject: [PATCH 1/2] New setting to specify number of paths per alert --- extensions/ql-vscode/CHANGELOG.md | 1 + extensions/ql-vscode/package.json | 5 +++++ extensions/ql-vscode/src/cli.ts | 5 +++++ extensions/ql-vscode/src/config.ts | 8 +++++++- 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/extensions/ql-vscode/CHANGELOG.md b/extensions/ql-vscode/CHANGELOG.md index f03c85c307d..4be61d7eb38 100644 --- a/extensions/ql-vscode/CHANGELOG.md +++ b/extensions/ql-vscode/CHANGELOG.md @@ -4,6 +4,7 @@ - Add support for filename pattern in history view. [#930](https://github.com/github/vscode-codeql/pull/930) - Add an option _View Results (CSV)_ to view the results of a non-alert query. The existing options for alert queries have been renamed to _View Alerts_ to avoid confusion. [#929](https://github.com/github/vscode-codeql/pull/929) +- Allow users to specify the number of paths to display for each alert. [#931](https://github.com/github/vscode-codeql/pull/931) ## 1.5.3 - 18 August 2021 diff --git a/extensions/ql-vscode/package.json b/extensions/ql-vscode/package.json index 80723894c61..b4c839619d9 100644 --- a/extensions/ql-vscode/package.json +++ b/extensions/ql-vscode/package.json @@ -180,6 +180,11 @@ "default": false, "description": "Enable debug logging and tuple counting when running CodeQL queries. This information is useful for debugging query performance." }, + "codeQL.runningQueries.maxPaths": { + "type": "integer", + "default": 4, + "markdownDescription": "Max number of paths to display for each alert found by a path query (`@kind path-problem`)." + }, "codeQL.runningQueries.autoSave": { "type": "boolean", "default": false, diff --git a/extensions/ql-vscode/src/cli.ts b/extensions/ql-vscode/src/cli.ts index 6b0e67dc2c4..d3e44c1eb16 100644 --- a/extensions/ql-vscode/src/cli.ts +++ b/extensions/ql-vscode/src/cli.ts @@ -649,6 +649,11 @@ export class CodeQLCliServer implements Disposable { this.cliConfig.numberThreads.toString(), ); + args.push( + '--max-paths', + this.cliConfig.maxPaths.toString(), + ); + args.push(resultsPath); await this.runCodeQlCliCommand(['bqrs', 'interpret'], args, 'Interpreting query results'); } diff --git a/extensions/ql-vscode/src/config.ts b/extensions/ql-vscode/src/config.ts index eebd0687a78..bfa21409858 100644 --- a/extensions/ql-vscode/src/config.ts +++ b/extensions/ql-vscode/src/config.ts @@ -79,6 +79,7 @@ const CACHE_SIZE_SETTING = new Setting('cacheSize', RUNNING_QUERIES_SETTING); const TIMEOUT_SETTING = new Setting('timeout', RUNNING_QUERIES_SETTING); const MEMORY_SETTING = new Setting('memory', RUNNING_QUERIES_SETTING); const DEBUG_SETTING = new Setting('debug', RUNNING_QUERIES_SETTING); +const MAX_PATHS = new Setting('maxPaths', RUNNING_QUERIES_SETTING); const RUNNING_TESTS_SETTING = new Setting('runningTests', ROOT_SETTING); const RESULTS_DISPLAY_SETTING = new Setting('resultsDisplay', ROOT_SETTING); @@ -112,12 +113,13 @@ export interface QueryHistoryConfig { onDidChangeConfiguration: Event; } -const CLI_SETTINGS = [ADDITIONAL_TEST_ARGUMENTS_SETTING, NUMBER_OF_TEST_THREADS_SETTING, NUMBER_OF_THREADS_SETTING]; +const CLI_SETTINGS = [ADDITIONAL_TEST_ARGUMENTS_SETTING, NUMBER_OF_TEST_THREADS_SETTING, NUMBER_OF_THREADS_SETTING, MAX_PATHS]; export interface CliConfig { additionalTestArguments: string[]; numberTestThreads: number; numberThreads: number; + maxPaths: number; onDidChangeConfiguration?: Event; } @@ -264,6 +266,10 @@ export class CliConfigListener extends ConfigListener implements CliConfig { return NUMBER_OF_THREADS_SETTING.getValue(); } + public get maxPaths(): number { + return MAX_PATHS.getValue(); + } + protected handleDidChangeConfiguration(e: ConfigurationChangeEvent): void { this.handleDidChangeConfigurationForRelevantSettings(CLI_SETTINGS, e); } From 2d06477bb1f8b4d0f885988a01e162a40bf9b3c1 Mon Sep 17 00:00:00 2001 From: shati-patel <42641846+shati-patel@users.noreply.github.com> Date: Tue, 24 Aug 2021 12:24:47 +0100 Subject: [PATCH 2/2] Address review comments --- extensions/ql-vscode/package.json | 2 ++ .../src/vscode-tests/minimal-workspace/config.test.ts | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/extensions/ql-vscode/package.json b/extensions/ql-vscode/package.json index b4c839619d9..1133eaec676 100644 --- a/extensions/ql-vscode/package.json +++ b/extensions/ql-vscode/package.json @@ -183,6 +183,8 @@ "codeQL.runningQueries.maxPaths": { "type": "integer", "default": 4, + "minimum": 1, + "maximum": 256, "markdownDescription": "Max number of paths to display for each alert found by a path query (`@kind path-problem`)." }, "codeQL.runningQueries.autoSave": { diff --git a/extensions/ql-vscode/src/vscode-tests/minimal-workspace/config.test.ts b/extensions/ql-vscode/src/vscode-tests/minimal-workspace/config.test.ts index 00659836625..03c961317a8 100644 --- a/extensions/ql-vscode/src/vscode-tests/minimal-workspace/config.test.ts +++ b/extensions/ql-vscode/src/vscode-tests/minimal-workspace/config.test.ts @@ -48,6 +48,10 @@ describe('config listeners', function() { name: 'codeQL.runningTests.numberOfThreads', property: 'numberTestThreads', values: [1, 0] + }, { + name: 'codeQL.runningQueries.maxPaths', + property: 'maxPaths', + values: [0, 1] }] }, {