Jump to content
Sign in to follow this  
Amra

SQF Editor

Recommended Posts

Hello! Let me introduce standalone .sqf, .ext and .hpp files editor based on Netbeans IDE platform. It can highlight syntax, has integrated SVN and CVS support.

* Installation *

1. Download and install JDK (http://www.oracle.com/technetwork/java/javase/downloads/index.html).

2. Download v.1.1.2 http://dev-heaven.net/attachments/download/13430/sqfeditor.zip and unzip.

3. Execute 'sqfeditor\bin\sqeditor.exe' on Windows or './sqfeditor/bin/sqfeditor' on Linux.

* Features *

screenshotgkm.png

Project management

You can manage your projects and folders with "New Project" and "Open Project" buttons. Editor consider a folder to be Project Folder if it contains "mission.sqm" file.

Version system

You can use "Team" menu item for commiting, updating and other operations. Editor tracks all changes and new lines in code and highlights them in light green (for new lines) and blue (for changes).

You can add GIT support. Go to "Tools" -> "Plugins" -> "Available Plugins". Click "Reload Catalog", check "Git" in the list and click "Install".

Custom colors

You can change colors and fonts for strings, comments and keywords. Go to "Tools" -> "Options" -> "Fonts & colors" tab.

Code completion and documentation

It is turned on by default. You can change options in "Tools" -> "Options" -> "Editor" -> "Code completion". Shortcut for manual code completion window is "Ctrl" + "Space".

Version: 0.2

- Fix: "mission.sqm" defines project folder

- Feature: can add GIT support by installing appropriate plugin

- Feature: code completion and documentation

Version: 1.0

- Fix: completed documentation for all functions;

- Feature: highlights for local variables;

- Feature: code templates (type "prv" press TAB, it will expand into "private[""];" Add your own templates via Tools -> Options);

- Feature: code identation and formatting for code blocks ({});

- Feature: autocompletion for "{", "(", "[", and block comments "/*".

Version: 1.1

- Feature: colorize reserved words;

- Feature: colorize operators;

- Fix: double click on variables with unscore does mark the full word;

- Fix: custom code folding

To add your custom fold, type in two special comments as shown in this example:

// <editor-fold>
  Your code goes here...
// </editor-fold>

You may define the default description of a collapsed fold by adding a "desc" tag:

// <editor-fold desc="This is my super secret genius code.">
  Your code goes here...
// </editor-fold>

You can define editor macros to enframe selected text. Go to "Tools" -> "Options" -> "Macros" tab.

Click "New" button, type it's name. Place this code in "Macro Code":

cut-to-clipboard "// <editor-fold desc=\"\">" insert-break paste-from-clipboard insert-break "// </editor-fold>"

Set Shortcut (F2 for example) and use.

- Feature: Netbeans editor bookmarks and Comment / Uncomment buttons.

Version: 1.1.2

-Fix: indentation and brace matching

Dev-Heaven project page link: http://dev-heaven.net/projects/sqf-editor

Edited by Amra
Update to 1.1.2 (minor fix)

Share this post


Link to post
Share on other sites

Good to see you released Amra, hope some people find use for it.

Share this post


Link to post
Share on other sites

Thanks a lot Amra!

An ArmA IDE has long been a dream and we looked into it ourselves too several times.

However you did actually realize it. :bounce3:

Do you have a project space for feedback, bug reports and suggestion or should

we use this thread for everything?

Share this post


Link to post
Share on other sites

Thank you for reply! I suppose to use this thread for feedback.

Share this post


Link to post
Share on other sites

Cool, testing now.

One feature request even before testing: git support :)

Xeno

Share this post


Link to post
Share on other sites

Will you give releases new version numbers and provide a changelog? Thanks!

Share this post


Link to post
Share on other sites

Just switched over to this for NIAC Arma, so will give it a test :).

Share this post


Link to post
Share on other sites

Done some testing now... You are on a good way.

Some things which I miss are:

- Code completion

- Small help window popping up when mouse hovers over a scripting command for some time

(I'm using notepad++ 5.7 with Armascript from i0n0s and it has both features).

Also there seems to be a bug with project loading. Some missions in my mission folder are marked as projects which I can load, some not. No idea what rules you use to determine if it actually is a project or not.

Other than that it looks already really good. Like already written I hope you can also add git support in the future :)

Edit: What I really like is that I can open more than one project at once.

Xeno

Edited by Xeno

Share this post


Link to post
Share on other sites
Will you give releases new version numbers and provide a changelog? Thanks!
- Code completion;

- Small help window popping up when mouse hovers over a scripting command for some time;

- GIT support

Will do

Share this post


Link to post
Share on other sites

Could you change the "A project is a folder with briefing.sqf file present" logic to be "a project is a folder with a mission.sqm file present" instead perhaps?

I'll always have a mission.sqm but not always a briefing.sqf, especially with new projects.

Share this post


Link to post
Share on other sites
Could you change the "A project is a folder with briefing.sqf file present" logic to be "a project is a folder with a mission.sqm file present" instead perhaps?

I'll always have a mission.sqm but not always a briefing.sqf, especially with new projects.

Sure, thank you for a good idea! I hope I'll be able to post update this week. Things I've already done: added GIT support through plugin installation, code completion and partly code documentation (for "A" functions; it's the most time-consuming part).

Share this post


Link to post
Share on other sites

How does the code documentation code look like - maybe someone can provide you with the data in the needed format.

Share this post


Link to post
Share on other sites
How does the code documentation code look like - maybe someone can provide you with the data in the needed format.

sqfHints.put("keyword", "syntax<br><br>Operand types:<br>...<br>Type of returned value:<br>...<br>Description:<br>...");

I take info from a2oa_comref excluding Compatibility, Example and Category.

Share this post


Link to post
Share on other sites

Sounds exciting Amra! Good luck with it, ill use your new release.

Share this post


Link to post
Share on other sites

Sorry a misunderstanding there Amra.

I can provide you the list in the desired format you need.

Just tell post one command as an example how it looks like.

Share this post


Link to post
Share on other sites

Autocompletion and error checking in Squint are great features...

Share this post


Link to post
Share on other sites
Hello! Let me introduce standalone .sqf, .ext and .hpp files editor based on Netbeans IDE platform. It can highlight syntax, has integrated SVN and CVS support.

Looks interesting but I am curious...why did you make this a standalone IDE rather than a NetBeans plugin?

Share this post


Link to post
Share on other sites
Sorry a misunderstanding there Amra.

I can provide you the list in the desired format you need.

Just tell post one command as an example how it looks like.

Thank you for help! Example is:

sqfHints.put("abs", "abs x<br><br>Operand types:<br>x: Number<br>Type of returned value:<br>Number<br>Description:<br>The absolute value of x.");

Command without operands:

sqfHints.put("accTime", "accTime<br><br>Type of returned value:<br>Number<br>Description:<br>Returns the current time acceleration factor.");

Command with several operands:

sqfHints.put("ctrlSetTooltip", "display ctrlSetTooltip text<br><br>Operand types:<br>display: Control<br>text: String<br>Type of returned value:<br>Nothing<br>Description:<br>Sets tooltip text of given control.");

---------- Post added at 09:42 PM ---------- Previous post was at 09:39 PM ----------

Looks interesting but I am curious...why did you make this a standalone IDE rather than a NetBeans plugin?

Because I wanted no unnecessary things.

Edited by Amra

Share this post


Link to post
Share on other sites

Amra can you please specify exactly which ones to use - there are these left:

<description>a and b

<exResult>1

<loper>[object, lod name]

<lopertype>Object

<name>abs

<returntype>Number

<roper>[[row, column], color]

<ropertype>Array

Only name, ropertype, returntype, description?

Share this post


Link to post
Share on other sites
Could this editor check syntaxis of sqf scripts in future?

I'll try to implement this.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×