Overview

The GTK IDE is supported on Windows, Linux and Mac if there is a working Gtk binary installed.

If the J terminal is shown, then:

Install

Download and install from the download page.

See also J701.

The installer will install Jconsole and JHS. GTK IDE requires an extra step of installation.

See also Gtk installation.

Shortcut Keys

Most of the functionality should be obvious from the menus, and it is perhaps best to work through them one by one.

As in J6, some additional functionality is available by pressing the shift key when selecting a menu or button.

Some shortcuts differ from J6, e.g. Ctrl+L for run script instead of Ctrl+W. The latter is now mapped to close edit tab.

See also Shortcut Keys.

Term

The term window is the usual J console, with behavior similar to the J6 ijx window. Color config is ~config/term.xml.

Edit

The edit window is a tabbed notebook. Color config is ~config/edit.xml and J syntax coloring j.lang in the same directory.

If there is no syntax coloring or there is no Menu View|Toggle Line Numbers, then GtkSourceView is not working. Refer to Gtk installation for any possible solutions.

See also Menu Help|GTK|GtkSourceView for a guide on syntax coloring.

Projects

Projects are supported directly, see project menu. The benefit is easy navigation of source directories. There is no project build as before, but verbs readsource and writesource and similar can be used for this, see example build.ijs scripts.

Menu Project|Properties shows the *.jproj file.

Projects support git and svn. If your project is in either version control system, additional project menu items are shown.

See also Folders and Projects.

Config

Menu Edit|Configure has a list of config files. You need to restart the session for any changes to take effect.

See also Config for Jconsole and GTK IDE.

Package Manager

Package Manager (pacman) is the installer utility for the J Application Library (JAL).

See Package Manager and also Package Manager/jpkg

Snapshots

A life saver. more detail needed.

Ctags

Place cursor on a name or select a name, then either press Control-] or mouse right click to bring up a popup menu. Choose the choice Find Tag. It will jump to the definition or open a listbox for choosing when there are more than one occurrence.

This needs Tags files which can be generated by first installing jtags addons package from pacman, then run Menu Tools|Generate Tags.

See also Ctags.

Code Completion

Place cursor at the end of a word and press Control-[ will popup a code completion ui box which shows a list of proposal with the same prefix. Keep on typing will update the list incrementally.

There will be quite a delay during the first time code completion is invoked because it needs to parse Tags and dictionary files. Response time for subsequent calls in the same session will be faster.

Navigation keys: Up Down PageUp PageDn Home End Esc

Enter key: select the current proposal

Tab key: tab completion for the current high-lighted proposal

See Config for customization.

Auto Completion

Toggled by Menu Edit|Auto Completion. When enabled, type 6 alphanumeric characters will automatically popup the code completion ui box.

The number of characters need to type can be changed in Config

Context Sensitive Help

Place cursor on a name or select a name, then either press Control-F1 or Menu|Help|Context Sensitive. It will open the file containing the definition either in browser or in Edit tab.

It will, by default, search contexts in J Dictionary, J base library and gtk api documents. This can be customised by the noun ContextHelp in config.

See Config for customization.

Print

Content of either Edit or Term can be printed using GtkSourceView api. It will attempt to use the same setting for text font, line numbers and syntax highlighting colors as the view of Edit and Term. Print preview is also provided inside print dialog. Print preview in Linux is done using PDF in Linux and EMF in Windows, but EMF output in Windows is buggy and may be disabled.

Labs

Interactive labs available in Menu Help|Studio|Labs.

To advance a lab: Control-j

Not all labs run fine yet. Please participate in Labs: status of testing.

Demos

See also gtk demos.



Contributed by ChrisBurke.

Guides/Gtk IDE (last edited 2011-02-15 10:19:06 by BillLam)