Skip to content

bluehands/IntelliJ-VB6-language-support

Repository files navigation

Visual Basic 6.0 Language Support

Build Version Downloads

The classic Visual Basic 6.0 IDE is no longer supported as of April 8, 2008 (Support Statement). Nevertheless, there is still source code that needs to be maintained and developed. For this reason we have decided to design a plugin for the development of VB6 source code for the IntelliJ platform. Our goal is to implement all the features that the Visual Basic 6.0 IDE Editor already supports including some modern features like e.g. rename refactoring and semantic error highlighting (not yet supported).

So far the following functions are supported:

  • Syntax highlighting (including basic syntax error highlighting)
  • Navigation
  • Rename refactoring
  • Code completion (based on the code base only)
  • Quick documentation
  • Basic formatting

Not yet supported:

  • Semantic errors/flaws highlighting (including quick fixes)
  • Active project view
  • Find usages
  • Completion based on external code (including runtime)
  • Editing forms
  • Documentation preview
  • Extended formatting
  • Enhanced syntactic error highlighting
  • Type inference of expressions
  • Structure view
  • Commenter
  • Parameter info
  • Folding
  • Surround with
  • Keyword completion
  • Inlay hints

Installation

  • Manually:

    Download the latest release and install it manually using Settings/Preferences > Plugins > ⚙️ > Install plugin from disk...

Usage

To use go to Tools > Visual Basic 6.0 > Attach Visual Basic 6.0 Project and select a VB6 project file (.vbp). Then open a class or module file and start developing. The Visual Basic 6.0 project will stay attached after closing the IDE.

To detach a project go to Tools > Visual Basic 6.0 > Detach Visual Basic 6.0 Projects and select the project to detach.

NOTE: the plugin is still under heavy development

Technical details

The plugin uses an ANTLRv4-Lexer and ANTLRv4-Parser to analyze the Visual Basic 6.0 source code. The grammar which is used is derived from the community developed grammar found here: vba grammar.

To support the use of ANTLRv4 grammars for custom languages the antlr4-intellij-adaptor is used to create the AST (it's a syntax tree without abstractions, but they call it AST).

References are resolved by traversing the PSI bottom-up using visitors. The global scope is defined by the workspace service that contains all the loaded projects.

Limitations

Yes.


Plugin based on the IntelliJ Platform Plugin Template.

About

Visual Basic 6.0 Language Support for the IntelliJ platform

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published