Таблица IntelliSense содержит записи, которые определяют функциональные возможности IntelliSense как для родных Visual FoxPro элементов языка, так и для определенных пользователем. По умолчанию, таблица IntelliSense имеет имя FoxCode и хранится в файле FoxCode.dbf, который расположен в основном каталоге Microsoft Visual FoxPro и определен системной переменной _FOXCODE. Для получения более подробной информации смотрите описание Системная переменная _FOXCODE.

ЗамечаниеЗамечание

Таблица IntelliSense содержит ограниченную поддержку для окна Watch в отладчике Visual FoxPro Debugger, которая в свою очередь зависит от определения действительности значения для окна Watch.

Поддержка для окна Watch существует в таблице IntelliSense для следующих областей:

Поддержка функциональных возможностей IntelliSense не поддерживается для окна Watch для приведенного ниже:

В приведенной ниже таблице описывается структура таблицы IntelliSense.

Имя поля Тип (размер) Описание

Type

C (1)

Указывает тип элемента в записи. Для получения более подробной информации смотрите Действительные типа элементов для поля Type.

Abbrev

C (24)

Представляет минимальный набор печатаемых символов лоя активации функциональности IntelliSense для этого элемента. Текст, который вы печаете из поля Abbrev замещается текстов в поле Expanded.

Expanded

C (26)

Указывает текст, который IntelliSense использует для замещения текста, печатаемого в текущей позиции курсора. Текст в поле Expanded замещает текст, определенный в поле Abbrev.

Cmd

C (15)

Определяет ссылку на скрипт для этого элемента.

Tip

M

Определяет текст, отображаемый в окне Quick Info Tip.

Data

M

Определяет содержание для функциональных возможностей IntelliSense List Values, конкретный код Visual FoxPro для этого элемента или иной текст скрипта.

Case

C (1)

Определяет регистр букв для замещающего текста.

U = Uppercase

L = Lowercase

M or <empty> = Mixed case

P = Proper case

X = Unchanged

Любое значение, которое вы укажите в поле записи веврсии, устанавливает глобальную установку по умолчанию для индивидуальных записей, котороые не имеют установленного значения регистра.

Save

L

Определяет - будет ли сохранения запись при обновлении поля.

TimeStamp

T

Представляет уникальный метку времени для этого элемента.

Source

M

Определяет содержание источника записи. Слово RESERVED определяет базовое содержание, поставляемое с это версией Visual FoxPro. Это поле может содержать информацию о пути и имени файла для предоставленных пользователем записей.

UniqueID

C (10)

Определяет уникальный идентификатор для этой записи.

User

M

Определяет информацию пользователья.

Expand image Действительные типа элементов для поля Type

В приведенной ниже таблице описываются действительные значения и типы элементов для поля Type таблицы IntelliSense.

Значение в поле Type Тип элемента Описание

O

COM Component

Определяет ссылку на COM type library, до отображения в списке опции AS IntelliSense. Для получения более подробной информации смотрите Тип элемента COM Component.

C

Command

Определяет синтаксис завершения элементов для команд Visual FoxPro. Для получения более подробной информации смотрите Тип элемента Command.

E

XML

Определяет, что элемент является свойством или методом, который имеет метаданные memberdata. Для получения более подробной информации смотрите Расширяемость MemberData.

F

Function

Specifies syntax completion items for Visual FoxPro functions, procedures, and user-defined functions. Для получения более подробной информации смотрите Function Item Type.

P

Property

Определяет ссылки на скрипт для отображения редакторов значения для определенных свойств Visual FoxPro. Для получения более подробной информации смотрите Тип элемента Property.

S

Script

Определяет скрипты Visual FoxPro для запуска. Для получения более подробной информации смотрите Тип элемента Script.

T

Typing

Определяет элементы, которые появятся в списке опции AS IntelliSense или при обращении к объектам. Для получения более подробной информации смотрите Тип элемента Typing.

U

User

Определяет элементы авторасширения, определенные пользователем. В отличие от элементов Command, элемента User не требует точного соответствия шаблону. Для получения более подробной информации смотрите Тип элемента User.

V

Version

Определяет специальную запись для версии и отслеживаемой информации (резервирована). Для получения более подробной информации смотрите Тип элемента Version.

Тип элемента COM Component

Тип элемента COM Component определяет запись таблицы IntelliSense, чье содержание появится в списке IntelliSense опции AS, аналогично элементам Typing. Элемент COM Component определяет имя библиотеки типов COM, которая содержит коллекцию классов (ProgIDs) из которых Visual FoxPro может создавать экземпляры с помощью функции CREATEOBJECT( ). Поле Data для элемента COM Component содержит GUID и версию библиотеки типов.

В приведенной ниже таблице показан пример записи IntelliSense для элемента типа COM Component.

Имя поля Пример

Type

O

Abbrev

Excel

Cmd

{}

Tip

Microsoft Excel 9.0 Object Library

Data

{00020813-0000-0000-C000-000000000046}#1.3

Элемент типа Command

Элемент типа Command определяет запись таблицы IntelliSense, чье содержание дополняет или замещает синтаксис или отображается в окне Tip для команд Visual FoxPro.

ЗамечаниеЗамечание

Символы в поле Abbrev записей для элемента Command должны соответствовать начальным символам слов текста, расположенного в поле Expanded. Например, если поле Expanded содержит команду MODIFY COMMAND, поле Abbrev должно содержать начальные буквы MC.

В приведенной ниже таблице показан пример записи IntelliSense для элемента типа Command.

Имя поля Пример

Type

C

Abbrev

MC

Expanded

MODIFY COMMAND

Тип элемента _MemberData Property

Запись _MemberData поддерживает нуки построителя GetMemberData.

Имя поля Пример

Type

E - Указывает, что элемент является свойством или методом, имеющим метаданные

Abbrev

_GETMEMBERDATA - Имя свойства или метода члена

Data

Содержит скрипт, запускаемый для свойства или метода

Элемент типа Function

Элемент типа Function определяет запись таблицы IntelliSense, чье содержание завершает или замещает синтаксис или отображется в окне Tip для функций и процедур Visual FoxPro, а также для функций и процедур определенных пользователем.

В приведенной ниже таблице показан пример записи IntelliSense для элемента типа Function.

Имя поля Пример

Type

F

Abbrev

FCOU

Expanded

FCOUNT

Tip

[nWorkArea | cTableAlias]

Элемент типа Property

Элемент типа Property определяет запись в таблице IntelliSense, чье содержание может определять код в поле Data элемента или ссылку, содержащуюся в поле Data, на скрипт в элементе Script. Код или ссылка на скрипт могут быть запущены для отображения редактора настраиваемых значений, когда вы присваиваете значение свойству, которому соответствует элемент Property.

В приведенной ниже таблице показан пример записи IntelliSense для элемента типа Property.

Имя поля Пример

Type

P

Abbrev

.Picture

Cmd

{picture}

В этом примере поле Cmd содержит ссылку на скрипт "{picture}" для скрипта, хранимого в отдельном элементе Script. Поле Abbrev в записи элемента Script содержит символьную строку , "Picture", а код в его поле Data запускается, когда вы печатаете приведенную ниже строку кода или используете IntelliSense для завершения приведенного ниже синтаксиса:

  CopyCode imageCopy Code
Object.Picture=

Для получения более подробной информации смотрите Элемет типа Script.

Элемент типа Script

Элемент типа Script определяет запись таблицы IntelliSense, которая содержит код или данные в его поле Data. Когда вы храните код в отдельном элементе Script, то на него могут ссылаться или запускать его другие записи таблицы IntelliSense, у которых ссылка на скрипт указана в поле Cmd.

ЗамечаниеЗамечание

Ссылка на скрипт является необзятальным ключевым словом, которое появляется в поле Abbrev записи для элемента Script, но если она имеется, то заключена в фигурные скобки ({}).

Код, который запускает IntelliSense, должен содержать параметр посылаемый объекту FoxCode. Объект FoxCode содержит метаданные, описывающие способ вызова скрипта, включая исходную запись в таблице IntelliSense. Поэтому, код в поле Data должен содержать операторы PARAMETERS или LPARAMETERS для размещения ссылки на объект. Для получения более подробной информации об объекте FoxCode смотрите Объектая ссылка FoxCode.

Значение, возвращаемое кодом, замещает любой текст, который напечатан в текущей позици курсора. Однако, если возвращаемое значение оценивается в пустую строку (""), Visual FoxPro оставляет напечатанный текст неизмененным.

В приведенной ниже таблице показан пример записи IntelliSense для элемента типа Script.

Имя поля Пример

Type

S

Abbrev

Picture

Data

(Stored in a memo field)

  CopyCode imageCopy Code
LPARAMETERS oFoxcode
   LOCAL lcPicture
   oFoxcode.ValueType="V"
   lcPicture = GETPICT()
   IF LEN(lcPicture) > 0 
      lcPicture = ['] + lcPicture + [']
   ENDIF
   RETURN lcPicture

Разберем этот пример. Предположим, что поле Cmd в записи элемента типа Property для конкретного свойства Picture содержит ссылку на скрипт "{picture}" соответствующего элемента типа Script. Когда вы выбрали свойство Picture для объекта, просто напечатав .Picture с завершающим знаком равенства (=) и выбрали сборщик картинки, код в поле Data элемента Script будет запущен и отобразит диалоговое окно Open Picture.

Для получения более подробной информации об использовании скриптов смотрите описание задачи Как: создавать скрипты IntelliSense.

Элемент типа Typing

Элемент типа Typing определяет запись таблицы IntelliSense, чье содердание описывает элемент, который появится в списке IntelliSense для опции AS. Поле Data такой записи может, но не обязательно, содержать код, который возвращает значение, которое IntelliSense вставляет в текущую позицию курсора.

ЗамечаниеTip

Если вы включаете код в поле Data, то завершите его предложением с RETURN.

В приведенной ниже таблице показан пример записи IntelliSense для элемента типа Typing.

Имя поля Пример

Type

T

Abbrev

CommandButton

Data

CommandButton

Элемент типа User

Элемент типа User определяет запись таблицы IntelliSense, чье содержание завершает или замещает определенные пользователем сокращения. В отличие от поля Abbrev в записи для элемента Command, сокращение для элемента User не требует соответствия начальных букв слов текста в поле Expanded.

Имя поля Пример

Type

U

Abbrev

MYADDRESS

Expanded

101 Main Street

Элемент типа Version

Элемент типа Version определяет запись таблицы IntelliSense, которая содержит установки по умолчанию и информацию об отслеживании версии. Элемент типа Version зарезервирован для внутреннего использования.

Имя поля Пример

Type

V

Expanded

Идентифицирует последнюю версию IntelliSense. Зарезервировано для внутреннего использования.

Expand imageСмотрите также