twinBASIC Update: April 16, 2022

Highlights include multiple debug console performance improvements and a workaround for antivirus software flagging twinBASIC as potential malware.

twinBASIC Update: April 16, 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:

NOTE: The twinBASIC weekly update is coming a day early this week due to the Easter holiday.


Debug Console Performance Improvements

Four releases (BETAs 14, 15, 16, and 17) introduced performance improvements to the Debug Console (for example, when calling Debug.Print from inside a long-running loop).  

Based on user feedback, the improvements were both needed and successful:

"it was worth the wait, super fast display in the console for 2 million incremented values..."  -camomille22003
"(Beta 17 debug console)
Works very good now, thank you!"  -KarlSevenSeven

Around the Web

AntiVirus False Positives for twinBASIC

Several users reported false positives from antivirus software based on the AV's behavior-based, machine-learning algorithms.  Wayne made some changes to try to avoid triggering the antivirus software's algorithms (see BETA 18).

Ultimately, though, it seemed like the most reliable workaround was to whitelist the twinBASIC.exe executable within the antivirus software (the actual process for doing this will vary based on AV vendor).

"I agree with @EduardoVB, the AV false positive are random. Almost every time I downloaded an update the file ended up in quarantine (before v16 or v17.) Got peace only after I whitelisted twinBASIC.exe."  -Mo-Lo


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 "next week (and then kept in-sync with the compiler updates once again)."

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


BETA 20 is now available:


BETA 19 is now available:

  • fixed: after compiler restart, treeview selected node caches were not being refreshed
  • fixed: resolver errors in constant expressions could cause compiler crash in some instances [ Compiler requests a bug report #793 ]


Let's test it. Here's BETA 18, without the unneeded TestPostWebMessage routine:


BETA 17 is now available:

  • improved: further significant performance improvements to the Debug Console

That's me done on the debug console performance for now. There is a further opportunity for improvement, but it will require a webworker thread, so it can wait for now.

Oops, I lied :) Now, I'm done.


BETA 16 is now available:

  • improved: further improvements to Debug Console performance

That's me done on the debug console performance for now. There is a further opportunity for improvement, but it will require a webworker thread, so it can wait for now.


BETA 15 is now available:

  • fixed: IDE would become sluggish after a significant amount of debug console entries. Debug Console now truncated to last 1000 entries
  • improved: official Window title now synced to the project filename


BETA 14 is now available:

  • improved: much faster Debug Console printing speed


BETA 13 is now available:

  • improved: code-editor comboboxes are now implemented


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