Skip to content

VSCode CodeQL update breaks the CodeQL CLI installation either in Windows or WSL (Linux on Windows) #1464

Open
@JarLob

Description

@JarLob

Describe the bug
VSCode allows opening WSL folders and working with them from Windows. VSCode has native support for running extensions in this scenario and allows to select which extensions installed in Windows should also be installed in WSL:
image
However VSCode CodeQL extension shares some global state, because installing the extension in WSL breaks the installation on Windows and reinstallation of it in Windows breaks it in WSL.

Version
All of them, it bugs me already for a while.

To reproduce

  1. Install VSCode CodeQL extension in VSCode in Windows. Make sure the CodeQL CLI is downloaded and installed (I usually click on the QL toolbar button to trigger it.). See it succeeded. Close the VSCode window.
  2. Open your WSL Linux terminal and run code . It opens VSCode with the current WSL folder opened.
  3. Go to extensions, search for the CodeQL extension and click Install in WSL. Click QL button in the toolbar to trigger CodeQL CLI download. See it succeeded.
  4. Close VSCode. Open the VSCode in Windows (Note that you need to open a folder in Windows, otherwise it opens the last known session, i.e. the WSL one.). Click on QL button in toolbar and see that VSCode fails to find CodeQL CLI path.

Expected behavior
Updating CodeQL in WSL doesn't break it in Windows. It is completely independent from the version in Windows or updated together.

Additional context
It looks like CodeQL extension generates incremental folder names for the CLI installation. So when my Windows installation is put to c:\Users\name\AppData\Roaming\Code\User\globalStorage\github.vscode-codeql\distribution30\ folder, the WSL installation is put into ~/.vscode-server/data/User/globalStorage/github.vscode-codeql/distribution31/. When I open VSCode in Windows it fails to find CodeQL CLI with a message WARNING: Expected to find a CodeQL CLI executable at c:\Users\name\AppData\Roaming\Code\User\globalStorage\github.vscode-codeql\distribution31\codeql\codeql.exe but one was not found. Will try PATH.. Note the distribution31 in the path.

Related to #1380

Metadata

Metadata

Assignees

No one assigned

    Labels

    VSCodebugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions