Skip to content
Krzmbrzl edited this page Feb 12, 2017 · 15 revisions

Future plans

This is the part where you can inform yourself about my goals for the SQDev-plugin. For this purpose I have created the following (unordered) list of features I want to add to the plugin in the future:

  • Syntax Check: A mechanism that will detect syntax-errors during the writing of the code so you don't have to start the script just to get one of those annoying error-messages.
  • Quickfixes: Some of the errors the parser might detect should be easily solvable and therefore a quickfix is created as an automated way of solving these problems for you (only of you wish of course).
  • Content Assist: A little popup that tells you what kind of command you might be about to type in so you can quickly access a list of available commands and chose from it instead of having to worry about if the command was named "diag_log" or "diagLog".
  • Add IDE-support for variables and functions
  • Intelligent code selection: That means that when double-clicking next to a bracket the complete area that is encapsulated by this bracket and it's macthing partner is gonna be selected.
  • Intelligent deletion: It's annoying to delete character by character sometimes. Therefore eclipse has the Strg+delete function that will delete a complete section (most commonly a word) for you. My Goal is to further tweak this functionality so that it becomes really handy.
  • Improve Undo-functionality: Right now the undo/redo is available but only in a pre-defined form that is not yet feeling properly to me.
  • OOS-support: This will include all the features provided for SQF (editor, wizards, parser, etc) and some additional stuff like auto code compliling on saving.
  • Editor actions: I use this word as a collection of actions I want to be accessible from within the editor such as the possibility to surround a selected part with a loop, an if or something similar.
  • Code templates: I want to add a few choosable code templates that cover some common tasks of a programmer so that you don't have to waste your time coding stuff that is not really the core of your intention.
  • Enhanced project linking: Basically that means linking the generated SQDevProjects with ArmA as actual missions so that you don't have to copy any files manually and that you are able to create the complete scripting of the mission from within eclipse without having to use your system's fileExplorer to create or manipulate your scripts.
  • Import/Export wizard: A wizard for the export and import of ArmA missions from/as a SQDevProject
  • Debugger: A debugger that lets you execute your code step by step and that lets you see and manipulate the content of your variables during runtime. No more endless print-statements to find out where the problem in your code is!
  • GUI-wizard: Right now the creation of GUIs for ArmA is quite time intensive and if you're new to this it looks quite unmanagable at the first look. Wouldn't it be nice to have a wizard that guides you through the creation of a simple (and even a complex) GUI step by step and takes care about all the additional stuff that has to be created in order for the GUI to work?
  • JavaDoc: JavaDoc is a term from the java development and describes a little hover-asstistance for example for functions/methods that tells you what this method does and what it's parameter are. These information have to be provided by the person that has written the method but once given this is a extremely powerful as it can save you a lot of research. I will also provide this functionality for all commands so that when you hover over a command it will show you the description from the wiki and the attached comments as well so that you have all the needed information available right in eclipse.
  • Procedural introduction in eclipse: This will be a feature that will provide you a procedural introduction into eclipse when you start it for the time. It will continuously reveal the different partsof eclipse and explain what they are good for and how you can use them.
  • SQDev perspective: An eclipse perspective designated for SQDev that will remove all the fancy stuff that eclipse ships with from the main UI so that all buttons and dropdown menu entries you will see actually are for the use with SQDev. No more unnecessary confusion!
  • Preferences: Allowing the user to customize the plugin
  • Formatter: A mechanism that puts the code into a proper pre-defined format (indenting and newLine-management) to increase the readability of (your) code.
  • Description.ext Editor: An editor for editing the description.ext
  • Logger: A logger that will get notified when something went wrong so that potential errors/bugs can be isolated and solved
  • Mod compability: Detect installed mods and provide support for them as well
Clone this wiki locally