# Advanced Configuration & Project Shapes > [Docs Index](README.md) • [Repo README](../README.md) • [Getting Started](getting-started.md) • [Performance Guide](performance-and-debugging.md) Volar can power everything from tiny single-file experiments to massive monorepos with multiple editors attached. This guide documents every configuration option, project topology, and editor integration knob so you can tune Volar for any workspace. ## Configuration Surfaces | Surface | Who controls it | Purpose | | --- | --- | --- | | `vueCompilerOptions` in `tsconfig.json` / `jsconfig.json` | Project authors | Vue-specific compiler tweaks (reactivity transform, macros, experimental features). | | Volar client settings (VS Code “Volar” section, Neovim config, etc.) | End users | Editor integration options (Take Over Mode, diagnostic toggles, traces). | | `server.configurations` (`volarJsonYaml` in our example) | Language server authors | Custom feature flags for your own plugins/services. | | CLI flags/environment variables | Tooling authors | Overrides for headless usage (e.g., `VOLAR_TRACE=protocol` for logging). | ### Volar Client Settings (VS Code) Common keys in `settings.json`: ```json { "volar.takeOverMode.enabled": true, "volar.tsPlugin": true, "volar.vueserver.log": "verbose", "volar.diagnostics.onChange": true, "volar.autoCompleteRefs": true } ``` - `takeOverMode.enabled`: Replace VS Code’s TypeScript LS with Volar’s integrated server for `.ts`/`.js` files (required for advanced template-inferred types). When true, ensure only one TS server runs to avoid duplicate diagnostics. - `tsPlugin`: Enables Volar’s TypeScript plugin so `tsserver` understands `.vue`. - `diagnostics.onChange`: Live diagnostics while typing vs on save. - `vueserver.log`: `off | error | warn | info | verbose` – use `verbose` for deep debugging. ### `vueCompilerOptions` `tsconfig.json` / `jsconfig.json` supports: ```json { "compilerOptions": { /* TS options */ }, "vueCompilerOptions": { "target": 3, // Vue compiler target "plugins": ["@vue-macros/volar"], "experimentalCompatMode": 2, "data": { "useDefineModel": true } } } ``` Consult the official `@vue/language-core` docs for every `vueCompilerOptions` flag; key ones include: - `target`: Vue version (2, 3, 3.3, etc.) – affects template compilation. - `plugins`: list of compiler plugins (macros, transform experiments). - `experimentalCompatMode`: compatibility with legacy APIs. - `data.useDefineModel`: toggles `