3rd:VIC - VIP7 IDE companion

From wiki.visual-prolog.com

Revision as of 18:13, 23 December 2010 by Steve Lympany (talk | contribs) (Update Dec 2010)

A program is now available (27 Apr 09) for VIP 7 developers - the Vip IDE Companion, or VIC.

VIC provides 2 major tools, and a few little utilities, to help with the development of VIP7 projects. The tools do not replace, nor provide alternatives to, any VIP IDE functionality.

Project Reorganiser

The first tool allows you to reorganise VIP7 projects. You can drag and drop folders, classes, forms etc. to new locations, and also to rename them. This is easy enough to do manually via a mixture of Windows file manipulations and successive recompilations, but it can be quite time-consuming, particularly when #include statements in pack and ph need to be modified. VIC does this automatically. The VIC Reorganiser can be done graphically (directly with the project tree), or with line/batch commands (e.g. rename folder fred joe, and move class fred house).

Update Dec 2010

It doesn't seem like many people require VIC, so a full update to VIP7.3 will not take place. There are too many changes required in the user interface. However, there will be a BabyVIC soon. This only has menu commands:

  1. to change the project name (with an open project)
  2. to backup an open project to a new folder
  3. to change a class name (no project required to be open)
  4. to change a class name folder (no project required to be open)

Note - item 4 is very simple, but not mindlessly trivial! BabyVIC edits the ph and pack files so that the new folder name is in the #include statements.
If, there are people who REALLY want the full VIC, I will do it.
For the time being, I will leave a description of the original VIC here.

Code Generator

The second main tool is the code generator. This generates the prolog source code for a domain for the external database. So if you have a domain:

person=person(name, age, height, birthday,...)

it will generate all the predicates for the rest of your program to access a person database, using chaindb. Btree indexing code is also generated. Code is generated on-the-fly, and is written to (in this case) person.cl, person.i and person.pro. If you need to use the external database, such developments can take days (VIC takes a few seconds).


The small utilities provided are:

  • compare two versions of a VIP project. Files with differing contents are highlighted;
  • instantly change a class to one that creates objects, or vice-versa;
  • resources can be rapidly found in the project tree;
  • versioned backups/copies are part of the Reorganiser;
  • the project can be renamed;
  • there is a "replaceall, keeping capitals". This is a project-wide edit e.g. changing "joe" to "fred", but maintaining the capitalised status (e.g. whether the current change is to variable or not).

Further information and the download can be found at: www.acsumama.com/vic/vic.htm