twinBASIC Update: April 3, 2022

Highlights include the release of the new IDE and an announcement about twinBASIC's role at the upcoming Access DevCon Vienna conference.

twinBASIC Update: April 3, 2022

On April 23, 2021, I helped Wayne Phillips introduce the world to twinBASIC at the Access DevCon Vienna conference.  I boldly predicted that twinBASIC (along with the Monaco editor) would replace VBA and its outdated development environment by 2025.  With that goal in mind, this weekly update is my attempt to keep the project fresh in the minds of the VBA development community.

Every Sunday, I will be providing updates on the status of the project, linking to new articles discussing twinBASIC, and generally trying to increase engagement with the project.  If you come across items that should be included here, tweet me @NoLongerSet or email me at mike at nolongerset dot com.

Here are some links to get involved with the project:


Highlights

twinBASIC IDE Released!!!

The new twinBASIC IDE (built with twinBASIC!) arrived on Thursday, March 31, 2022.

The bug fixes have been coming fast and furious since then, as the IDE is already on its fifth beta (see full IDE changelog below).

I've only spent a few minutes with the IDE, but I'm impressed with how well it works for such an early release.  Keep in mind, the IDE has only been under development for about a month and a half.  The fact that it works well enough to be released at all tells me three things:

  • The Monaco editor is a great foundation to build on
  • Wayne's productivity is off-the-charts
  • twinBASIC is living up to VBx's Rapid Application Development (RAD) roots

As both a dedicated twinBASIC development environment and a proof-of-concept application, the new IDE bodes well for the future of twinBASIC.

Installation instructions

For your convenience, I'm reproducing Wayne's installation instructions here:

Here are the details for installing the current BETA release of the IDE:

First, if you're NOT using Windows 11, you might need to install the WebView2 Runtime from Microsoft.  Some products, like Office 365 now pre-install WebView2 for you, so you might not need this step. Here is a link for the official WebView2 runtime:
https://tinyurl.com/twinbasicwebview2runtime

Here is the BETA 5 release of the twinBASIC IDE:
https://www.twinbasic.com/downloads/twinBASIC_IDE_0.15.5.zip

Extract the ZIP file somewhere, and then run the twinBASIC.exe from the root folder to launch the IDE.

As I said above, bug fixes are coming quickly, so be sure to check the twinBASIC IDE – BETA RELEASE GitHub page for the latest beta release.  Scroll down to the end and then look backwards from there for the link to the latest BETA zip package.

As of writing, the current version of the IDE is BETA 5.  Chances are, though, that by the time you read this there will be a newer update.  There's no auto-update feature built-in yet, so you will need to head back to the GitHub page periodically to check for updates.  I will also be posting a summary of weekly changes in my Sunday twinBASIC Update articles.

Reporting issues

As the IDE is still in a very early beta state, there are sure to be issues.  

Wayne has asked that any issues related to the new IDE itself get reported to the twinBASIC IDE – BETA RELEASE GitHub issue, rather than as standalone issues.  Non-IDE bugs should still be posted as new issues for tracking purposes:

For IDE issues (like the Please Wait splash screen), please post here for now.  For other issues, like GUI issues they would be better as individual GitHub issues.

Around the Web

twinBASIC Gets an Upgrade at DevCon Vienna

My 15-minute twinBASIC progress update scheduled for Access DevCon Vienna later this month has been upgraded to a full 50-minute presentation.

I'm working on the official announcement text (I swear, Karl!), but the emphasis this year will be on practical ways that Access developers can start using twinBASIC right now.  Along those lines, if you have anything in particular you would like me to cover at the conference, please let me know in the comments below.

If you are interested in the twinBASIC project, I encourage you to register for the event and join me at the end of this month.  The DevCon sessions are not normally available to non-conference attendees (last year's presentation was an exception), so be sure to sign up.

Changelog

Here are the updates from the past week.  You can also find this information by installing the twinBASIC VS Code extension and clicking on the Changelog tab of the extension page:

Nothing in the VSCode change log this week.  

The VS Code twinBASIC extension is currently running v0.14.36 of the twinBASIC compiler.  Compiler updates will start getting pushed to the VS Code extension sometime in the next 1 - 2 weeks, according to Wayne.

In the meantime, I'm going to list the changes to the IDE beta releases as detailed in GitHub.

BETA 5

BETA 5 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_0.15.5.zip

BETA 4

BETA 4 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_0.15.4.zip

  • fixed: close button not at the very right edge of the window [jpbro]
  • fixed: click again on a top-level menu should cancel it [jpbro]
  • fixed: escape should cancel menus [jpbro]
  • fixed: form designer context-menus not at expected position [aliensoftGB]
  • fixed: switch between form/code not working [aliensoftGB]
  • added property TextBox._Default [DefaultMember] [wopag]
  • added property HScrollBar._Default [DefaultMember]
  • added property VScrollBar._Default [DefaultMember]
  • added property Timer._Default [DefaultMember]
  • added property OptionButton._Default [DefaultMember]
  • added property ListBox._Default [DefaultMember]
  • added property Label._Default [DefaultMember]
  • added property ComboBox._Default [DefaultMember]
  • added property CheckBox._Default [DefaultMember]
  • 'Standard EXE' is now the first and default entry in the initial project-selector dialog
  • modal dialogs will now reposition upon IDE window resize, and will scale smaller if content won't fit
  • fixed: StrComp handling of empty strings now matches VBx [ https://github.com/StrComp fails on zero length strings #767 ]
  • changed: rearranged the toolbar icons, in preparation of becoming context-aware

BETA 3

BETA 3 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_0.15.3.zip

  • improved: IDE minimize/maximize/restore and window sizing/positioning is now allowed (some known resizing issues remain)
  • fixed: double clicking on a form design was not opening the default event [VBF:SearchingDataOnly]
  • improved: default names of newly added controls now match VBx [VBF:SearchingDataOnly]
  • improved: added tooltips to the toolbar icons
  • fixed: Ln/Col status bar text no longer visible if the code editor is not visible
  • added: FormBorderStyleConstants.vbSizableNoTitleBar enumeration (now used by the IDE)

BETA 2

BETA 2 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_0.15.2.zip

  • improved: all panels are now resizable, and their states are restored when the IDE is reloaded
  • improved: some minor theme tweaks
  • improved: escape key will now cancel editing a variable value in the VARIABLES panel
  • improved: after importing from a VBP file, the IMPORT_LOG.txt file is now opened automatically
  • fixed: importing a VBP file would show duplicate entries in the PROJECT EXPLORER
  • fixed: DEBUG CONSOLE auto-scrolling sometimes got out-of-sync
  • improved: debugging experience, with less code-editor flickering
  • fixed: DEBUG CONSOLE not being able to access local variables from the debugged callframe
  • fixed: compiler bug involving non-ANSI UDTs being passed ByVal to As Any arguments [FullValueRider]
  • added: 'Ask before delete files' IDE option (default: true)

BETA 1

Here is the BETA 1 release of the twinBASIC IDE:
https://twinbasic.com/downloads/twinBASIC_IDE_0.15.1.zip

Extract the ZIP file somewhere, and then run the twinBASIC.exe from the root folder to launch the IDE.

Some of the current known issues:

  • if the WebView2 runtime is not available, the twinBASIC executable does nothing, and currently does not report an error
  • closing the IDE with dirty editors will NOT warn you, and you WILL lose any unsaved changes
  • currently the IDE window opens in maximized mode and can't be un-maximized
  • moving and resizing of panels is currently disabled
  • DEBUG CONSOLE and WATCH expressions are not always working when reading variables from the active debugging callstack
  • IDE doesn't yet allow entering your tB licence key
  • the three code editor drop-down lists are not yet populated
  • rename refactoring is currently broken across multiple files
  • CONDITIONAL breakpoints not yet supported (normal breakpoints are)
  • the OUTLINE panel doesn't have any icons
  • no TEST EXPLORER yet
  • no BREAKPOINT EXPLORER yet
  • lots of keyboard shortcuts are currently missing
  • package publisher tools not yet available
  • DEBUG CONSOLE intellisense not yet implemented

All original code samples by Mike Wolfe are licensed under CC BY 4.0