SlickEdit : Java Glossary

go to home page S words local find full screen, hide local find menu Google search web for more information on this topic jump to foot of page translate this page with Babelfish 2009-03-26 by Roedy Green ©1996-2009 Canadian Mind Products
index page for letter ⇒ punctuation 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (all)
The CurrCon Java Applet displays prices on this web page converted with today’s exchange rates into your local international currency, e.g. Euros, US dollars, Canadian dollars, British Pounds, Indian Rupees… CurrCon requires Java 1.1 or later, preferably 1.6.0_14. If you can’t see the prices, or if you just want to learn more about CurrCon, click here for help.
SlickEdit logo SlickEdit®
SlickEdit® 2009, née Visual SlickEdit, is a $300.00 USD visual editor for Java (and dozens of other languages) that tidies source code. It was originally developed by MicroEdge, now named SlickEdit Inc. I use the older version 6.0c even though version 2009 is current. Presumably it has improved considerably since my version. I have not been able to afford the upgrades since finances generally are very tight. There is no upgrade price, and maintenance is $60.00 USD a year.

I like it. They now have a version that integrates with Eclipse. The support people are utterly amazing. I send in feature requests and they send me back SlickC™ code to implement the feature as a macro. I just wish it were cheaper so more people would enjoy it. It is worth far more than $284.00 USD in the time it will save you. Even though it is a very full featured editor, it comes up quickly. You can edit hundreds of files at once and hardly notice any slowdown. I use it to prepare all the HTML on this site and used it to write all my Java and assembler code. I am now doing most of my Java work with Eclipse though. I still drop back to it for small projects since it is so much quicker.

Take a 15-day free trial to see for yourself. That is not long enough to properly learn and fall in love with it, but it will give you a taste. It is so quick compared to other tools.

Features SlickC Macro Language
Customising Links
Adding Custom Icons to Toolbars

Features

It has syntax highlighting and cross reference features that really speed things up. It will display help to fill in parms on any method. It will show you valid symbols for a given context. For HTML it has a IMG icon you can click that inserts the <IMG tag for a *.gif or *.jpg complete with correct height and width for you. The syntax highlighting and indenting beautifier makes your errors immediately obvious. I have been using it for years, and every day I discover yet new wonders it can do. It is the closest thing going to a SCID. Take time to configure your custom toolbars and custom keystrokes. You can even add your own icons to them. It supports several flavours of regular expression regex pattern matching search/replace.

You can download updates from support ⇒ patches on their website.

Make sure you regularly back up the binary file vslick/vslick.sta . It contains your complete configuration. If it goes, all your tools bars go too.

Customising

You can customise it to death if you have the patience to figure out how. For example, to control the file extension filters shown when you open a file for editing, edit the def_file_types parameter in the vusrdefs.e file, and then hit ESC and type vusrdefs to invoke the vuserdefs defmain batch macro. Later I discovered you could configure it from a menu Tools ⇒ Configuration ⇒ File Options ⇒ Filters .

I prefer to cut and paste, doing the editing of the file list string in the editor. Here is the one I use:

All Files (*.*),Java (*.java;*.jsp),HTML (*.html;*.css;*.htm),batch(*.bat;*.btm),Text (*.txt;*.list;*.csv;*.log;*.mft;*.properties;*.site;*.use;*.wiki),jnlp (*.jnlp;*.xml),Slick-C (*.sh;*.e),Assembler (*.asm),C++ (*.c;*.cxx;*.h;*.hpp;*.hxx;*.inl;*.cpp),SQL (*.sql)

You will probably want to configure tab to space conversion and trailing blank suppression while you are there.

Adding Custom Icons to Toolbars

The trick to adding a custom icon to the toolbar is to first drag a hammer icon from View ⇒ Toolbars ⇒ Categories ⇒ User Definable Tools to the menu bar. Then right click the icon and select Properties . Fill in Command , Message , Bitmap .

The command you associate with your new custom icon is whatever you would type on the command line at the bottom of the screen, not a bit of slickC code, e.g. you would fill in edit C:\env\todo.txt rather than edit('C:\env\todo.txt') or insert-java-main rather than insert_java_main() .

A good place to find a the names of built-in commands you can use on the command line is in Tools ⇒ Configuration ⇒ Key Bindings even if you don’t want to bind a key. Not all SlickC functions work on the command line.

The toolbars are locked from inadvertent changes except when the View ToolBars dialog is active. Then you can rearrange the icons, or drag them off the tool bar to remove them.

