v2.4.0
Features
- language-service, language-server: add support for LSP
workspaceSymbol/resolve
request (#213) - language-service, language-server: add support for LSP
workspace/executeCommand
request (#214) - language-service, language-server: add support for LSP
textDocument/declaration
request - language-service, language-server: add support for LSP
textDocument/moniker
request - language-service, language-server: add support for LSP
textDocument/prepareTypeHierarchy
typeHierarchy/supertypes
typeHierarchy/subtypes
requests - language-service, language-server: add support for LSP
textDocument/inlineValue
request - monaco: implement CancellationToken for workers (#221)
- typescript: export
replaceTscContent
for 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
directoryExists
for language service host - typescript: improve accuracy of
runTsc
extensions 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
asFileName
result if possible (volarjs/vscode-typescript-web#4497) - language-server: avoid loading diagnosticMessages for en language
- language-server: use
Program.getSourceFile
instead ofaskedFiles
to more accurately determine indirect reference files - language-server: respect client
linkSupport
property for declaration, definition, typeDefinition, implementation requests - jsdelivr: avoid sending read file request if
pkgFilePath
is empty - jsdelivr: avoid sending flat request for
xxx.ts
,xxx.d.ts
module names - jsdelivr: avoid sending flat request for
@types/xxx
if packagexxx
do not exist - source-map: don't throw when
fromOffsets
is not sorted - labs: associated script mappings are not visible
Refactors
- language-server: update
watchFiles
API to return Disposable - language-server: only register event handlers when the language server does support a certain language feature
- language-server: add
setup
hook forcreateTypeScriptProject
function - langauge-server: improve LSP diagnostic integration (#230)
- language-server: split code based on logical concerns (#231)
- typescript: add
setup
hook forrunTsc
function - typescript: add
extraExtensionsToRemove
option forrunTsc
function for glint emit support - typescript:
createAsyncLanguageServicePlugin
'sscriptKind
param allows pass a getter - monaco: add
setup
hook forcreateSimpleWorkerLanguageService
,createTypeScriptWorkerService
functions - monaco: replace
activateAutomaticTypeAcquisition
withcreateNpmFileSystem
from the new@volar/jsdelivr
package (#218) (#219) - monaco: rename
servicePlugins
option tolanguageServicePlugins
- monaco: update to
monaco-languageserver-types
0.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
Language
to language service option (#217) - test-utils: update
startLanguageServer
function to accept multiple workspace folders (#229)
Please refer to CHANGELOG.md for details.