We have a codespace template which houses our CodeQL tour: https://github.com/github/codespaces-codeql This contains a repo with a default databases already loaded for the user so that they can start writing queries more quickly. At the moment we're asking the user to manually right click on the database folder ('codeql-tutorial-database') and set it as the current database. We can take this one step further by defining a command that gets triggered when we arrive at the step for setting up the database. The command ("codeQL.setDefaultTourDatabase") will build the URI pointing to our preloaded database and set it as the current one. We initially considered whether we can re-use the setCurrentDatabase command and pass the URI of the database from the codespace itself, but the URI would be hardcoded as: ``` file://0-62/workspaces/codespaces-codeql/codeql-tutorial-database ``` as we can only pass the codeTour extension a command and string parameters. This would have been brittle as the filepath for a codespace might change in the future. Instead we can define a custom tour command ("setDefaultTourDatabase") to look at the current workspace folder and build the path to the database in the CodeQL extension. Co-authored-by: Shati Patel <shati-patel@github.com>
CodeQL for Visual Studio Code
This project is an extension for Visual Studio Code that adds rich language support for CodeQL. It's used to find problems in code bases using CodeQL. It's written primarily in TypeScript.
The extension is released. You can download it from the Visual Studio Marketplace.
To see what has changed in the last few versions of the extension, see the Changelog.
Features
- Enables you to use CodeQL to query databases and discover problems in codebases.
- Shows the flow of data through the results of path queries, which is essential for triaging security results.
- Provides an easy way to run queries from the large, open source repository of CodeQL security queries.
- Adds IntelliSense to support you writing and editing your own CodeQL query and library files.
Project goals and scope
This project will track new feature development in CodeQL and, whenever appropriate, bring that functionality to the Visual Studio Code experience.
Dependencies
This extension depends on the following two extensions for required functionality. They will be installed automatically when you install VS Code CodeQL.
Contributing
This project welcomes contributions. See CONTRIBUTING.md for details on how to build, install, and contribute.
License
The CodeQL extension for Visual Studio Code is licensed under the MIT License. The version of CodeQL used by the CodeQL extension is subject to the CodeQL Research Terms & Conditions.
When using the GitHub logos, be sure to follow the GitHub logo guidelines.