This repository was archived by the owner on Jun 26, 2026. It is now read-only.
Repository navigation
Releases: tact-lang/tact-language-server
Releases · tact-lang/tact-language-server
Release list
v0.9.0
When installing both the TON and Tact plugins, conflicts may arise during operation. Thus, this plugin now retains only its Tact functionality and removes everything else, including: TL-B, Fift, BoC and TASM support.
For support of FunC, TL-B, Fift assembly, TASM and TON Bag-of-Cells (BoC), use the official TON extension.
What's Changed (since v0.8.0)
- chore: bump version to v0.9.0 (#773) (fd645e0)
- feat(vscode): remove TL-B support (#772) (94359a8)
- feat(vscode): remove Fift support (#771) (109e395)
- feat(vscode): removed BoC support (#769) (dc0a73e)
- feat(vscode): removed TASM support (#768) (1e6a44a)
- fix(completion): bug in the test (#770) (ee0f248)
- docs(e2e): update test command examples in readme (#762) (eb06ca2)
- fix: cleanup compile folder before run tests (#765) (7d0da5f)
- feat: VFS (#720) (2d3f45e)
- feat(tlb): add hover documentation for declarations and builtin types (#754) (aa7b553)
- fix(indexing): fix buffer files handling (#750) (7f9db76)
Installation
VS Code Extension
- Download the .vsix file and install it through VS Code
Other Editors
- Download tact-language-server-v0.9.0.tar.gz (Linux/macOS) or tact-language-server-v0.9.0.zip (Windows)
- Extract it to a convenient location
- Configure your editor to use the language server from the extracted folder
v0.8.1
v0.8.0
Added
- feat: add flexible toolchain settings in #723
- feat: don't index
.gitandallure-resultsfolders in #715 - feat: support contract
Contract.toCell/toSlicefrom Tact 1.6.11 andContract.fromCell/fromSlicefrom Tact 1.6.12 in #746 - feat(documentation): show number in different number systems on hover in #684
- feat(documentation): support constant values for message opcodes in #677
- feat(inspections): add
CanBeInlineinspection and optimize find references in #691 - feat(inspections): add
DeprecatedSymbolUsageinspection in #690 - feat(inspections): add
MissedMembersInContractinspection with quickfix to implement trait in #686 - feat(inspections): add
NamingConventioninspection in #701 - feat(inspections): add
OptimalMathFunctionsinspection in #692 - feat(inspections): more stable results for Tact compiler and Misti inspections, enable Tact compiler linting by default in #675
- feat(lenses): add lenses for messages with received and sent count in #733
- feat(references/resolve): support go-to-references for TL-B types and support multi-declarations in #744
- feat(renaming): rename import on file rename or move in #698
- feat(tlb): add TL-B basic highlighting in #666
- feat(tlb): add basic highlight TL-B code blocks inside Tact comments in #670
- feat(tlb): add initial completion for declarations, parameters, fields and builtin types in #740
- feat(tlb): add tree-sitter grammar for TL-B in #669
- feat(tlb): better highlighting in #741
- feat(tlb): support document symbols for TL-B in #739
- feat(tlb/resolving): initial resolving for declarations, fields and type parameters in #674
- feat(vscode): add intention to extract symbol to new file in #700
- feat(vscode): automatically disassemble BoC file if changed in #699
- feat(vscode): show gas consumption for selected instructions in #702
- feat(vscode): show toolchain information on status bar widget hover in #722
- feat(vscode): type-based search in #706
- feat(icons): update icons in #679
Fixes
- fix(package.json): fix URL to GitHub repository and normalize bin path in #663
- fix(package.server.json): add
publishConfigentry for public publishing in #664 - fix(completion): add space after name in struct instance completion in #687
- fix(inspection): fix
MissedMembersInContractinspection message in #689 - fix(inspections): don't suggest
inlinefor assembly functions in #704 - fix(vscode): remove duplicate command in #705
- fix(inspections): allow
_fooas valid camel case for field names in #707 - fix(intentions): fix
AddImportintention in #729 - fix(documentation): fix calculation of body length in #730
- fix: delay file open event until indexing is in progress in #747
Internal
- feat(ci): move tree-sitter grammars to separate job in #718
- feat(tests): add filtering for e2e tests and fix e2e tests on windows in #693
- feat(tests): support multi files tests in #694
- feat(tests): add code lenses tests in #735
- feat(tests): add tests for document symbols in #696
- feat(tests): add tests for type definition in #717
- refactor: move
*-language-configuration.jsontoclient/src/languagesin #660 - refactor: move syntaxes to
client/and stubs toserver/in #709 - refactor: split languages to separate folders inside
server/src/languagesin #710 - refactor: move tree-sitter grammars to language-specific folders in #711
- refactor: move more files to
tact/folder in #712 - refactor: simplify and improve
server.tsin #713 - refactor: extract hover documentation and go-to-definitions to language-specific files in #714
- refactor: better PSI structure for other languages in #725
- refactor: move more features from
server.tsin #726 - refactor: move more features from
server.tsin #727
Other
- chore: mention Open VSIX in CONTRIBUTING.md in #662
- chore: update extension logo with new Tact logo in #681
- chore: add download badges in #683
- chore: add
yarn test:e2e:coverageto CONTRIBUTING.md in #697 - chore: specify authors and license for source code files in #708
- chore: add more features to README.md in #731
- chore: describe more features in README.md in #745
v0.7.1
Added
- feat(inspection): add inspection for misspelled
initOfandcodeOfin #627 - feat(vscode-package): improve VS Code packaging in #634
- feat(asm): use the latest TVM specification with fixes in #646
- feat(stubs): use stdlib stubs.tact if present with fallback to LS stubs.tact in #647
Fixes
- fix(grammar): support continuation names as method ID variables by @novusnota in #595
- fix(signature-help): more accurate signature info target selection in #624
- fix(inspections): don't warn to override/abstract/virtual methods in
CanBeStandaloneFunctioninspection in #625 - fix(completion): add contract types to a completion list as well in #626
- fix(documentation): fix TL-B type for the optional struct / message field in #628
- fix(rename): support rename when the whole name is selected in #629
- fix(resolving): search
BaseTraitonly in stdlib in #630 - fix(inspections): don't send inspections again if compiler or misti didn't find any issues in #631
- fix(tlb): fix TL-B for fields with "as remaining" in #640
- fix(vscode): fix .boc file focus issue in #648
- fix(rename): fix rename of variable in a short struct instance in #649
- fix(inlay-hints/documentation): don't show size if it may be incorrect in #650
- fix: don't run inspections and inlay-hints before full initialization in #651
- fix: take into account an import tree, make "NotImportedSymbolInspection" warning and improved overall performance in #652
Other
- fix: set "@textlint/markdown-to-ast": "14.4.2" in #635
- feat(ci): run unit tests on CI in #645
- feat(dev-docs): add CONTRIBUTING.md in #641
- chore: enforce interface/type fields immutability in #623
- chore: pack LS as NPM package in #654
- chore: add installation via NPM section in #655
- chore: mention LLMs documentation files in README-extension.md in #642
- chore: backport formatter fixes in #644
v0.7.0
This release adds support for Tact 1.6.7 and fixes path issues on Windows.
Improvements
- feat(inspection): don't show "unused" hints for identifiers starting with
_by @novusnota in #604 - feat: support
Message.opcode()method in #606 - feat: support map literals in #605
Fixes
- fix(formatter): trailing comments after the last struct field by @novusnota in #602
- fix: fix path resolution for paths with special characters like @ or > in #609
- chore(syntaxes): sync Tact grammar with upstream by @novusnota in #560
- chore: port formatter changes from Tact (map literals and augmented assign) in #607
- chore: clarify in the description that this is an official extension in #608
Other
- refactor: use
message opcodeinstead ofmessage IDin #610
v0.6.0
Improvements
- feat: show hint with message ID inside message declaration in #547
- feat(inspections): add ImplicitMessageId inspection in #550
- feat(inlay-hints): add inlay hint for binary receivers in #551
- feat(inspection): add rewrite inspections for
self.forward,self.reply, andself.notifyin #555 - feat(documentation): expand small functions (<= 2 lines) in hover documentation in #556
- feat(vscode): support TASM language with highlighting in #557
- feat(documentation): re-organize struct and message struct hover info by @novusnota in #568
- feat(documentation): enable semantic tokens and better hover doc highlighting for sublime text by @novusnota in #580
Fixes
- fix(find-usages): correctly determine whether some reference is a reference to target declaration and not another in #548
- fix(documentation): show
lazy_deployment_bitin TL-B for contracts in #549 - fix(inspection): don't require optional type fields in struct instance in #553
- fix(inspections): augmented assignment for non-commutative operations by @anton-trunov in #587
- fix(inlay-hints): do not show evaluation result for incorrect
ascii()usage by @anton-trunov in #591
v0.5.1
v0.5.0
- Formatter in #476
Improvements
- feat(inlay-hints): show evaluation result for
ascii()builtin function in #502 - feat(inlay-hints): setting to disable all inlay-hints at once in #519
- feat(inlay-hints): show evaluation result for
crc32()builtin function in #508 - feat(inspections): add inspection for
a = a + 10with quickfix toa += 10in #507 - feat(inspections): add an inspection for a function that does not use contract state and can be made standalone in #509
- feat(inspections): add an inspection for fallback string receiver with branching for message text in #512
- feat(inspections): add an inspection for implicitly discarded return value of a function call in #514
- feat(documentation): show TL-B definition for structs, messages and contracts in documentation in #521
- feat(documentation): add a setting to disable keyword documentation in #523
- feat(documentation): hover docs for built-in keywords by @novusnota in #493
Fixed
- fix(documentation):
dump()cannot be applied to values ofStringBuildertype by @novusnota in #475 - fix(indexing): fix "URL.parse is not a function" error in #478
- fix(resolving): correctly resolve
sha256withStringargument in #498 - fix(hover): don't process doc comments content in #500
- fix(hover): don't process inline comments of previous declaration as doc comment in #503
- fix(completion): don't add all methods to override completion in #504
- fix(completion): show TL-B type completion in structs, messages and traits in #506
- fix(inspections): better heuristic for unused imports in #501
- fix(inspections):
StructInitializationInspectionnow correctly resolves struct/message declarations in #510 - fix(inlay-hints): don't show type hint for discard variable in #516
v0.4.1
v0.4.0
Improvements
- feat(completion): add completion variants for TL-B types for fields in #455
- feat(resolving): initial implementation of import-based resolving in #445
- feat(resolving): prefer local definition when find definitions in #439
- feat(indexing): improve indexes logic in #443
- feat(definition): prefer project definitions over stdlib one in #441
- feat(inlay-hints): don't show parameter hints for call argument with matching name in #425
- feat(tests): better tests + fixes in #383
- feat(vscode): add problem matcher to highlight errors after build in #437
- feat(vscode): add command to run Misti on a project with installation if not installed in #456
- feat(all): initial support for contract parameters in #374
- feat(stubs): add doc comments for
fromSliceandfromCellfunctions in #420 - feat(documentation): add exit code documentation in #400
- feat(documentation): better documentation for assembly instructions in #459
- feat(foldings): add folding for Fift blocks in #379
- feat(inspections): rewrite
send()withmessage()ordeploy()in #405 - feat(inspections): rewrite
context().senderwithsender()in #404 - feat(inspections): add inspection for Deployable with quickfix in #457
- feat(intentions/inspections): add inspection and quickfix for text receivers in #396
- feat(intentions): support
init(init: Init)pattern in #452
Fixed
- fix(indexing): fix indexing on Windows in #436
- fix(building): fix constructor modifier in #442
- fix(document-symbols): document symbols now return whole range of declaration, not only name in #454
- fix(inlay-hints): don't show size hint for
toCellI()in method chain in #432 - fix(foldings): add missing folding for messages in #428
- fix(manual): fix link to issues in #427
- fix(semantic-tokens): fix highlighting for some keywords in doc comments in #424
- fix(vscode): don't cache disasm for BoC in #422
- fix(signature-help): fix signature help for
initOffor contracts with parameters in #410 - fix(vscode): fix type of command, add selection of expression on a result, fix type of storage parameter in #406
- fix(go-to-references): fix use scope for contract parameters in #401
- fix(tests): fix tests in #382
- fix(completion): fix completion for types of fields in #381
- fix(completion): don't show getter completion for incomplete field in #433
- fix(inspections): run inspections only on Tact files in #378
- fix(inspections): run some inspections only on Tact 1.6 in #458
- fix(documentation): correctly show T? type in #380
- fix(documentation): fix contract parameters in contract documentation in #426
- fix(documentation/inlay-hints): fix size calculation in #377