VS-Code extension for Pawn language
Originally created by Indian Ocean Roleplay™ (samarmeena)
- Go To Definition
- Hover Definition
- Parameter Helper
- Syntax Highlighting
- Auto Code Completion
- Custom Inline Snippets
- Format Document
- Format Selection
- VSCode Regions
- Generate Numbers
You can define two types of snippet
*Note: second type support autocompletion of parameters.
//#snippet new_cmd CMD:cmd_name(playerid, const params[]) {\n\treturn 1;\n}
//#function CreateCar(vehicleid, Float:posX, Float:posY, Float:posZ);
Right click on on your files to add to .pawnignore, this way you'll tell extension not to parse these files for auto-complete and intellisense.
*Note: syntax works exactly like .gitignore
.
Search for "Pawn Development" in the vscode extensions section and install it.
Alternatively, you can check out the source code or view the marketplace page:
Press Ctrl + Shift + P
or F1 and then type >Initialize Pawn Build Task
-
"command": "${workspaceRoot}/pawno/pawncc.exe",
is the important part here, this is the path to your Pawn compiler and I've assumed most of you have a left-overpawno
folder from that long dead text editor! This folder not only contains Pawno but also the Pawn code compiler (pawncc.exe
). You can safely deletepawno.exe
forever. -
"args": [...],
is also important, this is where you define the arguments passed to the compiler. Pawno also did this but you might not have known. The defaults have always been-;+
to force semicolon usage and-(+
to force brackets in statements.
If you store your Pawn compiler elsewhere, just replace the entirecommand
setting with the full path to your compiler.
Also, if you want to disable debug symbols (you won't be able to use crashdetect) just remove-d3
from"args"
. -
problemMatcher
is the part that allows recognising the Pawn compiler output and presenting it in theproblems
panel of the editor. This doesn't work well with external includes because the paths change from relative to absolute.
- goto .vscode/tasks.json
- replace
${relativeFile}
with${workspaceRoot}\\gamemodes\\mygamemode.pwn
- all done
To actually compile after you've set up the tasks.json
below, press
CTRL + Shift + B
(Windows) or CMD + Shift + B
(Mac), or alternatively open up the
command palette with CTRL + Shift + P
(Windows) or CMD + Shift + P
(Mac) and type
Run Task
, hit enter and select build-normal
.