VSCode Workspace Configuration
The templates repository provides workspace configurations and boilerplate files for modern development projects. It contains template files that should be copied to new repositories and active .vscode configuration you can merge into a project root.
Repository Structure
The templates repository is organized as follows:
-
Root level: Files specific to the templates repository itself
-
workspaces/: Contains VS Code template folders for different workflows and configurations
Workspace Templates
The workspaces/ folder contains template folders that serve dual purposes:
Each template folder now includes a README.adoc with usage notes, extension lists, and merge instructions. Open the README directly inside workspaces/{name} when you need a refresher on what a template provides.
|
Template Files (Copy to New Repos)
Each template folder contains files that should be copied to new repositories:
-
.gitattributes- Git line ending configuration -
.gitignore- Git ignore patterns -
.hintrc- Webhint configuration -
.github/FUNDING.yml- GitHub funding configuration
Active Configuration Files (Copy into Projects)
Each template folder also contains a .vscode directory with:
-
settings.json— editor defaults, excludes, and language-specific formatter overrides -
extensions.json—recommendationsand optionalunwantedRecommendations
Available Templates
-
_common/- Common extensions and template files for all projects (docs, git, media tools) -
astro/- Astro specific extensions and optimized settings -
javascript/- JavaScript/TypeScript workflow extensions (Biome, dprint) -
next.js/- Next.js specific extensions (Next.js assistant, icons, snippets) -
python/- Python workflow extensions (Ruff formatter) -
rust/- Rust workflow extensions -
solidstart/- SolidStart workflow extensions
Using Templates
To use a template in your project, copy and merge .vscode/settings.json and .vscode/extensions.json from both _common/ and your stack folder (e.g., javascript/ or next.js/) into your repository’s .vscode/ directory.
-
Start from
workspaces/_common/.vscode/and mergesettings.jsonandextensions.jsoninto your project. -
Merge the same files from your stack folder (e.g.,
workspaces/astro/.vscode/), combining objects and extension lists rather than overwriting blindly.
This keeps a self-contained setup that matches Dev Center standards without relying on relative paths to the templates repo.
Multi-root workspaces
If you edit several repositories in one window, you can still add a local *.code-workspace file with multiple folders entries. Put shared settings in each repo’s .vscode/settings.json (or use workspace file settings only for truly multi-root keys). The templates repo no longer ships example multi-root workspace files.
Settings and Extension Recommendations
When you open a folder, VS Code loads .vscode/settings.json and .vscode/extensions.json from that folder automatically.
For multi-root workspaces opened via a .code-workspace file, folder-level .vscode still applies per root; you can add workspace-level settings in the .code-workspace file when multiple roots need the same overrides.
|
Settings precedence: For a single-folder window, User settings apply first, then Folder ( |
Creating New Templates
When creating a new template folder:
-
Create a folder named after the technology or workflow (e.g.,
{workflow}/) inworkspaces/ -
Add a
README.adocexplaining the template’s purpose and contents -
Add
.vscode/settings.jsonand.vscode/extensions.jsonwith the relevant defaults and recommendations -
Optionally add template files (
.gitattributes,.gitignore, etc.) that should be copied to new repos
|
Extension Sourcing: We only list extensions that are available on the community-run OpenVSX marketplace. That guarantees they can be installed in Cursor and other third-party VS Code forks without extra setup. |
Template folders are named after the technology or workflow they support, making it clear what the template is for when seen in the workspace.