This extension integrates the SQF Language into Visual Studio Code. For more information please visit the wiki.
This is a fork of Armitxes/VSCode_SQF, updated for more recent of ArmA 3. See the latest release on Github for information on which versions are currently supported.
- Operation Flashpoint [OFP & OFP Elite]
- Enable/Disable commands from OFP via "sqf.enableOFP". Default:
enabled
(needed for all futher ArmA versions) - Wiki: OFP Commands
- Wiki: OFP: Elite Commands
- Enable/Disable commands from OFP via "sqf.enableOFP". Default:
- Take On Helicopters [ToH]
- Enable/Disable commands from ToH via "sqf.enableTOH". Default:
disabled
- Wiki: ToH Commands
- Wiki: ToH Functions
- Enable/Disable commands from ToH via "sqf.enableTOH". Default:
- Armed Assault [ArmA]
- Enable/Disable commands from ArmA via "sqf.enableARMA". Default:
enabled
(needed for all futher ArmA versions) - Wiki: ArmA Commands
- Wiki: ArmA Functions
- Enable/Disable commands from ArmA via "sqf.enableARMA". Default:
- Armed Assault 2 & Operation Arrowhead [ArmA 2 & ArmA 2: OA]
- Enable/Disable commands from ArmA 2 via "sqf.enableARMA2". Default:
enabled
(needed for all futher ArmA versions) - Wiki: ArmA 2 Commands
- Wiki: ArmA 2 Functions
- Wiki: ArmA 2: OA Commands
- Wiki: ArmA 2: OA Functions
- Enable/Disable commands from ArmA 2 via "sqf.enableARMA2". Default:
- Armed Assault 3 [ArmA 3]
- Enable/Disable commands from ArmA 3 via "sqf.enableARMA3". Default:
enabled
(needed for all futher ArmA versions) - Wiki: ArmA 3 Commands
- Wiki: ArmA 3 Functions
- Enable/Disable commands from ArmA 3 via "sqf.enableARMA3". Default:
- Community Based Addons [CBA]
- Enable/Disable commands from CBA via "sqf.enableCBA". Default:
disabled
- Wiki: CBA GitHub
- Contributors: bux
- Enable/Disable commands from CBA via "sqf.enableCBA". Default:
- ACE 3 [CBA]
- Enable/Disable commands from ACE3 via "sqf.enableACE3". Default:
disabled
- Wiki: ACE3
- Contributors: bux
- Enable/Disable commands from ACE3 via "sqf.enableACE3". Default:
- Go to the Visual Studio Marketplace or type
blackfisch.sqf-language
in the search bar of the extensions tab - Click on
Install
Use this guide if the installation over the marketplace isn't possible.
- Download the main.zip
- Navigate to your VS Code extensions folder
- Windows:
%USERPROFILE%/.vscode/extensions
- Mac/Linux:
~/.vscode/extensions
- Windows:
- In the extensions folder, you create a folder called
Armitxes.SQF
- Extract the master.zip inside the
Armitxes.SQF
folder
If you find any problems like incorrect syntax highlighting, missing commands or functions, please don't hesitate to report them in a new GitHub Issues.
Pull Requests for updating the syntax and supported commands are welcome. However, this project is considered legacy support only and new features will not be acepted. If you want to add new features, please consider forking the project or even better: start from scratch.
- Run the
updateFromWiki.py
script fromdevHelper
directory with Python 3. Parameter--all
or a game name (e.g.arma3
) has to be given.
This will result in two (or more) files being generated in thedevHelper/output
directory. - Copy the files from
devHelper/output
to their corresponding directories:- copy
<game>.min.json
toshared/commands/json/
- copy
sqf.min.json
tosyntaxes/
- copy
Controls statements (e.g. if
, for
), comparison statements (e.g. ==
, isEqualTo
) and a few more types of commands are defined separately to apply different syntax highlighting than to "ordinary" commands.
In order to add a new command to the list, you have follow a few steps before running the updateFromWiki.py
script.
- Edit
syntaxes/sqf.min.json
and add the command to the regex. The file is pretty large, So I'd recommend searching for an existing command within the same "class" and adding it there (i.e.isNotEqualTo
should be added whereisEqualTo
is defined) - Edit
devHelper/wiki/getCommands.py
and add the command to theinvalid_commands
regex there. In this case, position does not matter. - Now you can follow the steps described in the Updating the commands section.