PowerBASIC Language Support
PowerBASIC language support for Visual Studio Code, created and maintained by Francisco Jose Castanedo Jordan.
Version 0.6.4 is the first package prepared for public distribution. It is based on the fully tested 0.5.3 implementation.
Features
- Syntax highlighting for
.bas, .inc, .bi, .pb, and .pbi files
- Automatic uppercase conversion for recognised PowerBASIC commands, functions, directives, types, and reserved words
- Preservation of strings, apostrophe comments, and
REM comment text during formatting
- Document formatting and the PowerBASIC: Uppercase Keywords command
- Snippets for PBWin, PBCC, DDT, Unicode, procedures, callbacks, types, and compiler declarations
- Integrated build and build-and-run commands
- Support for custom
#COMPILE EXE, DLL, and SLL output names
- Persistent integrated-terminal execution for PBCC console applications
- No telemetry and no network communication
Compiler profiles
| Profile |
Status |
Build-and-run behaviour |
| PBWin 9.05 |
Tested |
Runs the generated Windows application |
| PBWin 10.04 |
Tested |
Runs the generated Windows application |
| PBCC 5 |
Tested |
Runs in a persistent VS Code terminal |
| PBCC 6 / 6.04 |
Prepared, not yet compiler-tested |
Runs in a persistent VS Code terminal |
The tested profiles were validated on Windows 11 24H2 LTSC 64-bit.
PowerBASIC compilers are commercial products and are not included. Users must lawfully obtain and install their own compiler.
Installation
Visual Studio Marketplace
After publication, search for PowerBASIC Language Support in the VS Code Extensions view and select Install.
Permanent extension identifier:
francisco-jose-castanedo-jordan.powerbasic-language-support
Install from VSIX
- Open VS Code.
- Open Extensions with
Ctrl+Shift+X.
- Select the
... menu.
- Choose Install from VSIX....
- Select the downloaded
.vsix file.
Important for users of private test builds
Versions 0.1.0 through 0.5.3 used the private publisher identifier francisco-castanedo-private. Version 0.6.4 uses the permanent public publisher identifier francisco-jose-castanedo-jordan, so VS Code treats it as a different extension.
Uninstall the earlier private build before installing 0.6.4 to avoid duplicate language and command registrations.
Configuration
Open VS Code Settings and search for PowerBASIC, or add the appropriate paths to settings.json:
{
"powerbasic.pbwin9Path": "C:\\PBWin90\\BIN\\PBWIN.EXE",
"powerbasic.pbwin10Path": "C:\\PBWin10\\BIN\\PBWIN.EXE",
"powerbasic.pbcc5Path": "C:\\PBCC50\\BIN\\PBCC.EXE",
"powerbasic.pbcc6Path": "C:\\PBCC60\\BIN\\PBCC.EXE",
"powerbasic.defaultCompilerProfile": "pbwin10"
}
The available default profile values are:
pbwin9
pbwin10
pbcc5
pbcc6
The PBCC 6 profile may remain configured even when the compiler is unavailable. Its language data and snippets still work; build commands will explain which compiler-path setting requires attention.
Commands
Open the Command Palette with Ctrl+Shift+P and enter PowerBASIC.
- PowerBASIC: Uppercase Keywords
- PowerBASIC: Build Active File
- PowerBASIC: Build and Run Active File
- PowerBASIC: Build Active File with PBWin 9.05
- PowerBASIC: Build and Run Active File with PBWin 9.05
- PowerBASIC: Build Active File with PBWin 10.04
- PowerBASIC: Build and Run Active File with PBWin 10.04
- PowerBASIC: Build Active File with PBCC 5
- PowerBASIC: Build and Run Active File with PBCC 5
- PowerBASIC: Build Active File with PBCC 6 [Untested]
- PowerBASIC: Build and Run Active File with PBCC 6 [Untested]
With the default settings, this source:
function pbmain
msgbox "Hello"
end function
becomes:
FUNCTION PBMAIN
MSGBOX "Hello"
END FUNCTION
Strings and comments are left unchanged.
Formatting can be controlled with:
{
"powerbasic.keywordCase": "upper",
"powerbasic.uppercaseOnType": true,
"powerbasic.uppercaseOnSave": true
}
Set powerbasic.keywordCase to off to disable automatic keyword casing.
Privacy and security
This extension:
- does not collect telemetry;
- does not send source code or other information over the network;
- executes only the compiler path selected in VS Code Settings;
- runs a generated program only when the user explicitly chooses a Build-and-Run command.
Because build and run commands execute local programs, the extension is disabled in untrusted workspaces.
Current limitations
- Windows compiler integration only
- No PowerBASIC compiler or runtime is included
- No IntelliSense, semantic analysis, symbol navigation, or integrated debugger
- PBCC 6 support is prepared from available reference material but awaits validation with a legitimate compiler
- The preliminary compiler-log problem matcher may not recognise every possible PowerBASIC diagnostic format
Reference basis
Keyword and syntax data were derived from legally held PowerBASIC manuals and help indexes. The extension contains generated language data only. It does not redistribute manuals, proprietary help prose, compiler binaries, serial numbers, licence keys, or other PowerBASIC software.
Historical PBWin 8 and PBCC 4 language material remains in the broad keyword corpus to improve recognition of older source code, but those compilers are not exposed as build profiles.
Support and contributions
Licence
This extension is released under the MIT Licence.
Trademark notice
PowerBASIC, PBWin, and PBCC are used only to identify compatibility with the corresponding language and compiler products. This independent extension is not affiliated with, sponsored by, or endorsed by PowerBASIC Tools, LLC or any successor rights holder.