twinBASIC Update: August 8, 2021
Highlights include a revamped references list UX, a 100%-twinBASIC-compatible Printers object replacement, and news on unit testing and documentation.
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.
Highlights
Improvements to the Reference List User Experience
The References list in Project Settings is now split into two separate windows. In addition to the changed user interface, it's also now possible to import type libraries from the file system via the [Import from file...] button.
Around the Web
VS Code now offers an integrated testing API
This was a prerequisite for first-class testing support in twinBASIC. Now that Visual Studio Code offers an integrated testing API, Wayne can hook into this feature to provide a testing framework for twinBASIC.
If you're interested in Unit Testing support in twinBASIC, subscribe to the associated twinBASIC GitHub issue.
BSPrinter OCX Compatible with twinBASIC
Frequent contributor to the twinBASIC GitHub issues page, EduardoVB, recently updated his VB6 Printer object replacement component, BSPrinter. According to EduardoVB:
[The BSPrinter OCX] provides full printing support for twinBASIC with 100% backward compatibility.
For sample code and further information, see here.
Calling all technical documentation authors
If you have the time and inclination to help build the product documentation for twinBASIC, check out the Documentation discussion.
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:
[v0.10.3988, 7th August 2021]
- fixed: filtered out type libraries in the references list that have the LIBFLAG_FHIDDEN flag set [ https://github.com/WaynePhillipsEA/twinbasic/issues/89 ]
[v0.10.3985, 7th August 2021]
- fixed: missing line labels not escalating to proper compilation errors [ https://github.com/WaynePhillipsEA/twinbasic/issues/332 ]
- fixed: rename symbol refactoring was failing in some cases with involving ByVal references [ https://github.com/WaynePhillipsEA/twinbasic/issues/330 ]
[v0.10.3965, 6th August 2021]
- fixed: VS Code AutoSave feature would interfere with the twinBASIC pretiffier [ https://github.com/WaynePhillipsEA/twinbasic/issues/333 ]
[v0.10.3962, 6th August 2021]
- improved: LSP intellisense query performance, further improvements [ https://github.com/WaynePhillipsEA/twinbasic/issues/55#issuecomment-893380541 ]
[v0.10.3950, 6th August 2021]
- improved: LSP intellisense query performance [ https://github.com/WaynePhillipsEA/twinbasic/issues/55#issuecomment-893380541 ]
[v0.10.3920, 6th August 2021]
- fixed: predeclared / As-New types instantiation ordering bug [ https://github.com/WaynePhillipsEA/twinbasic/issues/329 ]
- improved: single entry in the 'Enabled COM references' list caused UI text vertical alignment issue
- improved: references list 'Import from file' now reports more detail when errors occur upon importing the file [ https://github.com/WaynePhillipsEA/twinbasic/issues/55#issuecomment-893296610 ]
[v0.10.3900, 4th August 2021]
- fixed: line seperator now accepted and understood as a single-line IF, when immediately after 'Then', e.g. "If False Then:" [ https://github.com/WaynePhillipsEA/twinbasic/issues/319 ]
- improved: parser recovery after unterminated block [ https://github.com/WaynePhillipsEA/twinbasic/issues/319 ]
- fixed: tB now prevents calling of a New() constructor procedure directly [ https://github.com/WaynePhillipsEA/twinbasic/issues/327 ]
[v0.10.3881, 2nd August 2021]
- improved: revamped the project settings References list [ https://github.com/WaynePhillipsEA/twinbasic/issues/55 ]
- improved: 'Import from file' button underneath the references list now works for directly importing TLB, OCX, DLL type libraries [ https://github.com/WaynePhillipsEA/twinbasic/issues/55 ]
- fixed: creating a blank CLS file manually would result in an error in VS Code [ https://github.com/WaynePhillipsEA/twinbasic/issues/317 ]
- fixed: (regression) DispId attribute didn't allow negative DispIds [ https://github.com/WaynePhillipsEA/twinbasic/issues/318 ]
- fixed: some intellisense encoding issues in outputting TypeInfo description to JSON for LSP [ https://github.com/WaynePhillipsEA/twinbasic/issues/324 ]