The Message is just the tooltip text.

In version 6 , you create your own bitmap icons as *.bmp files and use them just like the built-in ones on toolbars. Use grey 192,192,192 as your background. BMP files don’t have a formal transparent background the way *.gifs do. Make them all 23x21. Make sure you have backup copies of the bitmaps outside the vslick\bitmaps directory which you may lose on reinstall. Also make a record of the bitmap names, command, and tooltip text so you can reconstruct it if you lose the menu bar.

In version 11 , you can also use *.ico files for your icons.

Here is a little script you can save in a *.e file, then load to create a new command called cdm which changes the directory then brings up the open file dialog box on that directory. To install the command, load the *.e file, with load macro , and it will stay installed forever, (or at least until you unload it.) You can then create an associated icon on the toolbar for one click open. You can define several such commands in a single *.e file.

#include "slick.sh"
_command cdm()
{
cd( 'E:\mindprod\' );
gui_open();
}
If your toolbars come undocked, unmaximise the Vslick app, click View Toolbars, shrink the toolbar to as small as you can make it and drag it into place by the gripper on the left end.

SlickC Macro Language

You program it in SlickC which bears only a superficial ressemblance to C/C++. SlickC has no classes. It has safer pointers than C. It uses containers, decimal arithmetic and both typed and untyped variables like Rexx, It works like Visual Basic for its dialog boxes. It has Java-like ArrayList style autogrowing arrays, and Hashtable s that masquerade as arrays. The syntax is, to put it kindly, eclectic, held together with duct tape and bailing wire. The designer has never heard of the concept of orthogonality. Every feature of the language comes with a list of odd exceptional conditions under which it does not work. It is the quirkiest most ad hoc, asymmetrical language I have ever encountered, and probably the hardest to learn. However, the pcode it uses is fast and compact and gets the job done. All the common methods are written in native code for speed. You must You learn it mainly by studying the existing source code. I would assume most people using the editor never learn any SlickC, but even then it is still a powerful editor.

SlickC macro language uses some very strange language constructs and odd terminology. defmain and batch macro refer to a type of nameless procedure. All you can do is load it and execute it once. Usually it defines the values for many configuration constants. procedure is much like a Java method, except that it usually takes a variable number of parameters, and the types of the parameters are deduced dynamically by the procedure. command is a procedure that can be bound to a keystroke, with rules about the contexts in which it is valid to call it.

Macros you create by recording keystrokes are stored in vslick/macros/vusrmacs.e . They generate compilable SlickC code.

Here is a simple macro to generate the boilerplate for a Java main method:

// stored as C:\env\javamain.e

#include "slick.sh"

/**
* Define conditions under which the insert_java_main
* command will work.
*
* @param cmdui
* @param target_wid
* @param command
* @return enabled or disabled.
*/

int _OnUpdate_insert_java_main(CMDUI cmdui,int target_wid,_str command)
{
if ( !target_wid || !target_wid._isEditorCtl()) {
return(MF_GRAYED);
}

return((target_wid.p_extension=='java')?MF_ENABLED:MF_GRAYED);
}

/**
* Generate a java main method by typing insert_java_main on the command line.
* Command can also be hooked to a button, or to a keystroke.
*
* @return
*/

_command insert_java_main() name_info(','VSARG2_MARK|VSARG2_REQUIRES_EDITORCTL)
{
if ( p_extension!='java' ) {
// Check to see if we are in java mode. If not, exit
message( nls( 'Command not allowed while not in java mode' ) );
return('');
}
insert_line( '/**' );
insert_line( ' * test harness’ );
insert_line( ' *' );
insert_line( ' * @param args not used' );
insert_line( ' */' );
insert_line( 'public static void main ( String[] args )' );
insert_line( ' {' );
insert_line( ' }' );
}

Spell Check

By default the auxilary spell check dictionary is in vslick/win/userdct1.lst. The default built-in list of common words is in vslick/scommon.lst. The file names can be changed with by clicking Tools ⇒ Spell Check ⇒ Spell Options. You should prune and sort those text files periodically. vslick.vlx can modified to add extra entities.

CMP homejump to top
CMP logo
feedback Please email your feedback for publication, errors, omissions, broken/redirected link reports
and suggestions to improve this page to Roedy Green : feedback email
made with CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[65.110.21.43]
Your face IP:[38.103.63.58]
You are visitor number 25,617.
You can get a fresh copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/jgloss/slickedit.html J:\mindprod\jgloss\slickedit.html