microsoft / vscode-dev-containers

NOTE: Most of the contents of this repository have been migrated to the new devcontainers GitHub org (https://github.com/devcontainers). See https://github.com/devcontainers/template-starter and https://github.com/devcontainers/feature-starter for information on creating your own!
https://aka.ms/vscode-remote
MIT License
4.7k stars 1.41k forks source link

Docker Compose based Container always show `workspace` #1677

Open chyipin opened 1 year ago

chyipin commented 1 year ago

From VSCode About:

Version: 1.72.2
Commit: d045a5eda657f4d7b676dedbfa7aab8207f8a075
Date: 2022-10-12T22:16:30.254Z
Electron: 19.0.17
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: 10.2.154.15-electron.0
OS: Darwin x64 21.6.0
Sandboxed: No

Steps to Reproduce:

  1. Create a new directory vscode-container-compose
  2. Open vscode-container-compose in VSCode
  3. Note window title shows vscode-container-compose
  4. Command Pallete -> Reopen in Container -> Select C# (.NET) and PostgreSQL
  5. Note window title shows workspace
  6. Recreating the process for Dockerfile based project (Simple C# (.NET) Container) shows the vscode-container-compose for window title

When open the folder locally, we see VSCode shows workspace for Window title:

Screen Shot 2022-10-25 at 1 33 00 AM

When open in Docker Compose container, we see VSCode shows workspace for Window title:

Screen Shot 2022-10-25 at 1 31 53 AM

When working with many projects that are docker compose based; it is difficult to differentiate which project at a glance.

Recommend mounting the source with the localWorkspaceFolderBasename?

https://github.com/microsoft/vscode-dev-containers/blob/9e13bc17809eedb0784321da3a2f859642f94523/container-templates/docker-compose/.devcontainer/devcontainer.json#L13

    "workspaceFolder": "/workspace/${localWorkspaceFolderBasename}",

https://github.com/microsoft/vscode-dev-containers/blob/9e13bc17809eedb0784321da3a2f859642f94523/container-templates/docker-compose/.devcontainer/docker-compose.yml#L15

      - ..:/workspaces/${localWorkspaceFolderBasename}:cached

The issue here is ${localWorkspaceFolderBasename} is not available in docker-compose.

I noticed a very similar issue reported previously https://github.com/microsoft/vscode-remote-release/issues/6844 for access to ${localWorkspaceFolder} instead.

I like the solution recommended here https://github.com/microsoft/vscode-remote-release/issues/6844#issuecomment-1160442092

Please advise.