Author: Engima
Author Website:

Version: 0.58

Short description: A script editor for SQF scripts.

Date: 2017-08-07 11:00

Comments: (2)


TypeSqf Editor


The TypeSqf editor is a developer's tool for scripting in Arma 3. Besides using it to write SQF code with syntax highlighting and auto completion, it analyzes your syntax in real time, alerting you if something is erroneous or suspicious.

Object Oriented Scripting
The editor comes with an optional extended functionality for SQF syntax, called SQX. In a convenient way, and with as many similarities to SQF as possible, SQX enables object oriented scripting (classes) and adds type handling. Classes may contain a constructor, fields, properties and methods. It works because the .sqx files are compiled into corresponding .sqf files before executed by Arma 3.

The CPack Service
The CPack Service is a service for sharing content with other script editors as well as to organize your own code. In short a CPack is a content bundle (a .zip file) that you upload and label with a name and a version number. Then they are very easy for anyone to download and include in any mission.

The TypeSqf Editor is a script editor for Arma 3. The most important features are:
• Syntax Highlighting
• Syntax Checking
• Auto Completion
• Object Oriented Scripting (SQX Syntax)
• Share And Download Community Made Content (The CPack Service)

Installation / Usage:
Unzip the four files and put them anywhere on your Windows PC.
2. Execute the file TypeSqf.exe.

Armaholic note:
.exe files can harm your PC! Before running this you should make sure you understand the risks!
Armaholic and its staff can never be held responsible when this file causes any damages, disruption in services or anything else in any way! Downloading and installing this file is totally at your own risk!
We have run anti-virus tools on the included files and found no issues but this is no guarantee!

Media: has its own Youtube channel where we will cover the Community made releases.
Subscribe to the Youtube channel

Feedback and error reports:
I will gladly receive any feedback. Please tell me good things, bad things, errors, whishes etc. Please use the forum thread linked below for comments, but email all error reports to .

Version 0.58
-Project file is now saved automatically when starting a new project or opening an existing mission.
-Added video "TypeSqf Features Part 4 - The CPack Console".
-Fixed: No code completion on lines with the alternative variable declaration syntax.
-SQX: Fixed: Compiled files (.sqx.sqf) is not removed when a CPack is removed.
-SQX: Analyzer improvements.
-SQX: Fixed: Compiler sometimes not starting.

-Added menu item "Videos" with links to tutorial videos.
-Analyzer improvements.
-SQX: Analyzer improvements.

-Enabled support for alternative variable declaration syntax. Like { private _myVar = 10; }.
-Analyzer improvements.
-SQX: Syntax Highlighting improvements.
-SQX: Analyzer improvements

-New and better installer (uninstall the old version before installing this).
-Variables declared in mission.sqm now included in editor (mission.sqm must not be binarized).
-Items in the file explorer now gets selected on right click.
-SQX: Minor analyzer improvements.

-Added all script commands in Arma 3 version 1.72.
-Revealed SQX content (it was previously "beta content").
-SQX: Added enums.
-SQX: Added code completion for static methods.
-SQX: Added code completion for custom types (classes and interfaces).
-SQX: Minor fixes in the analyzer.

-Fixed: Error when updating CPacks and files need to be overwritten.
-Fixed: Improved checks for declared, non declared, used and not used variables.
-SQX: Added static methods.
-SQX: Made it possible to specify type on iteration variable in a forEach statement. Like "{ hint _x } forEach as String;".
-SQX: Made it possible to specify type on iteration variable in a count statement. Like "_count = { _x.IsActive } count as MyClass;".
-SQX: Fixed: Analyzer do not recognize interface types for method return values.
-SQX: Fixed: Minor issues in analyzer.

-Logical operators 'and' and 'or' now supports alternative syntax with signature "Boolean and Code".
-Fixed: Files installed by CPack dependencies are not added to project file explorer.
-Fixed: Error when installing CPacks with dependencies to same package but different version.
-Fixed: Minor issues and improvements in analyzer.
-SQX: Added interfaces.
-SQX: Changed name of data type Number to Scalar (the same name as in SQF).
-SQX: Added interface templates (you will need to reset templates for them to regenerate).

-Added all script commands in Arma 3 version 1.70.
-Analyzer can now handle commands following a preprocessor #include on the first line.
-SQX: Fixed: Minor bugs in the SQX analyzer.

-Added all script commands in Arma 3 version 1.68.
-Significant CPU and memory performance optimizations.
-Change the default value for setting "Enable foldigs" to false (it may cause lags - use it if it is worth it).
-Added syntax highlighting for .sqm files.
-Analyzer improvements and bugfixes.
-SQX: Fixed: Analyzer reporting all kinds of errors if compiled file (.sqx.sqf) is added to the project.

-Added syntax highlighting for .ext and .cpp files.
-Separated syntax highlighting for .sqx and .sqf files.
-Fixed: Missing Warnings about unsaved files when closing separate tabs.
-Fixed: Stability issues (CTD when saving files without having a project).
-SQX: Fixed: Keyword 'classNull' compiled incorrectly

