Skip to content

Question about createModelReference? #482

@buglessbuild

Description

@buglessbuild

Hello Team,

I was going through the README and found this new method of creating a model using createModelReference. I'm using a websocket LSP server to provide LSP support in the Monaco editor. So, do I still need to create fileSystemProvider and other things before using createModelReference or can I simply replace createModel with createModelReference without making any other changes?

import * as monaco from 'monaco-editor'
import { RegisteredFileSystemProvider, RegisteredMemoryFile, registerFileSystemOverlay } from '@codingame/monaco-vscode-files-service-override'

const fileUri = monaco.Uri.file(<file uri>);

// Do I always need these three lines before creating a reference of the model
const fileSystemProvider = new RegisteredFileSystemProvider(false)
fileSystemProvider.registerFile(new RegisteredMemoryFile(fileUri, <file content>))
const overlayDisposable = registerFileSystemOverlay(1, fileSystemProvider)

const modelRef = await monaco.editor.createModelReference(fileUri)

const editor = monaco.editor.create({ model: modelRef.object.textEditorModel })

One more thing: It seems like all the methods we used to access, like model.updateOptions, have been moved inside modelRef.object.textEditorModel. Am I right?

Thank you for your help!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions