Autocomplete and IntelliSense

If you’ve been developing programs for a while, you probably either love autocompletion features or you hate them.  If you’re in the former camp, or you’re just getting started with programming, this tip is just for you.  Autocomplete, or the Microsoft equivalent, IntelliSense, is a feature within certain software that tries to automatically complete what you’ve started typing before you finish typing all of the letters yourself.  For a lot of people, this is a real time-saver and can prevent typographical mistakes.  But what if you’re working on code in a text file, or in a development environment that doesn’t have autocomplete?  Here are a few utilities that can help you out. 

PhraseExpress

A freeware utility (with a commercial cousin), PhraseExpress offers autotext (text substitution), autocomplete (finishing what you start to type), spell checking, and a program launcher (from text shortcuts).  The interface is polished, and options for the various autocompletions appear in contextual menus.  The tool includes some advanced features, too, like the ability to include formatting and images in the inserted text (more useful for email signatures and the like than for coding applications).

Texter

If you haven’t browsed through the Lifehacker website, checking out the Texter tool might be your introduction to a new resource.  The folks over at Lifehacker offer a number of time-saving tips, and they actually wrote Texter.  This open source Windows application runs in the system tray as a universal text substitution tool, meaning it works in any Microsoft Windows application.  You can start with basic things like replacing text using a hotstring.  For example, when I type “newSTUtil” and then the TAB key, Texter will replace “newST” with “Set SmUtil = SmSession.GetService(“SmUtil.SmSessionUtil”)”  You can see how this would be handy for enhancing simple coding tools like BasicScript, the development utility that is included with ENOVIA SmarTeam.

TypingAid

Another very basic tool, TypingAid requires you to setup a text substitution list (wordlist.txt) to use as its “guide”.  Based on the content of this file, the executable watches what you type and suggests possible matches from your wordlist.txt file.  You simply choose the number of the entry that you want to use, and your text is automatically completed.  It’s very simple, but very effective.  TypingAid is also available as open source software.

AutoHotKey

AutoHotKey (AHK) is the granddaddy of all Microsoft Windows-based autocomplete utilities.  In fact, Texter and TypingAid (mentioned above) are both written in AutoHotKey’s scripting language.  AHK is useful for a lot more than text substitution and autocompletion, though – you can automate any series of keystrokes or mouse clicks by hand or through the use of AHK’s macro recorder.  What’s more, you can compile your AutoHotKey macros into their own executables that can be run on other computers that don’t have AutoHotKey installed.

So there you have it, IntelliSense everywhere (in Microsoft Windows at least), and for free too.  What are your favorite productivity enhancing tools for programming?  Leave us a comment below and share your tips and tricks.

Tags: , , , , , ,

Read more posts by

This entry was posted on Tuesday, August 31st, 2010 at 10:39 am and is filed under Developer's Corner, Development / Programming, Utilities. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
  • http://www.sandc.com Ramón Rocha

    Cool stuff, Jonathan. Have you ever heard of anyone using AHK scripts to do something like automate testing of GUIs?

  • http://www.razorleaf.com Jonathan Scott

    @Ramon – No, I’m not expert in AHK by any means, but when researching it a bit to write the article, it certainly crossed my mind. It seems like AHK would be great for automated testing (and of course I was thinking of PLM applications). With the ability to click the mouse at any coordinates and send any keystrokes you want, I would think you just need to have a good handle on your interface and then the sky would be the limit. Let me know if you try it out – I’d be interested in the results.