microsoft / vscode-remote-release

Visual Studio Code Remote Development: Open any folder in WSL, in a Docker container, or on a remote machine using SSH and take advantage of VS Code's full feature set.
https://aka.ms/vscode-remote
Other
3.64k stars 285 forks source link

Provide an option to link to a devcontainer definition in a repo #3441

Open davidanthoff opened 4 years ago

davidanthoff commented 4 years ago

It would be great if users could add a devcontainer.json file that actually just links to a devcontainer somewhere else. Say a user could add this devcontainer.json to their repo:

{
  "devcontainer": "julia"
}

And then the clients would pull the devcontainer file that is defined in this repository here.

The main benefit would be that if we make an update to the Julia devcontainer template, users would automatically get these updates and wouldn't have to update the devcontainer.json files in the repository.

For example, I've just opened a PR for a Julia devcontainer here. It is nice, but I'm sure we'll want to do more fancy stuff in future iterations in the postCreateCommand element. With my proposal in this issue here, any users who adds this to their repository today would automatically get these benefits down the road.

Chuxel commented 4 years ago

This is a great suggestion! Moving to the vscode-remote-release repository where extension features are tracked. Also thanks for the PR on Julia, left a few comments there as well.

davidanthoff commented 4 years ago

Another idea: it would be great if the user could pass custom arguments/properties/configuration in this case. Say the devcontainer.json file in the end-user repo could look like this:

{
   "devcontainer": "julia",
   "julia-version": "1.4",
   "precompile": "true",
   "instantiate": "true"
}

so these would be custom configuration options for the julia devcontainer template. Things like the julia-version element could be there or left be out to just go with the default configuration value for that.