WSL2: el comando de shell "código" de VSCode ya no funciona en la terminal Linux

WSL2: el comando de shell "código" de VSCode ya no funciona en la terminal Linux

Soy muy nuevo en Linux y WSL en general. Pude usarlo code .para abrir mi directorio actual en VSCode, pero después de eliminar algo que no recuerdo, ya no funciona. Puse el comando y simplemente se quedó ahí.

Eliminé mi instancia de Ubuntu-20.04 y la volví a crear, pero aún así no funciona. También revisé mi $PATH y parece estar allí.

Además, add shell commandVSCode no aparece, por lo que no puedo desinstalar ni reinstalar el acceso directo del shell.

¿Alguien tiene alguna idea?

drewbie@drewbie:/$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Program Files/dotnet/:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files (x86)/QuickTime/QTSystem/:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files/Go/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Andrew/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Program Files/heroku/bin:/mnt/c/Users/Andrew/AppData/Local/GitHubDesktop/bin:/mnt/c/Users/Andrew/go/bin:/snap/bin

Después de ingresar el código. simplemente se queda ahí

¿dónde está y cuál?

drewbie@drewbie:~$ whereis code
code: /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code.cmd
drewbie@drewbie:~$ which code
/mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code

Después de hacer lo que dijo @NotTheDr01ds en el siguiente hilo

drewbie@drewbie:~$ vi "$(which code)"
drewbie@drewbie:~$ code .
+ [  = true ]
+ COMMIT=899d46d82c4c95423fb7e10e68eba52050e30ba3
+ APP_NAME=code
+ QUALITY=stable
+ NAME=Code
+ DATAFOLDER=.vscode
+ realpath /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code
+ dirname /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin/code
+ dirname /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/bin
+ VSCODE_PATH=/mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code
+ ELECTRON=/mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/Code.exe
+ IN_WSL=false
+ [ -n Ubuntu-20.04 ]
+ IN_WSL=true
+ [ true = true ]
+ export WSLENV=ELECTRON_RUN_AS_NODE/w:WT_SESSION::WT_PROFILE_ID
+ wslpath -m /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js
+ CLI=C:/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js
+ WSL_EXT_ID=ms-vscode-remote.remote-wsl
+ ELECTRON_RUN_AS_NODE=1 /mnt/c/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/Code.exe C:/Users/Andrew/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js --ms-enable-electron-run-as-node --locate-extension ms-vscode-remote.remote-wsl

Respuesta1

Creo que este problema me lo causó una actualización de VSCode, que ocurrió automáticamente.

Para solucionarlo:

  1. abrir VSCode en Windows

  2. abre el Explorador remoto

    Explorador remoto

  3. haga clic en una carpeta en un destino WSL de interés: verá que esto provoca alguna reinstalación

  4. ahora puede volver a usar el $ code .comando desde una carpeta en WSL2, tal como solía hacerlo

Respuesta2

Dado que la respuesta aceptada se basa en efectos secundarios y no funcionó para mí, y la segunda es totalmente inaceptable (reinstalación completa de WSL), busqué un poco más y encontréuna manera más segura y efectiva:

Deestepregunta anterior en StackOverflow, respondida porrrmesquita:

Dentro de la terminal WSL, escriba rm -r ~/.vscode-serverpara eliminar el servidor VS Code WSL.

Salga de la terminal y desde PowerShell/Cmd, ejecute wsl --shutdown. Luego puede volver a iniciar sesión en su WSL y ejecutarlo code . y debería funcionar normalmente.

Respondiendo porque Google me trajo hasta aquí y tal vez esto le haga la vida más fácil a alguien más =)

Respuesta3

Acabo de agregar esto a mi .bashrc:

alias code='/mnt/c/Users/[YOUR USER DIR NAME]/AppData/Local/Programs/Microsoft\ VS\ Code/bin/code'

Respuesta4

El mío funciona un poco diferente en comparación con @cloudcreatordotio. Agrego esta línea a mi .bashrc y los pasos se muestran a continuación:

  1. abre tu shell de ubuntu

  2. abre el .bashrc

    nano .bashrc
    
  3. agregue la siguiente línea

    alias code="'/mnt/c/Users/[YOUR USER DIR NAME]/AppData/Local/Programs/Microsoft VS Code/Code.exe'"
    

información relacionada