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

Automatically Enable Extensions Based on Project Files #241291

Open
Majoramari opened this issue Feb 20, 2025 · 2 comments
Open

Automatically Enable Extensions Based on Project Files #241291

Majoramari opened this issue Feb 20, 2025 · 2 comments
Assignees

Comments

@Majoramari
Copy link

It would be helpful if VS Code could automatically enable or disable extensions based on project structure instead of requiring manual management for every workspace.

Currently, I can use workspace settings to enable extensions per project, but I have to do this manually for every new project. This becomes tedious when working across multiple languages or frameworks. For example, I don’t need rust-analyzer or golang.go running all the time only when I open a project that requires them.

Allow extensions to be automatically enabled based on certain conditions, such as:

  • If a specific file exists in the root (e.g., go.mod, Cargo.toml, package.json).
  • If the project matches a certain type (e.g., a Next.js or SvelteKit project).

Example configuration:

{
  "extensions.autoEnable": {
    "rust-analyzer": { "exists": ["Cargo.toml"] },
    "golang.go": { "exists": ["go.mod"] },
    "svelte-vscode": { "exists": [".svelte-kit"] }
  }
}

Benefits:

  • Avoids unnecessary extensions running in unrelated projects.
  • Reduces manual setup when creating new projects.
  • Improves startup time by not loading unused extensions.

This would streamline workflows and improve performance, especially for developers who work across multiple technologies.

Basically like Lazyvim in Neovim

@iwangbowen
Copy link

Have you tried Profiles in Visual Studio Code

@Majoramari
Copy link
Author

Have you tried Profiles in Visual Studio Code

I tried workspaces too, but I still see the mention solution is hassle-free because it's not manual.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants