Logo

Hacker’s Guide to Visual FoxPro
An irreverent look at how Visual FoxPro really works. Tells you the inside scoop on every command, function, property, event and method of Visual FoxPro.

_CodeSense, _FoxCode

These system variables, added in VFP 7, specify the locations of the IntelliSense Manager application and the IntelliSense table, respectively.

Usage

_CODESENSE = cIntelliSenseManager
cIntelliSenseManager = _CODESENSE
_FOXCODE = cIntelliSenseTable
cIntelliSenseTable = _FOXCODE

Parameter

Value

Meaning

cIntelliSenseManager

Character

The filename, including path, of the IntelliSense Manager application. By default, HOME() + "FoxCode.APP".

cIntelliSenseTable

Character

The filename, including path, of the table containing IntelliSense data. By default, "FoxCode.DBF" in the Visual FoxPro subdirectory of the user's profile directory. (In Windows 2000, "C:\Documents and Settings\<user name>\Application Data\Microsoft\Visual FoxPro".)

IntelliSense is surely the most noticeable change in VFP 7. It provides all kinds of ways to make the process of creating code easier. As is true of so much in VFP, IntelliSense is table-driven. The table referenced by the _FOXCODE system variable contains much of the data that makes IntelliSense work. You can change the table contents to make IntelliSense do things your way.

To make it easier to do so, VFP 7 includes the IntelliSense Manager (accessed through Tools | IntelliSense Manager), an application written in Visual FoxPro. The source code is provided (in HOME()+”Tools\xSource\xSource.ZIP”) and, if you wish, you can replace this application with one of your own. Just change the value of _CODESENSE to point to your application.

You can run the current IntelliSense Manager application by issuing:

DO (_CODESENSE)

To replace the FoxCode table with one of your own devising, you need to create the new table first, and it must contain at least one record—a version record. The best way to do this is to copy the current FoxCode table, and then get rid of what you don’t want.

Setting _FOXCODE to the empty string turns off IntelliSense entirely.

See “IntelliSense and Sensibility” in Section 5 for much more on IntelliSense.

Example

_CODESENSE = "MyIntelliSenseManager.APP"
_FOXCODE = HOME() + "MyFoxCode.DBF"

See Also

_Beautify, EditorOptions