Thor TWEeT #20: Quick Start Guide to IntellisenseX
When I began writing TWEeTs about IntellisenseX (back in January!), I could never have guessed that the topic would not be exhausted by now. But writing those TWEeTs engendered discussions and new ideas, so that much of what was described in the most
recent TWEeTs was not even imagined back then.
In re-reading those TWEeTS, one glaring omission jumped out at me – they explain how IntellisenseX works and how you can customize it, but they never touched on the first step – how to get started in the first place. So here we go.
Getting started with IntellisenseX
There are only a few steps to getting IntellisenseX up and running to provide a number of extensions to native FoxPro Intellisense. Once set up, you will find that using the dot (whether after object references or table references) produces the helpful
dropdown list in a lot of different places that instantly feel natural. There are also some further customizations you can make, most quite minor, that allow IntellisenseX to provide its assistance in a number of quite surprising ways.
To get started, open Tool Launcher, enter “IntellisenseX” in the filter box, and then click on the tool “IntellisenseX – by Dot” in the TreeView on the left.
Check off “Run at startup”. This will cause IntellisenseX to be enabled each time you start Thor in your IDE. (The tool “IntellisenseX – by Dot” is actually a toggle, enabling/disabling IntellisenseX; however the occasions where it was desirable to
have it disabled have been eradicated, so it can be turned on and left on.)
Then, click on the Options link to open the IntellisenseX options page in the Thor Configuration form.
On the first page of the IntellisenseX pageframe (“Filtering”), select the three options indicated below. The first two combine to form one of the sweet enhancements of IntellisenseX – the dropdown list is filtered as you type to show
only matching entries and the matches can be anywhere in the each row, not just to the leading characters.
The second page (“Fields”), controls how field names are displayed in drop down lists. I suggest setting the first two options as shown here and setting the third (“case for field names”) according to your own style. There is further customization
available, to be addressed later.
The third page (“Objects”) determines when IntellisenseX displays the drop down lists for objects in a visual class (THISFORM or THIS) or PRG-based class. Originally, you will want to use the default FoxPro Intellisense for SCXs and
VCXs. Without some additional configuration, IntellisenseX is simply too ponderously slow for objects in SCXs and VCXs. However, once you have created your Custom Keyword List (see TWEeTs
#19: Deficiencies in IntellisenseX (and how to avoid them) … The Custom Keyword List), you will want to select the second option (IntellisenseX).
The fourth and last page (“Display”) controls the display of the dropdown list used in IntellinsenseX. Be careful not to set the Display Count too large as you can get undesirable behavior if the dropdown list can’t fit either above or below
the current screen position. This setting should not matter too much, however, as you become familiar with IntellisenseX, since the filtering (set on the first page) will rapidly reduce your list to only a few entries.
Having set these few options, you have enough to begin using IntellisenseX. There are a number of features immediately available for you to take advantage of, described in earlier TWEeTs:
In addition, a number of other significant enhancements are available after some further configuration.
Note: IntellisenseX treats tables (whether VFP tables or SQL Server tables) merely as a special type of object, one where each member has a data type and (possibly) width. Thus, in all cases where you read “object” in any of the references
above, understand that the object could be an actual VFP object or the fields referenced in a table. The references to “oData” in the last bullet point above can actually be references to the field names related to a business object.
See also History of all Thor TWEeTs and
the Thor Forum.