The devcontainer.json
allows adding extensions to be installed in a container.
I want to be able to set the list of mandatory extensions to be used by all team members, like rust-lang.rust-analyzer
and llvm-vs-code-extensions.vscode-clangd
and another file for personal extensions.
Ideally, the personal one would be added to .gitignore
.
CodePudding user response:
To add a file for personal extensions that can be added to the container, you can create a new file, such as "my-extensions.json", and add it to the ".gitignore" file to prevent it from being committed to the repository. In the my-extensions.json file, you can add the "extensions" property with an array of the extension IDs that you want to be installed in your personal container. For example:
{
"devcontainer": {
"extensions": [
"my-extension-id-1",
"my-extension-id-2"
]
}
}
CodePudding user response:
o separate mandatory extensions and personal extensions in a devcontainer, you can create two separate configuration files for the devcontainer. One configuration file can be used to specify the mandatory extensions that should be installed in the container, and the other configuration file can be used to specify personal extensions that should be installed in the container.
Here is an example of how this could be done:
First, create a file called devcontainer.mandatory.json
that contains the configuration for the mandatory extensions. For example:
{
"name": "My Devcontainer",
"extensions": [
"rust-lang.rust-analyzer",
"llvm-vs-code-extensions.vscode-clangd"
]
}
Next, create a file called devcontainer.personal.json
that contains the configuration for the personal extensions. For example:
{
"name": "My Devcontainer",
"extensions": [
"myusername.myextension1",
"myusername.myextension2"
]
}
Finally, add the devcontainer.personal.json
file to your .gitignore
file so that it is not included in version control.
To use these configuration files, you can specify the devcontainer.mandatory.json
file when you create the devcontainer, and then specify the devcontainer.personal.json
file when you open the devcontainer in VS Code. This will ensure that both the mandatory and personal extensions are installed in the container.
Alternatively, you can combine the two configuration files into a single file and use the extensions
property to specify both the mandatory and personal extensions. However, this approach may not be as maintainable, especially if you have many personal extensions and you want to keep them separate from the mandatory extensions.