Custom javascript code completion for "this" in monaco editor

Viewed 1034

The scenario:

  • We are using the monaco editor in a javascript application to let the users enter custom javascript code (sort of a js-fiddle thing for an internal dashboarding application)
  • Within the javascript code that the users edit this is bound to a custom framework-provided object when the code is executed.

Question:

  • Is there a way to configure monaco so that it will provide code completion when the users type this.?
  • The this object is compiled from a TypeScript class with type annotation. Is it possible to use the typescript compiler to produce data that the custom monaco code completion can use?
2 Answers

If I understood you correctly, you may use registerCompletionItemProvider. But I'm not sure if you are using any other library or something you've created. Because each autocomplete item needs to be defined one by one. If the library created dynamically maybe you can add this definition process to your main compilation process.

I'm guessing you might end up with more work than you expected to do.

https://microsoft.github.io/monaco-editor/api/modules/monaco.languages.html#registercompletionitemprovider

If you are expecting a cross-file autocompletion I believe your answer is here. Monaco Editor intellisense from multiple files

Related