twinBASIC Update: July 11, 2021

Highlights include a sneak peek at the yet-to-be-released form editor, a teaser about possible control inheritance, and a future option for version control.

twinBASIC Update: July 11, 2021

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.


The big news out of twinBASIC this week is that Wayne has started work on the form designer:

Around the Web

Control inheritance?

Wayne hinted at the possibility of supporting custom controls via inheritance over at the twinBASIC GitHub discussion page:

I think a really neat way of accomplishing this is to allow for control inheritance.  So instead of adding a standard 'CommandButton' to your form, you'd add MikesCommandButton, which has the default values customized to your pleasing, in the constructor of MikesCommandButton.

VB6 kind of allows for this via ActiveX UserControls, but the above solution would even support our cross-platform forms.

Ben Clothier jumped up on his soapbox (his words) with a great summary of the two fundamental approaches to form design, along with the pros and cons of each:

  • Absolute positioning: (e.g., VBx, MS Access, WinForms)
  • Flowing markup: (e.g., HTML, XAML, WPF)

Future version control options

I wrote an article recently on the best way to put your twinBASIC projects under version control today using the recently added import and export commands.

In the future, twinBASIC will support Git integration inside of VS Code.

However, there will also be a third possibility.  When twinBASIC adds full support for external files, you will be able to use version control almost the same way as you do with VB.Net or C#.  Here's the relevant comment from Wayne Phillips:

The twinproj format does allow us to optionally support external files;  we just haven't done some of the additional work in this area to enable it.  See #62

Once external files are supported, the twinproj file can basically be used like a traditional project file (like vbp) OR a full all-in-one solution.  The choice will be yours.

I'm feeling better about the twinBASIC version control situation every day!


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:

No public releases this week, but the form designer is underway!

Referenced articles

How to Use Version Control with twinBASIC
You can now extract the embedded text files from .twinproj containers for use in version control. I wrote a batch file to make the process even easier.

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