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-languagein 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.SQFfolder
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.pyscript fromdevHelperdirectory with Python 3. Parameter--allor a game name (e.g.arma3) has to be given.
This will result in two (or more) files being generated in thedevHelper/outputdirectory. - Copy the files from
devHelper/outputto their corresponding directories:- copy
<game>.min.jsontoshared/commands/json/ - copy
sqf.min.jsontosyntaxes/
- 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.jsonand 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.isNotEqualToshould be added whereisEqualTois defined) - Edit
devHelper/wiki/getCommands.pyand add the command to theinvalid_commandsregex there. In this case, position does not matter. - Now you can follow the steps described in the Updating the commands section.