v2.4.0
Features
- language-service, language-server: add support for LSP
workspaceSymbol/resolverequest (#213) - language-service, language-server: add support for LSP
workspace/executeCommandrequest (#214) - language-service, language-server: add support for LSP
textDocument/declarationrequest - language-service, language-server: add support for LSP
textDocument/monikerrequest - language-service, language-server: add support for LSP
textDocument/prepareTypeHierarchytypeHierarchy/supertypestypeHierarchy/subtypesrequests - language-service, language-server: add support for LSP
textDocument/inlineValuerequest - monaco: implement CancellationToken for workers (#221)
- typescript: export
replaceTscContentfor downstream usage (#223) - Thanks @so1ve - kit: add support for checking project references files (#232)
Bug Fixes
- language-service: multi-level DocumentSymbol results from different virtual code are not merged accurately
- typescript: use Proxy instead of modifying LanguageService instance (#216)
- typescript: implement
directoryExistsfor language service host - typescript: improve accuracy of
runTscextensions parameter behavior (#222) - typescript: synchronize script snapshots in a side-effect-free manner (#226)
- typescript: add missing workspace symbols support for TS plugin (vuejs/language-tools#4595)
- typescript: add missing code actions support for TS plugin (vuejs/language-tools#4586)
- monaco: can't recognize the package with type definitions in
@types/xxx(#81) - language-server: simplify
asFileNameresult if possible (volarjs/vscode-typescript-web#4497) - language-server: avoid loading diagnosticMessages for en language
- language-server: use
Program.getSourceFileinstead ofaskedFilesto more accurately determine indirect reference files - language-server: respect client
linkSupportproperty for declaration, definition, typeDefinition, implementation requests - jsdelivr: avoid sending read file request if
pkgFilePathis empty - jsdelivr: avoid sending flat request for
xxx.ts,xxx.d.tsmodule names - jsdelivr: avoid sending flat request for
@types/xxxif packagexxxdo not exist - source-map: don't throw when
fromOffsetsis not sorted - labs: associated script mappings are not visible
Refactors
- language-server: update
watchFilesAPI to return Disposable - language-server: only register event handlers when the language server does support a certain language feature
- language-server: add
setuphook forcreateTypeScriptProjectfunction - langauge-server: improve LSP diagnostic integration (#230)
- language-server: split code based on logical concerns (#231)
- typescript: add
setuphook forrunTscfunction - typescript: add
extraExtensionsToRemoveoption forrunTscfunction for glint emit support - typescript:
createAsyncLanguageServicePlugin'sscriptKindparam allows pass a getter - monaco: add
setuphook forcreateSimpleWorkerLanguageService,createTypeScriptWorkerServicefunctions - monaco: replace
activateAutomaticTypeAcquisitionwithcreateNpmFileSystemfrom the new@volar/jsdelivrpackage (#218) (#219) - monaco: rename
servicePluginsoption tolanguageServicePlugins - monaco: update to
monaco-languageserver-types0.4 (#225) - Thanks @remcohaszing - language-core: no longer coupled to the TypeScript context, TypeScript properties are defined via interface merging in
@volar/typescript(#215) - language-service: move project context from
Languageto language service option (#217) - test-utils: update
startLanguageServerfunction to accept multiple workspace folders (#229)
Please refer to CHANGELOG.md for details.