Skip to content

MS VS Code extension to get workspaceFolder in a WSL path format converted from a MS Windows path format

License

Notifications You must be signed in to change notification settings

lfurzewaddock/vscode-wsl-workspacefolder

Repository files navigation

VS Code extension: WSL workspaceFolder

Translates workspaceFolder path into WSL path format, using WSL wslpath tool.

Use command as a placeholder where WSL path for the workspaceFolder is required, e.g. the remoteRoot attribute in launch config for debug, etc.

Features

This extension returns the workspaceFolder path, converted from Windows path format to WSL path format. For example, a workspaceFolder with a windows path of c:\\Users\\Me\\Projects\\project would return a WSL path of /mnt/c/Users/Me/Projects/project.

Requirements

  • MS Windows 10 using WSL (Windows Subsystem for Linux)
  • MS Windows 10 => version 17046 for wslpath tool
  • Extension code contributors should either install current release of WSL workspaceFolder or replace command reference in .vscode/launch.json
  • VS Code version 1.18.1+ (support multi-root features)

Extension Settings

This extension contributes the following command:

  • extension.vscode-wsl-workspaceFolder: returns WSL format path string to workspaceFolder

Usage

standard single-root project

e.g. .vscode/launch.json

// A launch configuration that launches the extension inside a new window
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
  "version": "0.2.0",
    "configurations": [
      {
        "type": "node",
        "request": "attach",
        "name": "Attach to Remote",
        "address": "localhost",
        "port": 5858,
        "sourceMaps": false,
        "localRoot": "${workspaceFolder}",
        "remoteRoot": "${command:extension.vscode-wsl-workspaceFolder}"
      }
    ]
}

multi-root project

Optional: add windows.name property to config (used to link/associate an 'Attach to remote' debug config with a workspace folder)

e.g. .vscode/launch.json

// A launch configuration that launches the extension inside a new window
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
{
  "version": "0.2.0",
    "configurations": [
      {
        "type": "node",
        "request": "attach",
        "name": "Attach to Remote",
        "address": "localhost",
        "port": 5858,
        "sourceMaps": false,
        "localRoot": "${workspaceFolder}",
        "remoteRoot": "${command:extension.vscode-wsl-workspaceFolder}",
        "windows": {
          "name": "workspaceName"
        }
      }
    ]
}

Known Issues

single/multi-root projects

  • When invoked by VS Code in MS Windows 10 environment, which does not use WSL, this extension will still attempt to return a WSL path format, even when this is not possible/required.

multi-root projects

  • This extension translates the file system path from a workspace folder URI into a WSL path. However, presently there is no elegant way in multi-root projects to link/associate an 'Attach to remote' debug config with a workspace folder. Therefore, I suggest using the optional windows.name .vscode/launch.json property to avoid being required to select a workspace folder from the picker UI for every debug session.
  • If the optional windows.name .vscode/launch.json property is not present, a 'Select workspace folder' picker will open centre, top of screen. If you fail to make a selection before changing focus the picker will close automatically and the extension will fail.

Release Notes

1.1.2

Add support for multi-root projects

1.0.2

Initial release of VS Code extension vscode-wsl-workspacefolder

Extension Icon

Folder icon (no text) sourced from theSquid.ink 40, under Creative Commons (Attribution 3.0 Unported) licence.

About

MS VS Code extension to get workspaceFolder in a WSL path format converted from a MS Windows path format

Resources

License

Stars

Watchers

Forks

Packages

No packages published