I got fed up constantly having to copy shared configuration files (tasks.json, settings.json, launch.json and cpp_properties.json) into every folder in my project (there are hundreds) so this extension simply adds a command
In-built support for shared config is apparently on the radar (for standard vscode and for the cpp extension), but it seems to be taking a while, so this might be useful until it arrives.
Note: Existing files will not be replaced.
When used in a multi-root workspace folder, the global files are copied into each workspace .vscode folder.
You can also put multiple sets of default files into subfolders of your configured source folder. When running the copy command, it will prompt you to choose one of the subfolders first. Note, using subfolders will ignore any files in the configured source folder.
You can install the latest version of the extension via the Visual Studio Marketplace here.
Alternatively, open Visual Studio code, press
The source code is available on GitHub here.
Use this to set which folder should contain your shared config files. The default is
This is an array of files which should be symlinked instead of copied. This is useful for files which may change in the future, e.g. settings.json
Note: For symlinks to work correctly under Windows 10 (and possible other Windows versions) you will need to run Code in Developer Mode.
This is an array of files which should be hard linked instead of copied.
This is an mapping of files to alternative destinations. Note: paths are absolute, but you can use
Links, hard links and destinations can also use glob patterns to match files. Links and hardlinks settings are still applied to files copied to alternative destinations.
When the Copy Global Config is run, an output channel is created in the Output View. If the extension doesn't seem to be doing what you expect, please check the contents of the output channel.