Before you can write and run queries to analyze a project, you need a snapshot of that project. Each snapshot contains a database for a single language. If a project uses multiple languages, then you can have a snapshot for each language.
A snapshot is usually saved and used as a zip archive. However, to use the snapshot in QL for Visual Studio you need to unzip it first. Once you've unzipped a snapshot, you can select it when running a query.
Here are a few ways to obtain a snapshot to use in QL for VS:
You can download snapshots to analyze in QL for Visual Studio from any project that is visible to you in LGTM Enterprise using the Integrations tab on the project page. The QL snapshot for local analysis section contains the available snapshots for each language that has been detected.
You may find that some snapshots available to download from LGTM.com have been built by a more recent analysis process than the one available in QL for Visual Studio. If this is the case, you may not be able to run queries against these snapshots.
However, even if a new snapshot is not compatible with QL for Visual Studio, you can still analyze it
Every time you analyze a project using Semmle Core, a snapshot is created. You can convert this Semmle Core snapshot into a QL for VS snapshot using the export command:
- Open a command prompt on a server where Semmle Core is running.
- Check that the environment is set up correctly.
odasa export --project projects/<project> --latestwhere
projects/<project>is the relative or absolute path for the project that you want to export.
This creates a snapshot in the directory where you ran the
--latest flag means that you export the most
recently analyzed snapshot for the project that you specified. If you want to export an older snapshot, see the other available flags in the export command reference.
If you create a project using the bootstrap command, you can also choose to export a snapshot automatically at the end of the process.