Visual Studio Code SQF Extensions: Difference between revisions
(→Track RPT: working ps script) |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
| Line 2: | Line 2: | ||
This page cointains information about [https://code.visualstudio.com/ Microsoft's Visual Studio Code editor] and how it can be used for content creation in Arma. | This page cointains information about [https://code.visualstudio.com/ Microsoft's Visual Studio Code editor] and how it can be used for content creation in Arma. | ||
= Extensions = | |||
== Extensions == | |||
[https://code.visualstudio.com/docs/editor/extension-marketplace Microsoft Article] | [https://code.visualstudio.com/docs/editor/extension-marketplace Microsoft Article] | ||
| Line 19: | Line 21: | ||
|} | |} | ||
= Tasks = | |||
== Tasks == | |||
To add tasks to your project follow these steps: | To add tasks to your project follow these steps: | ||
# Open the folder you are working in with VSCode | # Open the folder you are working in with VSCode | ||
# Create a new directory at the root of it called {{ | # Create a new directory at the root of it called {{hl|.vscode}} | ||
# Create a file called {{ | # Create a file called {{hl|tasks.json}} inside of that direcotry | ||
# Add the following content to it: | # Add the following content to it: <syntaxhighlight lang="json"> | ||
<syntaxhighlight lang=json> | |||
{ | { | ||
// See https://go.microsoft.com/fwlink/?LinkId=733558 | // See https://go.microsoft.com/fwlink/?LinkId=733558 | ||
| Line 35: | Line 38: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
The following snippets will be listed under the {{ | The following snippets will be listed under the {{hl|"tasks"}} tag. Tasks are seperated by a comma. | ||
=== Start {{arma3}} (Mission Editing) === | |||
This task launches {{arma3}} and opens a mission that is located inside of your working folder directly in Eden. | |||
This task launches | <syntaxhighlight lang="json"> | ||
<syntaxhighlight lang=json> | |||
{ | { | ||
"label": "Start Arma 3 (Mission Editing)", | "label": "Start Arma 3 (Mission Editing)", | ||
| Line 64: | Line 68: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Stop | === Stop {{arma3}} === | ||
''Immediatly'' closes | |||
''Immediatly'' closes {{arma3}}. Closing the game via the X button or {{Controls|Alt|F4}} would normally take some time. The name of the exe you are using can be found like this: | |||
# Open task manager | # Open task manager | ||
# Select the "Processes" tab | # Select the "Processes" tab | ||
| Line 73: | Line 78: | ||
# Select "Go to details" | # Select "Go to details" | ||
# The "Name" column (by default the first one) contains the exe name | # The "Name" column (by default the first one) contains the exe name | ||
<syntaxhighlight lang=json> | <syntaxhighlight lang="json"> | ||
{ | { | ||
"label": "Stop Arma 3 Diag", | "label": "Stop Arma 3 Diag", | ||
| Line 87: | Line 92: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Track RPT == | === Track RPT === | ||
Changes to the [[RPT]] will be written to the Terminal window. You might need to adjust the path {{ | |||
<syntaxhighlight lang=json> | Changes to the [[RPT]] will be written to the Terminal window. You might need to adjust the path {{hl|$env:USERPROFILE\\AppData\\Local\\Arma` 3}} to your needs if you are using the [[Arma_3:_Startup_Parameters#-profiles|-profiles startup parameter]]. | ||
<syntaxhighlight lang="json"> | |||
{ | { | ||
"label": "RPT Watcher", | "label": "RPT Watcher", | ||
| Line 102: | Line 108: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{GameCategory|arma3|Editing}} | |||
{{GameCategory|arma3|Mission Editing}} | |||
{{GameCategory|arma3|Tutorials}} | |||
{{GameCategory|arma3|Community Tools}} | |||
Revision as of 15:39, 12 July 2022
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 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 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
{
"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": []
}