SQF Language Support for VS CodeSyntax highlighting, real-time diagnostics, IntelliSense, hover docs, wiki lookup, snippets, formatting, and build integration for Arma SQF and SQ# (SQF Sharp).
Features
Language ModesBoth modes auto-detect
Click the status bar indicator ( SQ# CLI IntegrationNo setup required — self-contained SQ# binaries bundled for Windows, Linux, and macOS. Override: set Commands (
|
| Command | Description |
|---|---|
SQ#: Compile current file |
Compile to bytecode |
SQ#: Run current file |
Execute script |
SQ#: Lex current file |
Token dump |
SQ#: Parse current file |
AST dump |
SQF: Open Wiki for command at cursor |
Open Arma wiki page |
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Ctrl+K Ctrl+W |
Open wiki for command at cursor |
Shift+Alt+F |
Format document |
Settings
| Setting | Default | Description |
|---|---|---|
sqf.sqsharpCliPath |
"" |
Path to SQ# CLI (empty = use bundled binary) |
sqf.lintOnSave |
true |
Run diagnostics on file save |
sqf.lintOnChange |
true |
Run diagnostics as you type (500ms debounce) |
Snippets
Type prefix + Tab to expand:
| Prefix | Output |
|---|---|
if |
if-then block |
ife |
if-then-else |
ifex |
if-exitWith |
while |
while-do loop |
for |
for-do (C-style) |
forf |
for-from-to range |
forfs |
for-from-to-step |
switch |
switch-do |
try |
try-catch |
func |
function definition |
params |
params declaration |
private |
private array |
forEach |
forEach loop |
spawn |
spawn code block |
spawnOn |
spawnOn scheduler |
shared |
shared variable (SQ#) |
include |
#include "file.sqf" |
define |
#define MACRO |
addeh |
addEventHandler |
+ hint, syschat, diag, format, hashmap, call |
Development
npm install
npm run compile
npm run generate-grammars # Regenerate syntax highlighting from reference.txt
npm run publish-cli # Build SQ# CLI binaries for all platforms
Press F5 to launch extension in debug mode.
Credits
- SQ# engine: SQF.NET
- Arma command reference: community.bistudio.com