All Projects → kayler-renslow → arma-intellij-plugin

kayler-renslow / arma-intellij-plugin

Licence: MIT license
A plugin for Intellij IDEA that allows for syntactical analysis, code inspections, and other nifty features for the SQF scripting language in Arma 3.

Programming Languages

java
68154 projects - #9 most used programming language
Lex
420 projects

Labels

Projects that are alternatives of or similar to arma-intellij-plugin

tabler
Arma 3 Translation Helper
Stars: ✭ 29 (-21.62%)
Mutual labels:  arma
SQFDiscordEmbedBuilder
Send discord webhook embeds from your Arma 3 Server
Stars: ✭ 27 (-27.03%)
Mutual labels:  arma
R3
Arma After Action Replay System, ongoing development in git branches
Stars: ✭ 35 (-5.41%)
Mutual labels:  arma
slotlist-backend
Backend of slotlist.info, an ArmA 3 mission planning and slotlist management tool
Stars: ✭ 13 (-64.86%)
Mutual labels:  arma
Bulletproof-Arma-Launcher
Customisable mod installer and launcher for Arma 3 mods that takes care of *everything* for your community players! Why "bulletproof", you ask? Because "Idiotensicher" was mean :)
Stars: ✭ 21 (-43.24%)
Mutual labels:  arma
mts marker
NATO joint military symbols for ArmA 3
Stars: ✭ 14 (-62.16%)
Mutual labels:  arma
ARFIMA.jl
Simulate stochastic timeseries that follow ARFIMA, ARMA, ARIMA, AR, etc. processes
Stars: ✭ 44 (+18.92%)
Mutual labels:  arma
A3ExtendedChat
Adds new functionality to the Arma 3 chat system with emojis, history viewer, message filters and commands!
Stars: ✭ 16 (-56.76%)
Mutual labels:  arma
PboViewer
Cross-platform PBO maker / unpacker
Stars: ✭ 28 (-24.32%)
Mutual labels:  arma
Pythia
An extension for Arma 3 that lets you write extensions in Python 3
Stars: ✭ 50 (+35.14%)
Mutual labels:  arma
arma-dialog-creator
A dialog/GUI creation tool for Arma 3.
Stars: ✭ 73 (+97.3%)
Mutual labels:  arma
CLib
CLib is a Function/Script Library for ArmA 3
Stars: ✭ 22 (-40.54%)
Mutual labels:  arma
3den-Enhanced
Official 3den Enhanced repository
Stars: ✭ 36 (-2.7%)
Mutual labels:  arma
TheseusServices
Private Military Company content mod for Arma 3
Stars: ✭ 16 (-56.76%)
Mutual labels:  arma
Streamator
A Spectator Specifically build for Content Creation and Streaming
Stars: ✭ 18 (-51.35%)
Mutual labels:  arma
extDB2
Arma3 Extension DB C++ dll / so by @Torndeco. [superseded by extDB3]
Stars: ✭ 17 (-54.05%)
Mutual labels:  arma
awesome-arma3
Curated list of awesome Arma 3 missions and addons
Stars: ✭ 18 (-51.35%)
Mutual labels:  arma

Arma Intellij Plugin

License

Arma games are created and owned by Bohemia Interactive and Intellij is created and owned by Jetbrains. Arma Intellij Plugin was created by Kayler Renslow. The plugin and it's creator aren't affiliated with Jetbrains or Bohemia Interactive. This project is licensed under the MIT License. You don't need to contact me if you want to create derivatives or publish the project elsewhere.

Key Features

  • Syntax checking for Header files (*.h, *.hh, *.sqm, *.ext, *.hpp) and SQF files
  • Description.ext function lookup
  • Documentation 'tags' which can link to command wiki documentation without opening the browser.
  • Automatic plugin update checking (as of 1.0.3)
  • Finding usages of variables
  • 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 all commands and BIS functions via ctrl+Q

Download the Jar

Downloading the .jar is optional (See Install from JetBrains Plugin Repository below.).

Installation

Prerequisites

To install the plugin, you can install it from disk or install from JetBrains Plugin Repository.

Install From Disk (Need the .jar)

  • Step 1: In IntelliJ Settings Dialog, click on "Plugins", click Install plugin from Disk.
  • Step 2: Locate the "Arma Intellij Plugin.jar" (file name may have version info like v1.0.7)
  • Step 3: Click OK button when you located the plugin jar and then Restart IntelliJ IDEA
  • Step 4: You're good to go!

Install From JetBrains Plugin Repository

  • Step 1: In IntelliJ Settings Dialog, click on "Plugins", click Browse Repositories.
  • Step 2: Search for "Arma Intellij Plugin"
  • Step 3: Click Install and then Restart IntelliJ IDEA
  • Step 4: You're good to go!

Video Walkthrough

https://www.youtube.com/watch?v=BOkfMCutb7U

Source Code

How to Clone and Edit Source for Arma Intellij Plugin

  1. You should know how to write Java and you should have experience using Intellij.
  2. Read the official documentation for Plugin development with Intellij. This will tell you how to prepare for a new Plugin project. Visit the docs here.
  3. By now you should have Intellij set up and a new project. Now go to the Main Menu Bar, then "VCS", then "Checkout", then "Github". Clone the Arma Intellij Plugin source. Now you will want to link that source code to the plugin project you created.
  4. Done

Some Information on the Source Code

None of the documentation files for SQF commands or BIS functions is inside the repo. This is intentional and keeps the repo size smaller. You may need to create a few directories to get the plugin started and possibly a few blank files with command names as the name (e.g. createVehicle command's doc file will be located in "/com/kaylerrenslow/a3plugin/lang/sqf/raw_doc/commands-doc/createVehicle" and it has no file extension like .txt or .html). Alternatively you could extract the documentation files out of the Arma.Intellij.Plugin.jar and place them inside your project.

Also, the Lexer and Parser is generated and is not committed either. You will need to find Header.bnf, Header.flex, SQF.bnf, and SQF.flex and run the generators. For generating .flex files, right click and click "Run JFlex generator". To generate .bnf files, right click and click "Generate Parser Code".

Useful links

Intellij Plugin documentation:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].