All notable changes to this npm module are documented in this file.
- Moved workerFactory from
monaco-editor-wrapper
tomonaco-languageclient
.
- Update to monaco-vscode-api v13 #836
- Updated all
@codingame/monaco-vscode
packages to13.1.1
. - Breaking changes not in this API, but when using
@monaco-vscode-api
:@codingame/monaco-vscode-api
should not be installed as vscode anymore@codingame/monaco-vscode-extension-api
can optionally be installed asvscode
to use the extension api from the main thread- Some imports should be updated:
vscode/*
=>@codingame/monaco-vscode-api/*
vscode/services
=>@codingame/monaco-vscode-api
- Updated all
- View service related imports are made dynamically #829
@typefox/monaco-editor-react
now works with views serviceinitialize
#823- Ensure configuration is init before service init #820
- Include all
@codingame/monaco-vscode
packages as peerDependencies. Mark only required ones as non-optional. - Updated engine engine requirements for node to (
>=18.19.0
) and for npm to (>=10.2.3
) - Updated all
@codingame/monaco-vscode
packages to11.1.2
. - Workaround for
@codingame/monaco-vscode-chat-extensions-notebook-task-terminal-testing-common
dependency problem - Run language clients independent of wrapper lifecycle #784
- API and internal functions clean-up
- Function naming adjustments
- Prototype: File system endpoint.
- Added
createUrl
tomonaco-languageclient/tools
. Moved it here frommonaco-editor-wrapper
. - Updated to eslint 9
- Support all arguments for monaco-vscode-api
initialize
#756 - Update to monaco-vscode-api 9.0.x #749
- Enhancements to logging
- monaco-languageclient config improvement, wrapper+languageclientwrapper improvements #741
- Pass MessageTransports directly
- Allows to configure more than one language client
- Update to monaco-vscode-api 8.0.4 (monaco-editor 0.51.0)
- Update to monaco-vscode-api 8.0.2
- Update to monaco-vscode-api 8.0.1
- Open default workspace #14
- Update to monaco-vscode-api 8.0.0 #722
- Updated to version
8.0.0
of@codingame/monaco-vscode
packages
- Updated to version
- Update to latest monaco-vscode-api #707
- Updated to version
7.0.7
of@codingame/monaco-vscode
packages
- Updated to version
- Update to latest monaco-vscode-api #691
- Updated to version
6.0.3
of@codingame/monaco-vscode
packages
- Updated to version
- Updated to version
5.2.0
of@codingame/monaco-vscode
packages
- Updated to version
5.1.1
of@codingame/monaco-vscode
packages
- Updated to version
4.3.2
of@codingame/monaco-vscode
packages
- Updated to version
4.2.1
of@codingame/monaco-vscode
packages - Introduce new export
tools
exposing theLogger
migrated here frommonaco-editor-wrapper
- Updated to version
4.1.2
of@codingame/monaco-vscode
packages
- Updated to version
3.2.3
of@codingame/monaco-vscode
packages - Added missing dependency
@codingame/monaco-vscode-extensions-service-override
- Updated to version
3.2.1
of@codingame/monaco-vscode
packages - Enhance TypeScript related examples #611
- It is now possible via InitializeServiceConfig -> enableExtHostWorker
- Moved import of 'vscode/localExtensionHost' from the wrapper here to fix independent init
- Repository now includes
monaco-editor-wrapper
and@typefox/monaco-editor-react
- Aligned LICENSE usage throughout the repository
- Introduce new exports
vscode/services
where you find all mandatory functions related to@codingame/monaco-vscode-api
service initialization - Updated to
@codingame/[email protected]
and@codingame/[email protected]
- Proper sematic versioning, versions are now idenpendent of VSCode versioning scheme, but compatibility table is found here.
@codingame/monaco-vscode-editor-api
is now the alias formonaco-editor
It provides the full editor's full api and hereby removes the need for a treemended version.
- Updated to
@codingame/[email protected]
and@codingame/[email protected]
/[email protected]
- Updated to
@codingame/[email protected]
:- Local extension hosts is automatically started.
initVscodeExtensions
is removed again.
- Local extension hosts is automatically started.
- Volta now uses Node 20 (current LTS).
- Updated to
@codingame/[email protected]
:- BREAKING: If you want to use
getConfigurationServiceOverride
you need to provide aworkspaceConfig
along theuserServices
ininitServices
.
- BREAKING: If you want to use
- Updated to
@codingame/[email protected]
.
- Split
initServices
into two functionsinitVscodeServices
andinitVscodeExtensions
. extension init is no longer blocked by service init in case and service init will only performed once.
- BREAKING: Changed the treemending approach:
- The postinstall step is removed.
monaco-languageclient
no longer patches an existingmonaco-editor
instead the package@codingame/monaco-editor-treemended
is used. This requires that projects using this lib to enforce the correctmonaco-editor
with overrides (npm/pnpm) or resolutions (yarn) in thepackage.json
. - Please see the following explanation
- The postinstall step is removed.
- Updated to
monaco-vscode-api
1.83.5
.
- Updated to
monaco-vscode-api
1.83.3
which adds l10n suppport.
- Updated to
monaco-editor
0.44.0
andmonaco-vscode-api
1.83.2
.
- Updated to
monaco-vscode-api
1.82.5
. Fixes requirung"skipLibCheck": true
with previous versions of 1.82.x.
- Updated to
monaco-vscode-api
1.82.4
- Issue with v6.5.0 (There is already an extension with this id error) on inputFactories #546
- Fixed dependency defintion of
@codingame/monaco-vscode-api
and updated to1.82.3
- Fixed dependency defintion of
- Updated to
monaco-editor
0.43.0
andmonaco-vscode-api
1.82.2
- Only keep user services in
initServices
. It requires to specifically import and use services provided by monaco-vscode-api- All enable... and configure type parameters have been removed from
monaco-languagclient
- languages and model services are always added by
monaco-languagclient
- layout, environment, extension, files and quickAccess servies are always added by
monaco-vscode-api
- Additional services need to be added to the package dependencies and imported and configured as shown in the examples
- All enable... and configure type parameters have been removed from
- Updated to
monaco-vscode-api
1.81.7
- Use direct
monaco-editor
imports - Make examples publicly available
- Updated to
monaco-vscode-api
1.81.5
- Added python language client and language server (pyright) examples
- Updated to
monaco-vscode-api
1.81.3
- Updated to
monaco-vscode-api
1.81.2
monaco-vscode-api
1.81.1
#523- Removed
enableQuickaccessService
as it is always loaded now as default - Aligned naming of properties in
InitializeServiceConfig
- Removed
- Updated to
monaco-editor
0.41.0
andmonaco-vscode-api
1.81.0
#520
- Updated to
monaco-editor
0.40.0
andmonaco-vscode-api
1.80.2
#513- vscode api services have been cleaned-up and fully aligned with `monaco-vscode-api
- Updated
monaco-vscode-api
to version1.79.3
,monaco-editor
to version0.39.0
andmonaco-editor-workers
to version0.39.1
#503
- Updated to
monaco-vscode-api
version1.79.0
andmonaco-editor
version0.38.0
#493 - Updated to
monaco-vscode-api
version1.79.1
#501 initService
createswindow.MonacoEnvironment
if not yet available
- Updated to
monaco-vscode-api
version1.78.8
fixing treemending patch issues #491 / monaco-vscode-api #116 / monaco-vscode-api #119
- Dependencies to
monaco-editor
andmonaco-vscode-api
are now explicitly declared due to problems with yarn (see external issue: TypeFox/monaco-components#21)
- Updated to
monaco-vscode-api
version1.78.6
fixing Macintosh related monaco-editor problems
- BREAKING CHANGE: Updated to
monaco-vscode-api
1.78.5
and therefore retiredMonacoServices
. It is replaced byinitServices
that makes configration of services exposed bymonaco-vscode-api
handy and still allows the definition of own services as outlined here and these can be passed asuserServices
ininitServices
. - Most client examples now share common code to reduce the amount of redundant code.
- The angular-client example is now found in its own repository
- Bugfix: textDocument/didChange message is doubled #479
- BREAKING CHANGE: Update to monaco-vscode-api 1.76 #470
- More services from
monaco-vscode-api
are used in the langium example (language config, text mate, keyboard bindings) - Updates to
monaco-editor
version0.36.1
and vscode api compatibility to1.76.0
- More services from
- BREAKING CHANGE: Do not reexport code of imported libraries (e.g. vscode-languageclient) #459
- Content of
vscode-jsonrpc
,vscode-languageclient
andvscode-languageserver-protocol
is no longer re-exported - Restructures example into less packages. It reduces maintenace efforts
- Web worker language server example is replaced with Langium Statemachine
- Content of
- Fixed compile target configuration
- Changed the compile target and module to ES2022. Applied linting. Code was functionally not changed.
- Updated to
[email protected]
- Added react-client and angular-client
- Update to monaco-editor 0.34.1 #373
- Update to
[email protected]
- Update exmaple dependencies (which don't affect the library)
- Update to
- BREAKING CHANGE: Transform to package of type module and switch to TypeScript ECMAScript Module Support in Node.js.
- BREAKING CHANGE: All cjs exports have been removed.
- BREAKING CHANGE: The old
monaco-converter
has been removed. If you still rely on it, please take a look at the example language service written in JavaScript and adapt to the converters usage available since v2.0.0. - Added verification examples for webpack and vite that shall ensure the libs work in dependent projects and the give you an idea how to use
monaco-languageclient
andvscode-ws-jsonrpc
with common bundlers. - Revised all READMEs
- Update
monaco-vscode-api
to version1.69.9
- Update to monaco 0.34/vscode 1.69 #409
v2+ of this library is dependant on monaco-vscode-api which removed all vscode-api/-compatibility related code. The change has mostly no effect on end users code, but there are two things that need to be taken into account:
- If you use Webpack or vite for bundling, you have to remove the
vscode
alias entry from the configuration - If you customized monaco services, then you have to adjust them to the changed interface
The npm packages exports the following:
monaco-languagclient
monaco-languagclient/monaco-converters
monaco-languagclient/monaco-converters/cjs
- Update vscode api #399
- Updated
vite
to3.0.2
- Align all tsconfigs and vscode-ws-jsonrpc provides esm/cjs #390
- Use
typesVersions
in *package.json- for proper TypeScript import support (used in node example) - Remove AMD and CJS builds adn exports of the main library. Only
monaco-converters
andmonaco-converters/cjs
are left
- Use
- No cjs fragments to export #388
- Use monaco vscode api #373
- Merge monaco-jsonrpc and vscode-ws-jsonrpc into new sub package #383
- Integrate eslint with eslint-config-standard #385
- Add example with client and server both running in the browser #386
- feat(package.json): export monaco-converter #376
- Clean unregistered featured from registration requests #372
- Introduce global engines entries for node and npm #370
- Implement missing 3.17 api #364
- Remove unsupported features #362
- Do not include node code #361
- Add some typing on the code/proto converters #359
- Fix to vite 2.9.6 for now
- Switch to npm workspace and vite and thereby drop yarn, lerna and webpack #340
- Restructure project: All code is moved to packages directory
- Update and clean-up all dependencies
- Use monaco-editor in examples instead of monaco-editor-core
- README was fully revised
- Bugfixes resulting from this:
- Make monaco workspace disposable #330
- Update the protocol to version 3.17 #350
- Fix code action diagnostics #352
- Fix resolving, never overwrite by undefined #354
- The
connectionProvider
now expects aMessageTransports
instead of aMessageConnection
- Bump version to 1.0.0
- Fix vscode api enum #333
- Update to monaco 0.33 & vscode 1.65 #329
- Updated minor versions of vscode-languageserver-textdocument and vscode-uri and removed engines entry from client
- First released as @codingame/[email protected] on specified date
- Release of [email protected] was made available on date in brackets
- Register providers using the document selector directly #317
- First released as @codingame/[email protected] on specified date
- Release of [email protected] was made available on date in brackets
- Releases
0.17.1
and0.17.2
were mistakes - Fix various issues: outdated api, missing stuff in compatibility-api... #309
- First released as @codingame/[email protected] on specified date
- Release of [email protected] was made available on date in brackets
- Update to monaco 0.30.1 #301
- First released as @codingame/[email protected] on specified date
- Release of [email protected] was made available on date in brackets
- Fix dropped tags in Diagnostic -> IMarkerData #297
- Missing protocol convention #298
- First released as @codingame/[email protected] on specified date
- Release of [email protected] was made available on date in brackets
- Updated
monaco-editor-core
version to0.29.0
- Async resolve code actions #294
- First released as @codingame/[email protected] on specified date
- Release of [email protected] was made available on date in brackets
- Resolve code actions #290
- Release
0.15.0
was skipped
- First released as @codingame/[email protected] on specified date
- Release of [email protected] was made available on date in brackets
- Upgraded to Monaco 0.22.3
MonacoServices
now takes themonaco
object instead of theCommandRegistry
before:
MonacoServices.install(require('monaco-editor-core/esm/vs/platform/commands/common/commands').CommandsRegistry);
after:
import - as monaco from 'monaco-editor-core'
MonacoServices.install(monaco);
MonacoServices
should now be installed using the command registry instead of the editor
before:
const editor = monaco.editor.create(...);
MonacoServices.install(editor);
after:
MonacoServices.install(require('monaco-editor-core/esm/vs/platform/commands/common/commands').CommandsRegistry);
0.13.0 - 2020-04-06
- Upgraded to vscode-uri 2.x 741a3df
0.12.0 - 2020-03-19
- Upgraded to Monaco 0.19.1 #199
0.11.0 - 2020-01-23
- Upgraded to Monaco 0.18.1 #178
0.10.2 - 2019-09-10
- register language features regardless whether a language is registered (https://github.com/TypeFox/monaco-languageclient/commit/0559be6c20744182ede699f594fdbe6d9f3d7145)
0.10.1 - 2019-09-04
- aligned CompletionItemKind with Monaco 0.17.0 #174
0.10.0 - 2019-08-26
- upgraded to LSP 5.3.0 and Monaco 0.17.0
Switch to es6 from es5. For clients who cannot migrate to es6 please use babel to transpile Monaco and LSP to es5.
- to configure babel wit webpack:
{
test: /\\.js$/,
// include only es6 dependencies to transpile them to es5 classes
include: /monaco-languageclient|monaco-jsonrpc|vscode-jsonrpc|vscode-languageserver-protocol|vscode-languageserver-types|vscode-languageclient/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env'],
plugins: [
// reuse runtime babel lib instead of generating it in each js file
'@babel/plugin-transform-runtime',
// ensure that classes are transpiled
'@babel/plugin-transform-classes'
],
// see https://github.com/babel/babel/issues/8900#issuecomment-431240426
sourceType: 'unambiguous',
cacheDirectory: true
}
}
}
0.9.0 - 2018-09-06
- use monaco-editor-core as a dev dependency to allow alternative implementations #119
Clients have to explicitly declare a dependency to monaco-editor-core
or another package providing Monaco:
monaco-editor-core
is tree shaked to get rid of unused VS Code's code.- @typefox/monaco-editor-core is a not tree-shaked alternative.
0.8.0 - 2018-09-04
- updated dependency to Monaco 0.14.x, with adaptation for breaking changes from monaco #107 - thanks to @Twinside
- ensure that SignatureHelp and SignatureHelp has non-null arrays #112 - thanks to @rcjsuen
0.7.3 - 2018-08-30
- fixed folding ranges conversion - 12d8c91
- implement
toJSON
for workspace configurations - 9e50a48 - fixed markdown conversion #103
0.7.2 - 2018-08-02
- amd distribution (#97) - thanks to @zewa666
- updated dependency to Monaco 0.13.2 (#100)
- register providers only for languages matching the documentSelector (#101) - thanks to @gins3000
0.7.0 - 2018-07-31
Updated to vscode-languageclient
4.4.0 to support LSP 3.10.0 features like hierarchical document symbols, go to type defition/implementation, workspace folders and document color provider (#89).
In order to use vscode-languageclient
directly the compatibility layer was implemented for subset of vscode
APIs used by the client:
-
vscode-compatibility
should be used as an implementation ofvscode
module at the runtime- to adjust module resolution with
webpack
:
resolve: { alias: { 'vscode': require.resolve('monaco-languageclient/lib/vscode-compatibility') } }
register-vscode
should be required once to adjust module resolution withNode.js
, for example to stubvscode
APIs for Mocha tests:
--require monaco-languageclient/lib/register-vscode
- to adjust module resolution with
-
MonacoLanguageClient
should be used instead ofBaseLanguageClient
-
MonacoServices
should be installed globally to be accessible forvscode-compatibility
module, not per a language client- for the use case with a single standalone editor:
import { MonacoServices } from 'monaco-languageclient'; MonacoServices.install(editor);
- to support sophisticated use cases one can install custom Monaco services:
import { MonacoServices, Services } from 'monaco-languageclient'; const services: MonacoServices = { worspace, languages, commands, window }; Services.install(services);
0.6.0 - 2018-04-18
- updated dependency to Monaco 0.12 (#70)
- support
CompletionItem
'sadditionalTextEdits
property (#39) - convert
monaco.MarkerSeverity.Hint
values toDiagnosticSeverity.Hint
(#71)
0.4.0 - 2018-02-13
- add support for
textDocument/documentLink
anddocumentLink/resolve
(#53) - state that
workspace/applyEdit
is supported in the capabilities (#55) - state that versioned changes are supported in a
WorkspaceEdit
(#56) - replaced
monaco-editor
withmonaco-editor-core
(#58)
0.3.0 - 2018-02-08
- fix handling of
codeLens/resolve
if no provider exists (#46) - removed
monaco-editor-core
dependency, keeping onlymonaco-editor
(#42) - fix typings in
glob-to-regexp
(#49)
0.2.1 - 2018-01-14
- allow a
rootUri
to be set withcreateMonacoServices
(#31)
0.2.0 - 2017-08-30
- handle
number
value of zero in aDiagnostic
'scode
(#14) - add support to lazily load Monaco (#19)
- add support for
textDocument/codeActions
andworkspace/executeCommand
(#21) - updated dependency to Monaco 0.10 (#29)
- initial 0.1.0 release, depends on Monaco 0.9.0