Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>SQF-VM Language ServerNew to Visual Studio Code? Get it now.
SQF-VM Language Server

SQF-VM Language Server

SQF-VM

|
2,597 installs
| (1) | Free
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Provides a Language Server for the Scripting Language SQF, that is used in the Arma Series and Virtual Battle Space Simulation.

  • Features
  • Planned Features
  • How to report errors
  • How to use
  • Social Channels
  • FAQ
    • Enable/Disable a problem

Features

  • Linting
    • PreProcessor Note that the preprocessor expects files to exist. Recommended to setup a $PBOPREFIX$
    • Syntax Checking
  • Code Analysis
    • Unused variable warning
    • Unused value warning
  • Syntax Highlighting
  • Reference (Symbol) lookup
  • Disable reported problems and informations Note that disabling syntactical errors will not fix the file

Planned Features

  • Basic Auto Completion (Macros, Variables, Operators, ...)
  • Extended Auto Completion (Read params of methods and automagically complete on call, ...)
  • Debugger (SQF-VM powered)
  • Resolve macro on hover
  • PreProcess file and display it
  • Official Linux support (Deployment related lack of, you can compile your own from the sources)

How to report errors

Head over to https://github.com/SQFvm/vscode/issues and create a new issue.

How to use

Just install the extension and you should be able to run it from the get-go.

Social Channels

  • Discord

FAQ

Enable/Disable a problem

Note: XYZ-1234 in the following samples is the code reported by th e language server (eg. VV-001)

  • To disable a warning for the line following, use #pragma sls disable line XYZ-1234 This will surpress the error code for the next line. Note that this is scoped to only the file and does not affect any #include "..." ones

  • To disable (and later enable) an error code on a long span, use

    #pragma sls disable XYZ-1234
    // [...]
    #pragma sls enable XYZ-1234
    

    Note that this is scoped to only the file and does not affect any #include "..." ones

  • To disable an error for the whole file processing pipeline (which also takes into account any error raised in #include "..." files), use #pragma sls disable line XYZ-1234

Scripted analyzers

The language server supports scripted analyzers. A scripted analyzer is a script that is called by the language server on every file, allowing you to implement your own analyzers in SQF.

To enable scripted analyzers, you have to create an empty file called use_scripted_analyzers at <workspace>/.vscode/sqfvm-lsp/use_scripted_analyzers (where <workspace> is the workspace root).

After touching any other file managed by the language server, the language server will automatically generate template files for the scripted analyzers, including a documentation on how to use them.

Exclude files (or folders) from analysis

Every workspace will have a file available at <workspace>/.vscode/sqfvm-lsp/ls-ignore.txt allowing to exclude files (and folders) from analysis. The file will be auto-generated if it is not existing. Further details are available in that file.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft