Author: K-Town
Author Website: https://github.com/kayler-renslow/arma-intellij-plugin

Version: 1.0.8

Short description: Arma Intellij Plugin is a plugin developed by K-Town (me) for Intellij IDEA.

Date: 2017-05-18 21:52


Comments: (0)
Rating:



 



Arma Intellij Plugin

by
K-Town


Description:
Arma Intellij Plugin is a plugin developed by K-Town (me) for Intellij IDEA. Intellij IDEA is a Java IDE developed by Jetbrains and offers many amazing API's for creating support for custom languages to be used inside the Intellij editor.
Intellij is free, but I recommend reading the license agreement regardless.


Features:
Arma Intellij Plugin has many features with more on the way. The plugin currently has:
Syntax checking for Header files (*.h, *.hh, *.sqm, *.ext, *.hpp) and SQF files
Description.ext Function lookup (See feature Spotlight a.)
Documentation 'tags' which can link to command wiki documentation without opening the browser.
Automatic plugin update checking
Finding usages of variables and commands
Syntax highlighting
Rename refactoring for functions and variables
Seamless config function creation (alt + insert)
Auto-completion (ctrl + space)
An "Arma Color" picker dialog which allows to convert HEX or RGB to Arma's color format (black -> [0,0,0,1])
Wiki documentation on commands and BIS functions via ctrl+Q


Installation / Usage:
-


Source Code:
This project is open source. Do what you want with the code. Sell it, modify it, claim you made it, or anything else - I don't care. Just make sure you are respecting the rights of Jetbrains and Bohemia Interactive.
You can download and view the source here: https://github.com/kayler-renslow/arma-intellij-plugin


Media:



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


Future plans:
Automatic code formatting for SQF and Header
Creating new mission files from scratch
More code inspecting functionalities
Type checking (I wish)
Dialog creation tool (beta coming "soon")
Other secret features ;)


Changelog:
v1.08
Shared between languages
Fixed
better, but still bad pre-processor
SQF
Added
command camelCase inspection (checks if command is camel case. if not, alt+enter to make it camel case)
new Arma 3 commands from the wiki
Changed
commands can now be non-camel case
Fixed
unary expression
Header
Fixed
header stringtable key created stack overflow
header didn't support += operator
stringtable keys couldn't be in arrays

v1.07
SQF
Added:
SQF file template (Main Menu->File->Settings->Editor->File and Code Templates and template name is "SQF File")
1.66 commands and BIS functions
documentation tag auto completion (now lists commands for @command, bis functions for @bis, and config functions for @fnc)
Changed:
removed SQF function creation from alt+insert menu (will come back when properly implemented)
Fixed:
https://github.com/kayler-renslow/arma-intellij-plugin/issues/31 (new SQF file not automatically opened)
https://github.com/kayler-renslow/arma-intellij-plugin/issues/35 (for loop syntax error with step -1)
unused vars inspection wasn't taking into account self assignments

v1.0.6
Fixed
#30
SQF
Added
new Arma 3 commands and their documentation
Fixed
#24
#26
#27
#28

v1.0.5.2
Header
Added:
none
Changed:
sqm files are no longer parsed by the Header parser since they have become binarized due to Eden
Fixed:
#25
#23

v1.0.5.1
SQF
Added:
Inspection that you can turn on/off for: checks to see if variables are defined, being used, and private (this functionality has been in place for a while, but now it can be turned off)
Fixed:
bad performance, and even freezes, for case statements (#22)
external annotator being very slow

v1.0.5
SQF
Added:
support for hex numbers (#15)
Changed:
variables set to nil will now be marked as uninitialized
variables declared in params command that have no default value will be marked as "may be uninitialized" instead of more definitive "not initialized"
Fixed:
params [["_var", nil]];//was saying _var was defined when it shouldn't be
quick documentation lookup not working for commands while still typing the command

v1.0.4.1
Shared between languages
Added:
documentation 'tags'.
> Commands: @command command_name
> BIS Functions: @bis function_name
> Config function: @fnc function_name
support to find usages of stringtable entries, as well as refactor-renaming them
SQF
Added:
unused check for global vars
finding usages of commands
Changed:
removed "keywords" from parser. All prior keywords are now treated as commands. Since keywords are removed, all commands will now be highlighted yellow by default.
grammar was mostly rewritten into a more concise and correct one
Fixed:
Terrible performance while editing SQF files
_forEachIndex was marked as uninitialized. The fix marks it as a magic variable.
Couldn't have negative numbers
Making variable private fix didn't append to existing private decl
Scope was wrong for this scenario:
_i = 100;
for [{private _i = 0}, {_i < 5}, {_i = _i + 1}] do {};
hint str _i; // 100

v1.0.3
Plugin
ADDED:
automatic plugin update check
view version in about
Shared between languages
ADDED:
ability to disable the error notification at the top of files for SQF and Header (Go to main menu > Arma Plugin > Plugin Properties)
SQF
FIXED:
documentation not showing up for some commands
auto completion for config files and other things

v1.0.2
SQF
ADDED:
support for custom live templates
support for renaming the tag for function refactor renaming
macros don't create syntax errors
CHANGED:
some previous auto completion elements were converted into live templates
renaming functions will rename the function file as well
FIXED:
? statement being broken
block comments
{code}count 1;
variables being defined inside params[] not being marked as defined in annotator
finding scope of variables
creating a new function from alt+insert resulted in a wrong function file path

v1.0.1
vShared between languages
CHANGED:
color of error text text attribute
SQF
ADDED:
variables inside params[] array will now be marked as private
private declaration to variable assignment (private _var=1)
CHANGED:
while loops no longer always require semicolon in condition
documentation is available for EVERYTHING :D
FIXED:
fixed BIS function documentation links not working inside documentation window
an issue with return statements
fixed grammar file to allow for empty switch cases
switch (_part) do {
case "head";
case "body": { };
};
fixed "step" keyword not getting recognized
Header
ADDED:
checks to see if included file exists
CHANGED:
rewrote how include files work
FIXED:
an issue where CfgFunctions couldn't be found in description.ext when included

v1.0.0
- first release


Forum topic:
- BI forums



- Intellij




Enable javascript to be able to download from Armaholic please!



Tags: No tags