Visual Studio Code SQF Extensions: Difference between revisions
Lou Montana (talk | contribs) m (Some wiki formatting) |
Lou Montana (talk | contribs) m (Fix) |
||
(One intermediate revision by the same user not shown) | |||
Line 107: | Line 107: | ||
Changes to the [[Crash Files|RPT files]] will be written to the Terminal window. | Changes to the [[Crash Files|RPT files]] will be written to the Terminal window. | ||
You might need to adjust the path {{hl|$env:USERPROFILE\\AppData\\Local\\Arma` 3}} ({{hl|` | You might need to adjust the path {{hl|$env:USERPROFILE\\AppData\\Local\\Arma` 3}} ({{hl|`}} is required before a space) to your needs if you are using the {{Link|Arma 3: Startup Parameters#-profiles|-profiles startup parameter}}. | ||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { |
Latest revision as of 22:48, 11 September 2024
This page contains 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.
Search "SQF" on the marketplace 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 code for errors). |
SQF Debugger | billw2011 | Debug sqf scripts (callstack, variables, breakpoints, ...) |
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 directory
- 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 separated 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 separated 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
Immediately 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 files will be written to the Terminal window.
You might need to adjust the path $env:USERPROFILE
{
"label": "RPT Watcher",
"type": "shell",
"command": "powershell",
"args": [
"-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": []
}