-
Notifications
You must be signed in to change notification settings - Fork 38
List of service overrides
Services marked as included by default
come with the @codingame/monaco-vscode-api
package.
Service name: @codingame/monaco-vscode-base-service-override
- Contains some general-use services that are mandatory to most of the other features
- When textmate and theme service overrides are not used, it allows to restore some standalone features (Token inspection and toggle high contrast commands)
Service name: @codingame/monaco-vscode-host-service-override
- Interaction with the host/browser (shutdown veto, focus/active management, window opening, fullscreen...)
Service name: @codingame/monaco-vscode-extensions-service-override
- Support for VSCode extensions.
- A worker configuration can be provided to it:
- Then, the webworker extension host will be available, allowing to run extensions in a worker which runs in an iframe
Service name: @codingame/monaco-vscode-files-service-override
- It adds the overlay filesystem for
file://
files, but also adds the support for lazy loaded extension files. It adds separate memory user files (e.g. config, keybindings), cache files and log files - It supports adding overlay filesystems for
file://
files
Service name: @codingame/monaco-vscode-quickaccess-service-override
- Enables the quickaccess menu in the editor (press F1 or ctrl+shift+p)
Service name: @codingame/monaco-vscode-notifications-service-override
- This services enables vscode notifications you usually find in the bottom right corner
Service name: @codingame/monaco-vscode-dialogs-service-override
- Enable VSCode modal dialogs. It allows users to select an action to do. Those actions are exposed to the VSCode API. Additionally, this service can be used by the language client to delegate questions to the user
Service name: @codingame/monaco-vscode-model-service-override
- This service creates and takes care of model references. For example:
- Create model from filesystem if content is unknown
- Count references
- Destroy models when they are no longer used
Service name: @codingame/monaco-vscode-editor-service-override
- Enable editor support. This is usually needed when working with the language server protocol. Without enabling the editor service, it will only be able to resolve the currently open model (only internal file references will work)
- Is exclusive with the
views
andworkbench
services. Do not use more than 1 services at the same time
Service name: @codingame/monaco-vscode-views-service-override
- Enable full views support
- Is exclusive with the
editor
andworkbench
services. Do not use more than 1 service at the same time
Service name: @codingame/monaco-vscode-configuration-service-override
- Allows to change the configuration of not only the editors, but every part of VSCode. The language client for instance uses it to send the requested configuration to the server. The default configuration service already allows to change the configuration. This service overrides makes it rely on a user configuration file (with json schema, overridable by language including all VSCode features)
Service name: @codingame/monaco-vscode-keybindings-service-override
- Enables platform specific keybindings and make it rely on a user definded keybindings configuration (if available)
Service name: @codingame/monaco-vscode-languages-service-override
- Enable language support. It's like the standalone service with 2 differences:
- It handle the language extension point (getting languages from VSCode extensions)
- It triggers the
onLanguage:${language}
event (to load VSCode extension listening to those events)
Service name: @codingame/monaco-vscode-textmate-service-override
- Allows to use textmate grammars. Depends on themes service. VSCode extensions use textmate grammars exclusively for highlighting. Once this is enabled monarch grammars can no longer be loaded by monaco-editor
Service name: @codingame/monaco-vscode-treesitter-service-override
- Experimental service which allows to use treesitter grammars, currently only optionally support typescript.
Service name: @codingame/monaco-vscode-theme-service-override
- Allows to use VSCode themes
Service name: @codingame/monaco-vscode-snippets-service-override
- Add snippet extension point (register VSCode extension snippets)
Service name: @codingame/monaco-vscode-debug-service-override
- Activate debugging support
Service name: @codingame/monaco-vscode-preferences-service-override
- Allow to read and write preferences
Service name: @codingame/monaco-vscode-output-service-override
- Output panel support. Hint: It only makes sense to enable it when Views or Workbench service are used
Service name: @codingame/monaco-vscode-terminal-service-override
- Terminal panel support. Hint: It only makes sense to enable it when Views or Workbench service are used
Service name: @codingame/monaco-vscode-search-service-override
- search panel support. Hint: It only makes sense to enable it when Views or Workbench service are used
Service name: @codingame/monaco-vscode-markers-service-override
- It adds the problems panel tab. Hint: It only makes sense to enable it when Views or Workbench service are used
Service name: @codingame/monaco-vscode-scm-service-override
- It adds the SCM API that can be used to implement source control. Hint: It only makes sense to enable it when Views or Workbench service are used
Service name: @codingame/monaco-vscode-testing-service-override
- It adds the Tests API. Hint: It makes more sense to enable it when Views or Workbench service are used
Service name: @codingame/monaco-vscode-language-detection-worker-service-override
- When opening an untitled model or a file without extension or if VSCode is unable to guess the language simply by the file extension or by reading the first line. Then it will use tensorflow in a worker to try to guess the most probable language (only the open source model can be used)
Service name: @codingame/monaco-vscode-storage-service-override
- Define your own storage or use the default BrowserStorageService. The storage service is used in many places either as a cache or as a user preference store. For instance:
- Current loaded theme is stored in there to be loaded faster on start
- Every panel/view positions are stored in there
Service name: @codingame/monaco-vscode-lifecycle-service-override
- Allow other services to veto a page reload (for instance when not all open files are saved)
Service name: @codingame/monaco-vscode-remote-agent-service-override
-
Connect to a remote VSCode agent and have access to:
- The remote filesystem
- The remote file search
- Running terminals
- Running VSCode extensions (not web-compatible)
- and probably more?
Refer to vscode_server.md for the server part
Service name: @codingame/monaco-vscode-accessibility-service-override
- Register accessibility helpers and signals
Service name: @codingame/monaco-vscode-workspace-trust-service-override
- Ask user it they trust the current workspace, disable some features if not
Service name: @codingame/monaco-vscode-extension-gallery-service-override
- Support for the VSCode marketplace, it allows to install extensions from the marketplace
Service name: @codingame/monaco-vscode-chat-service-override
- Support for chat and inline chat features
Service name: @codingame/monaco-vscode-notebook-service-override
- Support for Jupyter notebooks
Service name: @codingame/monaco-vscode-welcome-service-override
- Support for viewsWelcome contribution point. Hint: It only makes sense to enable it when Views or Workbench service are used
Service name: @codingame/monaco-vscode-walkthrough-service-override
- Getting Started page and support for walkthrough contribution point. Hint: It only makes sense to enable it when Views or Workbench service are used
Service name: @codingame/monaco-vscode-user-data-profile-service-override
- User profiles support
Service name: @codingame/monaco-vscode-user-data-sync-service-override
- Support for user data sync.
⚠️ It can't really be used as it relies on a closed source backend from microsoft for the moment⚠️
Service name: @codingame/monaco-vscode-ai-service-override
- Ai support for the ai extension api (RelatedInformation/EmbeddingVector)
Service name: @codingame/monaco-vscode-task-service-override
- Task management
Service name: @codingame/monaco-vscode-outline-service-override
- Support for the outline view. Hint: It only makes sense to enable it when Views or Workbench service are used
Service name: @codingame/monaco-vscode-timeline-service-override
- Support for the timeline view. Hint: It only makes sense to enable it when Views or Workbench service are used
Service name: @codingame/monaco-vscode-workbench-service-override
- Allows to render the full workbench layout. Is exclusive with the
editor
andviews
service. Do not use more than 1 service at the same time
- Enables comments extension api
- Enable cloudchanges
- Enables the
triggerExpansionOnTab
command for the emmet default extension
- Interactive notebooks
- Issue reporting
- Multi diff editor support (https://code.visualstudio.com/updates/v1_85#_multifile-diff-editor)
- Performance monitoring
- Detects changes that require a reload (like settings change) and prompt the user for it
- Enables the share extension api
- Survey/feedback support
- Update detection, release notes...
- Register callbacks to update the display language from the VSCode UI (either from the
Set Display Language
command or from the extension gallery extension packs)
- Storage of secrets for extensions, will store by default in-memory. You can pass a custom implementation as part of the workbench construction options when initializing monaco services (under
secretStorageProvider
) Additionally, several packages that include the VSCode version of some services (with some glue to make it work with monaco) are published: