I like it. I really 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 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 |
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.
I prefer to cut and paste, doing the editing of the file list string in the editor. Here is the one I use:
You will probably want to configure tab to space conversion and trailing blank suppression while you are there.
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 toolip 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.
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 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:
#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( ' }' );
}
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.18] | The information on this page is for non-military use only. | ||
| You are visitor number 21,751. | Military use includes use by defence contractors. | ||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/Mindprod website mirror) | ||
| http://mindprod.com/jgloss/slickedit.html | J:\mindprod\jgloss\slickedit.html | ||