> ## Content Index
> Fetch the complete content index at: https://nolongerset.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Docstrings in twinBASIC
- URL: https://nolongerset.com/annotations-in-twinbasic/
- Published: 2021-04-14T03:45:00.000Z
- Updated: 2026-05-08T13:05:21.000Z
- Description: twinBASIC takes a page out of the RubberduckVBA book, using code comment "annotations" to generate real-time, IntelliSense-integrated documentation.
- Author: Mike Wolfe
- Tags: twinBASIC, #Import 2026-05-20 02:59

*To learn more about [twinBASIC](https://www.twinbasic.com/), join me at this year's virtual [Access DevCon](https://nolongerset.com/join-me-at-access-devcon-2021/) where I will be presenting this exciting new project from vbWatchdog creator, Wayne Phillips.*

### Rubberduck-like annotation syntax

Fans of the [Rubberduck VBA project](https://rubberduckvba.com/) will be happy to hear that at least some of the [annotation syntax](https://rubberduckvba.wordpress.com/2017/03/05/annotations-the-underducks/) from that project is built in to twinBASIC.

Here's a sample of the [@Description annotation](https://rubberduckvba.com/Annotations/Details/Description) in use in twinBASIC:

![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/04/2021-04-13-23_20_48-mjw20---NewProject---TWINBASIC.png)

Rubberduck annotations work in twinBASIC!

### Other annotations

Some annotations, like [@Folder](https://rubberduckvba.com/Annotations/Details/Folder), are unnecessary in twinBASIC. 

Others, like [@VariableDescription](https://rubberduckvba.com/Annotations/Details/VariableDescription), can't be tested yet because they depend on features not available in the [twinBASIC preview](https://www.twinbasic.com/preview.html) (such as module-level and global variables). 

Yet others, like [@ModuleDescription](https://rubberduckvba.com/Annotations/Details/ModuleDescription), I simply wasn't able to get working in twinBASIC (I don't know if that's on me or if it's not supported). ***UPDATE (4/14/21):*** *There's no need for a standalone @ModuleDescription annotation in twinBASIC. The @Description annotation can be written above the `Class Xxxx` or `Module Xxxx` lines to provide inline documentation that applies to the respective class or module:*

![](https://storage.ghost.io/c/eb/d7/ebd732c1-5f03-4f07-b386-5d08557e15c9/content/images/2021/04/image-59.png)

There's no need for the @ModuleDescription syntax in twinBASIC. Just use @Description for classes and modules.

Finally, there are a handful of annotations–like [@DefaultMember](https://rubberduckvba.com/Annotations/Details/DefaultMember) and [@EnumeratorMember](https://rubberduckvba.com/Annotations/Details/EnumeratorMember)–that make it easier to manage hidden attributes that are not directly accessible from the VBA editor. I'm not sure how twinBASIC plans to handle those attributes.

---

***UPDATE (4/14/21):*** *Show proper usage for class- and module-level docstrings.*