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

Improve the dev container configuration experience #2757

Closed
egamma opened this issue Apr 14, 2020 · 1 comment
Closed

Improve the dev container configuration experience #2757

egamma opened this issue Apr 14, 2020 · 1 comment
Assignees
Labels
Milestone

Comments

@egamma
Copy link
Member

egamma commented Apr 14, 2020

We currently have > 60 dev container configurations that are presented in a quick pick in alphabetical order, which is not very helpful.

@egamma egamma added the plan-item A plan item label Apr 14, 2020
@egamma egamma added this to the April 2020 milestone Apr 14, 2020
@egamma egamma self-assigned this Apr 20, 2020
@egamma
Copy link
Member Author

egamma commented Apr 20, 2020

Implemented a simple recommender for the predefined configurations based on the meta data that is included in the container definitions from the files included in the workspace.

The meta data includes information about the supported platforms and supported languages:

  • The recommender detects platforms based on configuration files e.g. package.json is used to detect Node.js, sln, project.json, csproj for .NET core.
  • The recommender counts the language files included in the workspace.

The recommender then assigns a score to a configuration based on the files contained in the workspace:

  • If a configuration is for 'Any' files and platforms, then the config receives a score of 5
  • If a configuration supports a platform that is detected in the workspace, then the config receives a score of +20.
  • If a configuration supports a language that is contained in the workspace, then the config receives a score of +10.
  • If a configuration supports a platform, that is not detected in the workspace, then the config is penalized with -20. This is to avoid that a configuration like the one for 'Azure Functions' appears as too popular when the workspace is not about Azure Functions.

The configuration picker sorts the configuration by score and initially only shows configuration with a score > 0. The quick pick includes a 'Show All...' item that shows all the available configurations.

For a node workspace the quick pick shows the following:
image

The second page shows the general containers with the 'Show all' entry:
image

FYI @Chuxel , @chrmarti

@egamma egamma closed this as completed Apr 22, 2020
@vscodebot vscodebot bot locked and limited conversation to collaborators Jun 6, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant