twinBASIC Update: May 8, 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

Export/Import in New IDE to Support Version Control

Wayne added several features to the new IDE to support version control.

It's not quite fully integrated yet–at least not to the point where Git will work directly with the .twinproj virtual file system–but the new features should make working with version control even easier than it was with the VSCode extension.

With the new features, you can set up a twinBASIC project to export to version control-friendly text files every time you save the project.  

Additionally, there is an "Import from folder..." command that will let you import a project that was previously exported to source (for example, when working on a new device or in a team environment).

Read the announcement from Wayne for all the details.

Change IDE Font Size

You can now set the font size for code windows in the IDE via Tools > IDE Options... > Font Size:

Toggle Sort Order of the Debug Console

You can now toggle the sort order of the Debug Console using the "Invert Output Direction" command available from the ellipsis menu in the upper-right corner of the Debug Console pane:

Around the Web

Try/Finally Support in twinBASIC?

Ben Clothier opened a discussion on this topic over on Github:

Is your feature request related to a problem? Please describe.
twinBASIC provides Return which allow us to leave the function immediately. However, there is no way to guarantee proper clean up. In other languages, this is usually managed with a Try/Finally block. I know that it is planned to integrate vbWatchDog which does provide both ErrEx.Catch and ErrEx.Finally but no Try keyword.
Describe the solution you'd like
At a minimum, implement the equivalent of Finally or ErrEx.Finally to make it easy to define a block of code that must be run no matter what.

The ensuing back-and-forth raised some interesting points.

RAD Basic Releases Third Alpha

RAD Basic – the Visual Basic 7 that never was – releases third alpha: Spend your weekend wallowing in the good old days, by Richard Speed at The Register

Changelog

Here are the updates from the past week.  You can also find this information by visiting the GitHub twinBASIC IDE issues page.

twinBASIC IDE -- BETA RELEASE · Issue #772 · WaynePhillipsEA/twinbasic
As discussed in #763, I've been busy working for the last few weeks on a new IDE, specifically designed for the twinBASIC compiler. Here are the details for installing the current BETA release ...

NOTE: Development of the twinBASIC VSCode extension is paused until 2023 so that efforts can be focused on the new IDE.  

BETA 31

BETA 31 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_BETA_31.zip

  • fixed: regression in BETA 30 that allowed the special root files and folders (e.g. Settings file) to be deleted
  • improved: 'Export Path' setting now accepts placeholders such as "${SourcePath}\${ProjectName}"

BETA 30

BETA 30 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_BETA_30.zip

BETA 29

BETA 29 is now available:
https://www.twinbasic.com/downloads/twinBASIC_IDE_BETA_29.zip