Interface: MonacoVueLanguageTools
MonacoVueLanguageTools provides a robust, hot-reload-friendly integration layer between Monaco Editor and Volar's Vue language features.
This class encapsulates the setup and teardown of Volar language tooling (diagnostics, auto-insertion, providers) for Vue files in Monaco. It manages all Monaco and Volar disposables, ensures proper cleanup on hot reload or dynamic teardown, and exposes a simple API for use in Vue apps.
- Registers Volar markers, auto-insertion, and providers for the 'vue' language.
- Tracks and disposes all Monaco/Volor disposables to prevent memory leaks and duplicate registrations.
- Disposes the Monaco web worker and event listeners on teardown.
- Designed for use in dynamic, hot-reload, or multi-editor environments.
Example
ts
const tools = new MonacoVueLanguageTools(monaco, volar, fs);
// ... use Monaco/Volor features ...
tools.dispose(); // Clean up all resourcesMethods
dispose()
ts
dispose(): void;Disposes all Monaco and Volar resources managed by this instance, including:
- The onLanguage event listener
- All Volar feature disposables
- The Monaco web worker
Call this when tearing down or hot-reloading the editor environment.
Returns
void
disposeVue()
ts
disposeVue(): void;Disposes all Volar feature disposables (markers, auto-insertion, providers) for Vue.
This is called automatically before re-registering features or on full disposal.
Returns
void