Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
JarLob opened this issue Aug 21, 2022 · 1 comment
Labels
bug Something isn't working VSCode

Comments

@JarLob
Copy link
Contributor

JarLob commented Aug 21, 2022

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

@JarLob JarLob added the bug Something isn't working label Aug 21, 2022
@aeisenberg
Copy link
Contributor

Thanks for logging this issue. Yes, the path where the latest downloaded codeql CLI is located is placed into global storage. It looks like that path is not accessible in both WSL and windows.

A workaround is to download the CLI in both windows and WSL, and add that location to the path both in windows and WSL. If the CLI is located on the path, then the extension uses that install instead of trying to download a different one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working VSCode
Projects
None yet
Development

No branches or pull requests

2 participants