-Added possibility to change tab settings (community wish-list).
-Added warning about unsaved files on application exit.
-Settings, Templates and Themes are now located in the Application Data folder ({user}\AppData\Roaming).
-Fixed: The file template "Working Tank Class" did not work.
-Fixed: Stability issues.
-SQX: Fixed: Some bugs in the SQX compiler.

-Added color theme "Default Dark" (community wish-list).
-Added possibility to customize color themes (community with-list).
-Added possibility to add predefined and customized variables to file templates (community wish-list).
-Added template for Description.ext.
-Fixed: When closing a tab, the previously opened tab should be activated.
-Fixed: Stability issues.
-SQX: Compiler fixes and improvements.

-Files associated with TypeSqf can now be opened in TypeSqf when double clicked in the File Explorer (community wish-list).
-Checked all script commands and corrected erroneous signatures for a lot of them.
-Added description, syntax, parameter names and parameter types in auto completion for all script commands (thanks to Josef).
-All script commands with signatures and description are now in an XML file (ScriptCommands.xml) and read when editor starts.
-Fixed: Files created by TypeSqf sometimes end up in erroneous locations.
-Fixed: Stability issues.
-SQX: Compile errors and warnings are now being displayed during compile.
-SQX: Fixed: A lot of bugs in the compiler.
-SQX: Fixed: Not allowed to "spawn" methods.

-Any type of text formatted file may now be opened in the TypeSqf Editor (but only .sqf and .sqx files are being syntax checked).
-Added automatic foldings for functions.
-Added manual foldings. Write "// #region [SomeName]" on start line and "// #endregion" on end line (like in SQX but in line comment).
-Added context menu options "Expand Sub nodes" and "Collapse Sub Nodes" in project view (community wish-list).
-Added menu option File->Close project (community wish-list).
-Fixed: Menu item File->Exit always disabled.
-Fixed: Functions and classes declared in other files not recognized on project startup (broke in 0.44).
-SQX: Added automatic foldings for namespaces, classes, constructors and methods.
-SQX: Added manual foldings. Write "#region [RegionName]" on start line and "#endregion" on end line

-Added customizable code template files (community wish-list).
-Added possibility to open files using drag and drop from file explorer (community wish-list).
-Minor improvements in code analyzer.
-Minor GUI fixes.
-Fixed: Stability issues.
-Fixed: File tab sometimes not opening when double clicking a node in the project tree.
-Fixed: Files that do not belong to project are analyzed as belonging to project.
-SQX: Fixed: Syntax Highlighting failed if identifiers contains underscores.
-SQX: Fixed: Types for null literals (objNull, grpNull, ...) were not handled correctly by the analyzer.

-Added possibility to mark a CPack as "Beta version", which allows a way for testing CPacks before publishing.
-Added parameter -beta in CPack Console so that users can install unpublished CPacks if they want to.
-Added parameter -version in CPack Console for command "update" (only existed for command Install).
-Added command "Exit" to CPack Console.
-Fixed: Stability issues.
-Fixed: CPack dependencies are no longer updated to latest version by default.
-Fixed: TypeSqf hangs when CPack Console is open and switching programs in Windows.
-SQX: Added code completion to variable _self.
-SQX: Improved Code Analyzer's error reporting.

-Project file structure is now updated when installing, updating and removing CPacks.
-Fixed: Stability issues - crasches when handling project items in the file sturcture.

-Stability improvements.
-Added more information about script commands in auto completion.
-Functions starting with "BIS_fnc_" no longer generates any warnings.
-SQX: Fixed: Compiler output line numbers sometimes did not match original user input.
-SQX: Added menu alternative Build->Clean.
-SQX: Improved syntax highlighting for class members.

-Code analyzer for current open file now reacts properly to changes in the project tree.
-Fixed: Stability issues.
-SQX: Added support for namespaces.
-SQX: Improved color scheme for syntax highlighting.
-SQX: Improved auto completion.

-Improved 'Find in all files'.
-Fixed: Stability issues.
-Fixed: Command 'params' could not have default values.
-SQX: Methods can now be private.
-SQX: Properties can now have private setters.
-SQX: Methods and properties can now have explicit return types.
-SQX: Added link to the SQX API Reference.
-SQX: Made it possible to add classNull as default value to variables of custom types declared with command 'params'.

-Added Options dialog (Tools->Options...).
-Added possibility to enable or disable auto completion.
-Added possibility to enable or disable Beta content (type handling and classes for object oriented scripting).
-Project view is now initially empty - preventing crasch when adding a file to a non project.
-Added extended syntax (.sqx-files) that allow for object oriented scripting.
-Added all script commands until Arma 3 version 1.66.
-Added missing script command 'append'.

- Fixed: File explorer sometimes mixing up files.
- Fixed: Auto completion does not recognize private variables declared in script command params.
- Fixed: Auto completion active in comments.

- Added auto completion.
- Fixed: Script command params did not declare variables.

- Added search option "Find in all files".

- Added all script commands until Arma 3 version 1.64.

Forum topic:
- BI forums

Enable javascript to be able to download from Armaholic please!

Tags: Editor,   Program,   Script,   Syntax,   Tools