Skip to content

IntelliJ TON 3.0 Roadmap #233

@i582

Description

@i582

Below are the required features and fixes for version 3.0.

Processes

  • No merge commits, only "squash and merge"
  • No gigantic PR with several features, each feature in separate PR
  • No failed CI in main branch
  • No stale issues
  • Labels for each feature type
  • Kotlin formatter

Overall

  • Check current status of FunC to Tolk conversion
  • Check plugin code, remove all unused code
  • Better plugin description in IDE

Tolk

Inspections

  • Add inspection for reassign val
  • Add inspection for unused imports
  • Add inspection for missed struct instance fields

Completion

  • Add better return completion
  • Add braces with "" for deprecated annotations
  • Add else completion for match #236
  • Add new line on import add #238
  • Add Fill all/required fields in completion inside structure instance
  • Add Fill all match arms in completion inside type-match expression
  • On field completion add : and default value
  • Add onInternalMessage-like completion
  • Add postfix completion
  • Add completion for @stdlib/ files in imports
  • Add "on_bounced_policy" annotation to completion
  • Add lazy keyword completion #235
  • Snippets completion for keywords (while, match, assert, etc.)
  • Do not add completion option for already processed match cases
  • Don't suggest all annotations for structs/functions

Inlay hints

  • Add type hint for constants
  • Add method id as inlay hint for get
  • Add inline description for exit code

Parameter hints

Documentation

  • Add overall documentation
  • Add annotations hover documentation
  • Add rendered view for documentation

Go to definition

  • Support go to definition for [foo] in doc comments

Marketplace

  • Add new images on marketplace page

Rename

  • Forbid renaming symbols from stdlib
  • Wrap in backticks on rename if needed (non-identifier symbols)

Refactoring

  • Add "extract variable" refactoring

Intention

Other

  • Add primitive types to builtin.tolk with documentation
  • IDE exception on go to references for stdlib function
  • Fix return type inference for function with single throw
  • No find references for T in fun T.toCell(self, options: PackOptions = {}): Cell<T>
  • Highlight file paths in sandbox output
  • Fix code snippet in Color Scheme > Tolk
  • Fix assembly support (completion, highlighting, documentation) #239
  • Add global search for symbols via shift+shift -> Symbols tab
  • Overall stability, find out why there are reports of instability after certain actions

FunC

  • Add higlighting for function calls
  • As a last resort, try resolving symbols in all files in the directory (and add an inspection with file import quickfix), see 01_jetton contract in tolk-bench
  • Add hover documentation for parameters and variables
  • Add page to Color Scheme with color settings
  • Add different colors for local variables and parameters by default
  • Don't show parameter hint for parameters named with one letter
  • Hover documentation for TVM instructions
  • Add foldings for multiline comments
  • Show implementation for single line assembly functions
  • Auto add ; for return completion
  • Add structure view
  • Add breadcrumbs
  • Add global search for symbols via shift+shift -> Symbols tab
  • Add method id as inlay hint for method_id

TL-B

  • Show more indormation when go-to definition for type with several implementations
  • Add completion for types
  • Add hover documentation for types
  • Add hover documentation for builtin types
  • Better field default color
  • Add structure view
  • Add beadcrumbs
  • Add inline hint with implicit contructor tag

Fift assembly

  • Better highlighting for fift-assembly
  • Go-to definition for functions/globals
  • Hover documentation for instructions
  • Inline gas consumption
  • Instructions completion
  • Add structure view
  • Add beadcrumbs

BoC

  • Add view with decompiled code
  • Add view with Cell tree representation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions