Merge pull request #2546 from github/shati-patel/run-query-context-menu-local

Run local query from Queries Panel context menu
This commit is contained in:
Shati Patel
2023-06-26 17:08:42 +01:00
committed by GitHub
3 changed files with 18 additions and 2 deletions

View File

@@ -510,6 +510,10 @@
"title": "CodeQL: Run local query",
"icon": "$(run)"
},
{
"command": "codeQLQueries.runLocalQueryContextMenu",
"title": "Run against local database"
},
{
"command": "codeQLVariantAnalysisRepositories.openConfigFile",
"title": "Open database configuration file",
@@ -1116,6 +1120,11 @@
"group": "inline",
"when": "view == codeQLQueries && viewItem == queryFile && codeQL.currentDatabaseItem"
},
{
"command": "codeQLQueries.runLocalQueryContextMenu",
"group": "queriesPanel@1",
"when": "view == codeQLQueries && viewItem == queryFile && codeQL.currentDatabaseItem"
},
{
"command": "codeQLTests.showOutputDifferences",
"group": "qltest@1",
@@ -1303,6 +1312,10 @@
"command": "codeQL.openDataExtensionsEditor",
"when": "config.codeQL.canary && config.codeQL.dataExtensions.editor"
},
{
"command": "codeQLQueries.runLocalQueryContextMenu",
"when": "false"
},
{
"command": "codeQLVariantAnalysisRepositories.openConfigFile",
"when": "false"

View File

@@ -131,6 +131,7 @@ export type LocalQueryCommands = {
uri?: Uri,
) => Promise<void>;
"codeQLQueries.runLocalQueryFromQueriesPanel": TreeViewContextSingleSelectionCommandFunction<QueryTreeViewItem>;
"codeQLQueries.runLocalQueryContextMenu": TreeViewContextSingleSelectionCommandFunction<QueryTreeViewItem>;
"codeQL.runLocalQueryFromFileTab": (uri: Uri) => Promise<void>;
"codeQL.runQueries": ExplorerSelectionCommandFunction<Uri>;
"codeQL.quickEval": (uri: Uri) => Promise<void>;

View File

@@ -48,7 +48,7 @@ import { SkeletonQueryWizard } from "../skeleton-query-wizard";
import { LocalQueryRun } from "./local-query-run";
import { createMultiSelectionCommand } from "../common/vscode/selection-commands";
import { findLanguage } from "../codeql-cli/query-language";
import { QueryTreeViewItem } from "../queries-panel/query-tree-view-item";
import type { QueryTreeViewItem } from "../queries-panel/query-tree-view-item";
interface DatabaseQuickPickItem extends QuickPickItem {
databaseItem: DatabaseItem;
@@ -103,6 +103,8 @@ export class LocalQueries extends DisposableObject {
this.runQueryOnMultipleDatabases.bind(this),
"codeQLQueries.runLocalQueryFromQueriesPanel":
this.runQueryFromQueriesPanel.bind(this),
"codeQLQueries.runLocalQueryContextMenu":
this.runQueryFromQueriesPanel.bind(this),
"codeQL.runLocalQueryFromFileTab": this.runQuery.bind(this),
"codeQL.runQueries": createMultiSelectionCommand(
this.runQueries.bind(this),
@@ -279,7 +281,7 @@ export class LocalQueries extends DisposableObject {
* Gets the current active query.
*
* For now, the "active query" is just whatever query is in the active text editor. Once we have a
* propery "queries" panel, we can provide a way to select the current query there.
* proper "queries" panel, we can provide a way to select the current query there.
*/
public async getCurrentQuery(allowLibraryFiles: boolean): Promise<string> {
const editor = window.activeTextEditor;