🔭

Visual Studio Code

Definition of a Workspace

Workspaces are a saved snapshot of the state of a Visual Studio Code window. This includes any workspace settings, unsaved buffers, extensions, selections, cursors, terminals, etc.

Where to Store Workspaces

Do not save workspaces into project folders as other people working in the same project will be forced to use your exact settings and may modify your personal settings for that workspace.

Instead, put workspaces into a local or remote folder only you have access to and is outside any particular project's path.

Use extension recommendations, tasks, and .editorconfig to declare project-level recommendations and settings.

Recommending Extensions

Declare recommended extensions in project folders @ .vscode/extensions.json:

{
  "EditorConfig.editorconfig"
}

Declaring Tasks

Declare project-specific tasks in project folders @ .vscode/tasks.json:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "build",
      "type": "shell",
      "command": "npm build"
    }
  ]
}

Remote SSH through WSL

Create C:\wsl-ssh\wsl-ssh.cmd:

wsl ssh %*

And in your user settings add:

{
    "remote.SSH.path": "C:\\wsl-ssh\\wsl-ssh.cmd"
}

Now when you setup an SSH remote it will use the binary installed in your default WSL distro.