Updated 2012-12-17 01:13:35 by RLE

Purpose: to discuss the various features implicitly considered minimally required for a Tcl/Tk based IDE.

See debugging for discussion of the various debugging utilities currently available. Despite all these tools, users continue to ask on various forums for pointers to an IDE. I'd like to see us use this space to describe what users want in such a tool. Perhaps one of the authors of the existing Tcl development tools will consider adding the missing features!

In the following, I have two requests. First, let's categorize the list of requirements as critical (you might as well not bother with the tool if it isn't present), important (not having this feature will frequently cause it to be overlooked), useful (not having this feature might result in the developer doing more work, but could be missing without major ramifications), and other. Second, mention the name of a Tcl related tool which has a particular feature if you know it happens to have it. That way, people can begin seeing what tools meet their needs. Remember, in the Tcl/Tk hypertools environment, one can develop glue so that various tools talk to one another.

Also, if person x considers a feature requirement to be low and someone else considers it to be higher, perhaps place the requirement both places and tag the requirement with your name.

Critical

  • Interactive debugger

TclPro's prodebug is an interactive debugger for Tcl and Incr Tcl

  • Graphically based application development environment, able to take advantage of any installed extensions

TKproE and Visual Tcl are two current applications which have the rough beginnings of this functionality

Important

  • Code/class browsing.

Red Hat's Source Navigator has this capability for several languages, including Tcl, Incr Tcl, C, C++, and FORTRAN. Mo DeJong of Red Hat has asked for help making a new Tcl parser, though.

Useful

  • Syntax sensitive editing with color highlighting
  • Extensibility: Be flexible enough to handle different Tcl or Tk extensions just by plugging in metadata so that IDE recognizes new widgets and new syntax
  • Ability to draw GUI interface and appropriate Tcl code generated

Komodo has this capability.

Other

  • Context sensitive help facility

Check RamDebugger a first trial of Tcl-Tk IDE.

My text editor has the ability to store and retrieve snippets of code, but it's not very well implemented, not very practical. Nevertheless, I find it very important.

How is this different from any normal ability of an editor to store and retrieve text?

If you store snippets in files and directories, you waste a lot of time browsing folders until you reach what you want. A code snippet manager lets you store and retrieve stuff in a much quicker and more convenient way. Komodo, for example, has such feature. You can even drag and drop with it.

NEM These snippet managers are meant to encourage cut-'n'-paste programming? Wouldn't it be better to make the snippet into a reusable proc and put it in a package for reuse?