Theia API Documentation v1.65.0
    Preparing search index...

    Module @theia/core


    theia-ext-logo

    ECLIPSE THEIA - CORE EXTENSION


    The @theia/core extension is the main extension for all Theia-based applications, and provides the main framework for all dependent extensions. The extension provides the base APIs for all Theia-based applications, including:

    • Application APIs
    • Shell APIs
    • Base Widgets
    • Contribution Points (ex: commands, menu items, keybindings)

    A Theia extension is a node package declaring theiaExtensions property in package.json:

    {
    "theiaExtensions": [{
    "frontend": "lib/myExtension/browser/myextension-frontend-module",
    "backend": "lib/myExtension/node/myextension-backend-module",
    }, {
    "frontend": "lib/myExtension2/browser/myextension2-browser-module",
    "frontendElectron": "lib/myExtension2/electron-browser/myextension2-electron-browser-module",
    "backend": "lib/myExtension2/node/myextension2-node-module",
    "backendElectron": "lib/myExtension2/electron-main/myextension2-electron-main-module"
    }]
    }

    Each extension can consist of the following modules:

    • frontend is used in the browser env and as well in the electron if frontendElectron is not provided
    • frontendElectron is used in the electron env
    • backend is used in the node env and as well in the electron env if backendElectron is not provided
    • backendElectron is used in the electron env

    An extension module should have a default export of ContainerModule | Promise<ContainerModule> type.

    A Theia application is a node package listing Theia extensions as dependencies and managed with Theia CLI.

    In order to make application builds more stable @theia/core re-exports some common dependencies for Theia extensions to re-use. This is especially useful when having to re-use the same dependencies as @theia/core does: Since those dependencies will be pulled by Theia, instead of trying to match the same version in your own packages, you can use re-exports to consume it from the framework directly.

    Let's take inversify as an example since you will most likely use this package, you can import it by prefixing with @theia/core/shared/:

    import { injectable } from '@theia/core/shared/inversify';

    @injectable()
    export class SomeClass {
    // ...
    }

    It's possible to change the log level for the entire Theia application by passing it the --log-level={fatal,error,warn,info,debug,trace} option. For more fine-grained adjustment, it's also possible to set the log level per logger (i.e. per topic). The root logger is a special catch-all logger through which go all messages not sent through a particular logger. To change the log level of particular loggers, create a config file such as

    {
    "defaultLevel": "info",
    "levels": {
    "terminal": "debug",
    "task": "error"
    }
    }

    where levels contains the logger-to-log-level mapping. defaultLevel contains the log level to use for loggers not specified in levels. This file can then be specified using the --log-config option. Theia will watch that file for changes, so it's possible to change log levels at runtime by modifying this file.

    It's unfortunately currently not possible to query Theia for the list of existing loggers. However, each log message specifies from which logger it comes from, which can give an idea, without having to read the code:

    root INFO [parcel-watcher: 10734] Started watching: /Users/captain.future/git/theia/CONTRIBUTING.md
    ^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^

    Where root is the name of the logger and INFO is the log level. These are optionally followed by the name of a child process and the process ID.

    • THEIA_HOSTS
      • A comma-separated list of hosts expected to resolve to the current application.
        • e.g: theia.app.com,some.other.domain:3000
      • The port number is important if your application is not hosted on either 80 or 443.
      • If possible, you should set this environment variable:
        • When not set, Theia will allow any origin to access the WebSocket services.
        • When set, Theia will only allow the origins defined in this environment variable.
    • FRONTEND_CONNECTION_TIMEOUT
      • The duration in milliseconds during which the backend keeps the connection contexts for the frontend to reconnect.
      • This duration defaults to '0' if not set.
      • If set to negative number, the backend will never close the connection.

    "Theia" is a trademark of the Eclipse Foundation https://www.eclipse.org/theia

    Modules

    browser
    browser-only/frontend-only-application-module
    browser-only/i18n/i18n-frontend-only-module
    browser-only/logger-frontend-only-module
    browser-only/messaging/frontend-only-service-connection-provider
    browser-only/messaging/messaging-frontend-only-module
    browser-only/preload/frontend-only-preload-module
    browser/about-dialog
    browser/authentication-service
    browser/breadcrumbs
    browser/breadcrumbs/breadcrumb-popup-container
    browser/breadcrumbs/breadcrumb-renderer
    browser/breadcrumbs/breadcrumbs-constants
    browser/breadcrumbs/breadcrumbs-renderer
    browser/breadcrumbs/breadcrumbs-service
    browser/browser
    browser/browser-clipboard-service
    browser/clipboard-service
    browser/color-application-contribution
    browser/color-registry
    browser/command-open-handler
    browser/common-frontend-contribution
    browser/common-styling-participants
    browser/connection-status-service
    browser/context-key-service
    browser/context-menu-renderer
    browser/credentials-service
    browser/decoration-style
    browser/decorations-service
    browser/dialogs
    browser/dialogs/react-dialog
    browser/diff-uris
    browser/encoding-registry
    browser/endpoint
    browser/external-uri-service
    browser/file-icons-js
    browser/frontend-application
    browser/frontend-application-bindings
    browser/frontend-application-config-provider
    browser/frontend-application-contribution
    browser/frontend-application-module
    browser/frontend-application-state
    browser/hover-service
    browser/http-open-handler
    browser/i18n/i18n-frontend-module
    browser/i18n/language-quick-pick-service
    browser/icon-registry
    browser/icon-theme-contribution
    browser/icon-theme-service
    browser/json-schema-store
    browser/keybinding
    browser/keyboard
    browser/keyboard/browser-keyboard-frontend-contribution
    browser/keyboard/browser-keyboard-layout-provider
    browser/keyboard/browser-keyboard-module
    browser/keyboard/keyboard-layout-service
    browser/keyboard/keys
    browser/keys
    browser/label-parser
    browser/label-provider
    browser/language-icon-provider
    browser/language-service
    browser/logger-frontend-module
    browser/markdown-rendering/markdown-renderer
    browser/menu/action-menu-node
    browser/menu/browser-context-menu-renderer
    browser/menu/browser-menu-module
    browser/menu/browser-menu-node-factory
    browser/menu/browser-menu-plugin
    browser/menu/composite-menu-node
    browser/menu/context-menu-context
    browser/messaging
    browser/messaging/connection-source
    browser/messaging/frontend-id-provider
    browser/messaging/messaging-frontend-module
    browser/messaging/service-connection-provider
    browser/messaging/ws-connection-provider
    browser/messaging/ws-connection-source
    browser/mime-service
    browser/navigatable
    browser/navigatable-types
    browser/open-with-service
    browser/opener-service
    browser/performance
    browser/performance/frontend-stopwatch
    browser/performance/measurement-frontend-bindings
    browser/preferences
    browser/preferences/frontend-config-preference-contributions
    browser/preferences/preference-contribution
    browser/preferences/preference-validation-service
    browser/preload/i18n-preload-contribution
    browser/preload/os-preload-contribution
    browser/preload/preload-module
    browser/preload/preloader
    browser/preload/text-replacement-contribution
    browser/preload/theme-preload-contribution
    browser/progress-bar
    browser/progress-bar-factory
    browser/progress-client
    browser/progress-location-service
    browser/progress-status-bar-item
    browser/quick-input
    browser/quick-input/quick-access
    browser/quick-input/quick-command-frontend-contribution
    browser/quick-input/quick-command-service
    browser/quick-input/quick-help-service
    browser/quick-input/quick-input-frontend-contribution
    browser/quick-input/quick-input-service
    browser/quick-input/quick-pick-service-impl
    browser/quick-input/quick-view-service
    browser/request/browser-request-module
    browser/request/browser-request-service
    browser/resource-context-key
    browser/saveable
    browser/saveable-service
    browser/secondary-window-handler
    browser/shell
    browser/shell/additional-views-menu-widget
    browser/shell/application-shell
    browser/shell/application-shell-mouse-tracker
    browser/shell/current-widget-command-adapter
    browser/shell/shell-layout-restorer
    browser/shell/side-panel-handler
    browser/shell/side-panel-toolbar
    browser/shell/sidebar-bottom-menu-widget
    browser/shell/sidebar-menu-widget
    browser/shell/sidebar-top-menu-widget
    browser/shell/split-panels
    browser/shell/tab-bar-decorator
    browser/shell/tab-bar-toolbar
    browser/shell/tab-bar-toolbar/tab-bar-toolbar
    browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters
    browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry
    browser/shell/tab-bar-toolbar/tab-bar-toolbar-types
    browser/shell/tab-bar-toolbar/tab-toolbar-item
    browser/shell/tab-bars
    browser/shell/theia-dock-panel
    browser/shell/theia-split-panel
    browser/shell/view-column-service
    browser/shell/view-contribution
    browser/source-tree
    browser/source-tree/source-tree
    browser/source-tree/source-tree-widget
    browser/source-tree/tree-source
    browser/status-bar
    browser/status-bar/status-bar
    browser/status-bar/status-bar-types
    browser/status-bar/status-bar-view-model
    browser/storage-service
    browser/styling-service
    browser/theming
    browser/tooltip-service
    browser/tree
    browser/tree/search-box
    browser/tree/search-box-debounce
    browser/tree/tree
    browser/tree/tree-compression
    browser/tree/tree-compression/compressed-tree-expansion-service
    browser/tree/tree-compression/compressed-tree-model
    browser/tree/tree-compression/compressed-tree-widget
    browser/tree/tree-compression/tree-compression-service
    browser/tree/tree-container
    browser/tree/tree-decorator
    browser/tree/tree-expansion
    browser/tree/tree-focus-service
    browser/tree/tree-iterator
    browser/tree/tree-label-provider
    browser/tree/tree-model
    browser/tree/tree-navigation
    browser/tree/tree-selection
    browser/tree/tree-selection-impl
    browser/tree/tree-selection-state
    browser/tree/tree-view-welcome-widget
    browser/tree/tree-widget
    browser/tree/tree-widget-selection
    browser/undo-redo-handler
    browser/user-working-directory-provider
    browser/view-container
    browser/widget-decoration
    browser/widget-manager
    browser/widget-open-handler
    browser/widget-status-bar-service
    browser/widgets
    browser/widgets/alert-message
    browser/widgets/enhanced-preview-widget
    browser/widgets/extractable-widget
    browser/widgets/previewable-widget
    browser/widgets/react-renderer
    browser/widgets/react-widget
    browser/widgets/select-component
    browser/widgets/split-widget
    browser/widgets/widget
    browser/window-contribution
    browser/window/browser-window-module
    browser/window/default-secondary-window-service
    browser/window/default-window-service
    browser/window/secondary-window-service
    browser/window/window-service
    browser/window/window-title-service
    browser/window/window-title-updater
    common
    common/accessibility
    common/application-error
    common/application-protocol
    common/array-utils
    common/buffer
    common/cancellation
    common/char-code
    common/collections
    common/color
    common/command
    common/content-replacer
    common/contribution-filter
    common/contribution-filter/contribution-filter
    common/contribution-filter/contribution-filter-registry
    common/contribution-filter/filter
    common/contribution-provider
    common/core-preferences
    common/diff
    common/disposable
    common/encoding-service
    common/encodings
    common/env-variables
    common/env-variables/env-variables-protocol
    common/event
    common/file-uri
    common/frontend-application-state
    common/glob
    common/hash
    common/i18n/localization
    common/i18n/localization-server
    common/inversify-utils
    common/json-schema
    common/key-store
    common/keybinding
    common/keyboard/keyboard-layout-provider
    common/keys
    common/label-protocol
    common/listener
    common/logger
    common/logger-binding
    common/logger-protocol
    common/logger-watcher
    common/lsp-types
    common/markdown-rendering
    common/markdown-rendering/icon-utilities
    common/markdown-rendering/markdown-string
    common/menu
    common/menu/menu-model-registry
    common/menu/menu-types
    common/message-rpc
    common/message-rpc/channel
    common/message-rpc/message-buffer
    common/message-rpc/msg-pack-extension-manager
    common/message-rpc/rpc-message-encoder
    common/message-rpc/rpc-protocol
    common/message-rpc/uint8-array-message-buffer
    common/message-service
    common/message-service-protocol
    common/messaging
    common/messaging/connection-error-handler
    common/messaging/connection-management
    common/messaging/handler
    common/messaging/proxy-factory
    common/messaging/socket-write-buffer
    common/messaging/web-socket-channel
    common/nls
    common/numbers
    common/objects
    common/observable
    common/observable/autorun
    common/observable/derived-observable
    common/observable/observable-base
    common/observable/observable-from-event
    common/observable/observable-signal
    common/observable/observable-utils
    common/observable/settable-observable
    common/os
    common/path
    common/paths
    common/performance
    common/performance/measurement
    common/performance/measurement-protocol
    common/performance/stopwatch
    common/preferences
    common/preferences/defaults-preference-provider
    common/preferences/injectable-preference-proxy
    common/preferences/preference-configurations
    common/preferences/preference-language-override-service
    common/preferences/preference-provider
    common/preferences/preference-provider-impl
    common/preferences/preference-proxy
    common/preferences/preference-schema
    common/preferences/preference-schema-service
    common/preferences/preference-scope
    common/preferences/preference-service
    common/prioritizeable
    common/progress-service
    common/progress-service-protocol
    common/promise-util
    common/quick-pick-service
    common/reference
    common/resource
    common/selection
    common/selection-command-handler
    common/selection-service
    common/severity
    common/stream
    common/strings
    common/supported-encodings
    common/telemetry
    common/ternary-search-tree
    common/theme
    common/tree-preference
    common/types
    common/uri
    common/uri-command-handler
    common/uuid
    common/version
    common/view-column
    common/window
    electron-browser/electron-clipboard-service
    electron-browser/electron-uri-handler
    electron-browser/keyboard/electron-keyboard-layout-change-notifier
    electron-browser/keyboard/electron-keyboard-module
    electron-browser/menu/electron-context-menu-renderer
    electron-browser/menu/electron-main-menu-factory
    electron-browser/menu/electron-menu-contribution
    electron-browser/menu/electron-menu-module
    electron-browser/messaging/electron-frontend-id-provider
    electron-browser/messaging/electron-ipc-connection-source
    electron-browser/messaging/electron-local-ws-connection-source
    electron-browser/messaging/electron-messaging-frontend-module
    electron-browser/messaging/electron-ws-connection-source
    electron-browser/preload
    electron-browser/request/electron-browser-request-module
    electron-browser/token/electron-token-frontend-module
    electron-browser/window/electron-frontend-application-state
    electron-browser/window/electron-secondary-window-service
    electron-browser/window/electron-window-module
    electron-browser/window/electron-window-service
    electron-browser/window/external-app-open-handler
    electron-common/electron-api
    electron-common/electron-main-window-service
    electron-common/electron-token
    electron-common/electron-window-preferences
    electron-main/electron-api-main
    electron-main/electron-main-application
    electron-main/electron-main-application-module
    electron-main/electron-main-constants
    electron-main/electron-main-window-service-impl
    electron-main/electron-security-token-service
    electron-main/event-utils
    electron-main/messaging/electron-connection-handler
    electron-main/messaging/electron-messaging-contribution
    electron-main/messaging/electron-messaging-service
    electron-main/theia-electron-window
    electron-node/cli/electron-backend-cli-module
    electron-node/cli/electron-cli-contribution
    electron-node/hosting/electron-backend-hosting-module
    electron-node/hosting/electron-ws-origin-validator
    electron-node/keyboard/electron-backend-keyboard-module
    electron-node/keyboard/electron-keyboard-layout-provider
    electron-node/request/electron-backend-request-module
    electron-node/request/electron-backend-request-service
    electron-node/token/electron-token-backend-contribution
    electron-node/token/electron-token-backend-module
    electron-node/token/electron-token-validator
    electron-node/window/electron-window-module
    node
    node/application-server
    node/backend-application
    node/backend-application-config-provider
    node/backend-application-module
    node/cli
    node/console-logger-server
    node/debug
    node/dynamic-require
    node/env-variables
    node/env-variables/env-variables-server
    node/environment-utils
    node/filesystem-locking
    node/hosting/backend-application-hosts
    node/hosting/backend-hosting-module
    node/hosting/ws-origin-validator
    node/i18n/i18n-backend-module
    node/i18n/localization-contribution
    node/i18n/localization-provider
    node/i18n/localization-server
    node/i18n/theia-localization-contribution
    node/key-store-server
    node/logger-backend-module
    node/logger-cli-contribution
    node/main
    node/messaging
    node/messaging/binary-message-pipe
    node/messaging/connection-container-module
    node/messaging/default-messaging-service
    node/messaging/frontend-connection-service
    node/messaging/ipc-bootstrap
    node/messaging/ipc-channel
    node/messaging/ipc-connection-provider
    node/messaging/ipc-protocol
    node/messaging/messaging-backend-module
    node/messaging/messaging-listeners
    node/messaging/messaging-service
    node/messaging/websocket-endpoint
    node/messaging/websocket-frontend-connection-service
    node/os-backend-provider
    node/performance
    node/performance/measurement-backend-bindings
    node/performance/node-stopwatch
    node/process-utils
    node/remote/backend-remote-service
    node/remote/remote-cli-contribution
    node/remote/remote-copy-contribution
    node/request/backend-request-facade
    node/request/backend-request-module
    node/request/proxy-cli-contribution
    node/setting-service
    node/ws-request-validators