There is no easy way for a user to create a database locally if the only version of the cli installed is the default extension's version. The reason is that there is no easy way for a user to determine the file system path to the executable.
Instead, the extension should offer a mechanism to generate a database from the current workspace.
My idea is this:
- User executes the
CodeQL: Create database from workspace command
- vscode opens an input box to request the language of the database
- the cli invokes the
database create command with the given language and placed in a well-known location (perhaps specified in configuration)
- After creating the database, it is automatically imported into the workspace
Open questions:
- How do we handle database updating? Perhaps there is another command that the user needs to run and it is done manually? Perhaps it can be performed in the background on a schedule?
- How do we add the appropriate ql packs so that the user can run queries? Can we download them and import into the project?
See https://github.com/orgs/github/teams/codeql-core/discussions/1 for a longer discussion on this.
There is no easy way for a user to create a database locally if the only version of the cli installed is the default extension's version. The reason is that there is no easy way for a user to determine the file system path to the executable.
Instead, the extension should offer a mechanism to generate a database from the current workspace.
My idea is this:
CodeQL: Create database from workspacecommanddatabase createcommand with the given language and placed in a well-known location (perhaps specified in configuration)Open questions:
See https://github.com/orgs/github/teams/codeql-core/discussions/1 for a longer discussion on this.