Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>BlitzMaxNew to Visual Studio Code? Get it now.
BlitzMax

BlitzMax

Hezkore

|
3,567 installs
| (2) | Free
BlitzMax for Visual Studio Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

BlitzMax for Visual Studio Code

Version Installs Rating Discord Chat

Welcome to the BlitzMax extension for Visual Studio Code!
If you are new to BlitzMax or VS Code, make sure you read how to get started.

This extension provides the following features inside VS Code for BlitzMax source files:

  • Built-in documentation, examples and help
  • Language Server Protocol
  • Easy quick build buttons
  • Syntax highlighting
  • Build options view
  • Problem matcher
  • Formatting *
  • Debugging
  • Snippets

BlitzMax NG 1.00 and newer ships with its own language server, so error checking, auto-complete, outline, go to definition and rename work straight away with nothing to install and nothing to set up.

You can discuss this extension on Discord: Discord Chat
We hang out in the #vscode-extension channel!

Get started writing BlitzMax code in VS Code


  • Step by step guide - A guide to installing and compiling your first application.
  • Extension FAQ - Make sure you read this first.
  • BlitzMax NG - Everything you need to start using BlitzMax NG.
  • VS Code Introduction - Videos on how to get started with VS Code.
  • Basics Editing - Learn about highly productive source code editing.
  • Debugging - All you need to know about debugging.
  • Tasks - Get things done quicker with tasks.
  • Guide to tasks - A guide to using tasks specifically with BlitzMax NG.

Changelog


See CHANGELOG.

Note about using the Language Server Protocol


A language server is a separate program that reads your project and your code, and tells the editor what it found.
Error checking, auto-complete, the outline, go to definition, rename and hover documentation all come from it.

BlitzMax NG 1.00 and newer ships with one, so a recent release is all you need.

It is called bls and it sits in the bin folder of your BlitzMax NG install, next to bcc and bmk, which is exactly where the extension looks.
If you moved it somewhere else, point blitzmax.lsp.path at it.

bls shares its parser and its model of the language with the compiler, so what it tells you is what a build would tell you.
It also works on a project that has never been built, and on edits you have not saved yet.

You get:

  • Errors and warnings straight from the compiler, shown as you work
  • Outline, breadcrumbs, folding and Go to Symbol in Workspace
  • Auto-complete offering only what your program can actually reach
  • Go to definition, go to type, find all references, and rename across the whole project
  • Type hierarchy, so you can walk up and down from any type
  • Hover documentation, signature help and inline hints
  • Colouring by what a name really is, so a type and a local no longer look alike
  • Quick fixes on the problems it reports

Any other server will work too, as long as it speaks LSP.
Point blitzmax.lsp.path at it and put anything it needs on the command line in blitzmax.lsp.args.

The server reads your project the way a build would, so it needs to know which build you mean.
blitzmax.lsp.buildMode picks debug or release, blitzmax.lsp.targetPlatform and blitzmax.lsp.targetArchitecture pick the target, and leaving those two empty means the machine you are sitting at.
The rest of the blitzmax.lsp settings are described in the settings editor.

If different workspace folders use different BlitzMax SDKs, enable blitzmax.lsp.multi. Each folder can then override blitzmax.base.path and blitzmax.lsp.path in its own .vscode/settings.json; folders without overrides continue to use your user-level defaults.

Useful LSP links for server developers:
VS Code specific information
Official LSP specifications

Note about using formatting


Formatting is not part of the language server, so this one still needs a separate program.

The extension looks for a formatter called bfm in the bin folder of your BlitzMax NG install, next to bls.
If yours has a different name or lives somewhere else, point blitzmax.formatter.path at it.
The extension will offer to help the first time you format without one.

FAQ


  • Q. What languages are supported?

    • A. Only BlitzMax NG is officially supported.
      You can enable the 'Legacy Mode' build option for basic BlitzMax Vanilla/Legacy build support.
      (I highly recommend you upgrade to BlitzMax NG)
  • Q. Why is the outlines view and breadcrumbs not working?

    • A. These come from the language server.
      BlitzMax NG 1.00 and newer ships with one, so updating BlitzMax is usually the fix.
  • Q. I've found an issue / I'd like to make a feature request, what do I do?

    • A. Is the issue or request already listed at GitHub Issues?
      If not, you can open up a new GitHub issue here.
  • Q. How do I <do this or that> in VS Code?
    (aka. I need more help)

    • A. For general questions or VS Code related help you have few options:

      1. Read Get started writing BlitzMax code in VS Code.

      2. Use our GitHub Discussions board.

      3. Visit our #vscode-extension channel on Discord: Discord Chat

Credits


BlitzMax by Mark Sibly.
BlitzMax NG by Brucey.
Extension by Hezkore.
Icons by GWRon.

Contributing


Contributions are greatly appreciated.
Fork this repository and open your pull requests.

License


Licensed under the MIT License.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft