Visual Studio Code SQF Extensions
This page cointains information about Microsoft's Visual Studio Code editor and how it can be used for content creation in Arma.
Extensions
The following is a list of recommended extensions. Note that it might be incomplete or out of date. You can search the marketplace for "sqf" to find new or better extensions in that case.
Extension | Author | Remark |
---|---|---|
SQF Language | Armitxes | Syntax highlighter. |
SQF-VM Language Server | X39 et al. | Language server for sqf (checks your code for errors). |
SQF Wiki | Eelis Lynne | Shortcut to go to the Biki page of the selected command/function. |
Tasks
To add tasks to your project follow these steps:
- Open the folder you are working in with VSCode
- Create a new directory at the root of it called
.vscode
- Create a file called
tasks.json
inside of that direcotry - Add the following content to it:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
// -> Tasks go here <-
]
}
The following snippets will be listed under the "tasks"
tag. Tasks are seperated by a comma.
Start Arma 3 (Mission Editing)
This task launches Arma 3 and opens a mission that is located inside of your working folder directly in Eden.
{
"label": "Start Arma 3 (Mission Editing)",
"type": "process",
"options": {
"cwd": "C:\\Program Files (x86)\\Steam\\steamapps\\common\\Arma 3" // Change to your Arma 3 installation path
},
"command": "arma3_x64", // Also possible, if available: arma3profiling_x64, arma3diag_x64
"args": [
"${workspaceFolder}\\mission.sqm", // Loads directly into editor if you have a mission folder open in VSCode
"-mod=!Workshop\\@CBA_A3;!Workshop\\@My Other Mod", // Add mods seperated by ";", absolute paths work as well
"-debug",
"-skipIntro",
"-filePatching",
"-noSplash",
"-showScriptErrors"
],
// Enable launching via shortcut "Tasks: Run Test Task"
"group": {
"kind": "test",
"isDefault": true
}
}
Stop Arma 3
Immediatly closes Arma 3. Closing the game via the X button or Alt+F4 would normally take some time. The name of the exe you are using can be found like this:
- Open task manager
- Select the "Processes" tab
- Find Arma 3
- Expand the entry
- Right click on the first sub entry
- Select "Go to details"
- The "Name" column (by default the first one) contains the exe name
{
"label": "Stop Arma 3 Diag",
"type": "shell",
"command": "taskkill",
"args": [
"/F",
"/IM",
"arma3_x64.exe" // Other values: arma3diag_x64.exe, arma3profiling_x64.exe
],
"problemMatcher": []
}
Track RPT
Changes to the RPT will be written to the Terminal window. You might need to adjust the path $env:USERPROFILE\\AppData\\Local\\Arma` 3
to your needs if you are using the -profiles startup parameter.
{
"label": "RPT Watcher",
"type": "shell",
"command": "powershell -command \"Get-ChildItem -Path $env:USERPROFILE\\AppData\\Local\\Arma` 3 -Filter *.rpt | Sort-Object LastAccessTime -Descending | Select-Object -First 1 | Get-Content -Tail 1 -Wait -Encoding utf8\"",
"problemMatcher": []
}