Skip to content

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 resources

Methods

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