You are on page 1of 39

INTELLISENSE

CON

VISUAL FOXPRO 9

Walter R. Ojeda Valiente


Asunción – Paraguay
Mayo de 2017
Walter R. Ojeda Valiente

INDICE

INTRODUCCIÓN --------------------------------------------- 4

ENTENDIENDO A INTELLISENSE ------------------------------- 5


¿Qué es el IntelliSense Manager? ----------------------- 6

PESTAÑA GENERAL ------------------------------------------ 7


¿Cómo se habilita el IntelliSense? --------------------- 7
List Members ------------------------------------------- 8
Quick Info Tips ---------------------------------------- 9
Functions ---------------------------------------------- 11
Commands ----------------------------------------------- 12
FoxCode default ---------------------------------------- 13
Apply changes to Visual FoxPro language only ---------–- 13
Browse ------------------------------------------------- 13
Mostrando una lista de las opciones disponibles -------- 15
Palabras en el medio de una instrucción ---------------- 16
Regresando después de una expansión -------------------- 16
Información rápida sobre comandos y funciones ---------– 17
La función SYS() --------------------------------------- 19
Lista de las propiedades y de los métodos de un objeto – 20
Jerarquía de objetos ----------------------------------- 20
Objetos COM -------------------------------------------- 21
Lista de valores posibles ------------------------------ 21
Lista de los archivos más recientemente usados --------- 22
Lista de los campos de una tabla ----------------------- 23

PESTAÑA TYPES -------------------------------------------- 24


Columna Type ------------------------------------------- 24
Edit --------------------------------------------------- 24
Type libraries … --------------------------------------- 25
Clases … ----------------------------------------------- 25
WebServices -------------------------------------------- 26

2
Walter R. Ojeda Valiente

PESTAÑA CUSTOM ------------------------------------------- 27


Replace ------------------------------------------------ 28
With --------------------------------------------------- 28
Type --------------------------------------------------- 28
Script ------------------------------------------------- 29
Edit --------------------------------------------------- 30
Add ---------------------------------------------------- 30

PESTAÑA ADVANCED ----------------------------------------- 34


Restore FoxCode ---------------------------------------- 36
Clean Up FoxCode --------------------------------------- 36
Clean Up Lists ----------------------------------------- 36
Zap Lists ---------------------------------------------- 36

INTELLISENSE PROGRAMÁTICAMENTE --------------------------- 37

CONCLUSIÓN ----------------------------------------------- 39

3
Walter R. Ojeda Valiente

INTRODUCCIÓN

Desde la aparición de Visual FoxPro 7 contamos con una herramienta


que puede ayudar mucho a aumentar nuestra productividad: IntelliSense.

Es un desperdicio que tengamos a nuestra disposición esa herramienta


excelente y no sepamos obtener de ella el máximo provecho.

El objetivo de este manual es, por lo tanto, ayudarte a conocer más y


mejor a IntelliSense. Ahorrarás muchísimo tiempo y por lo tanto serás mucho
más productivo cuando aprendas a usarla bien.

Si tienes alguna duda, consulta, o sugerencia, puedes contactarme en:

wrov@hotmail.com

4
Walter R. Ojeda Valiente

ENTENDIENDO A INTELLISENSE
¿Para qué sirve IntelliSense?

En tiempo de diseño, o sea cuando estás escribiendo tus programas, te


ayuda a completar los nombres de las funciones, de los comandos, de los
métodos, y de las propiedades. Además te muestra la lista de los archivos
más recientemente utilizados, los nombres de tus tablas, los nombres de tus
campos, y los nombres de las variables. También te muestra la sintaxis
correcta de cada función. Y asimismo te permite expandir nombres, escribes
dos o tres letras y él escribe el comando completo. Mucha funcionalidad.

¿Por qué mejora tu productividad si usas IntelliSense?

• Porque puedes elegir lo que quieres de la lista desplegable que se te


muestra.
• Esto evita que escribas mal el nombre de la función, de la propiedad o
del método. El Visual FoxPro los escribe por tí, así que siempre están
bien escritos.
• Puedes utilizar abreviaturas, y con solamente dos o tres letras escribir
palabras mucho más largas, e inclusive estructuras completas.
• No tienes que buscar en el Help del Visual FoxPro cual es la sintaxis
correcta de alguna función, comando, o método que usas poco.

5
Walter R. Ojeda Valiente

¿Qué es el IntelliSense Manager?

Es un programa, escrito en VFP, que se puede usar para configurar al


IntelliSense. Por defecto, su nombre es FOXCODE.APP y se encuentra en la
carpeta donde se instaló el Visual FoxPro. Podemos ver ese nombre mirando
el valor de la variable _CodeSense. El código fuente de FOXCODE.APP lo
podemos encontrar en la subcarpeta \Tools\XSource\FoxCode\ y si así lo
deseamos podemos crear nuestro propio Administrador de IntelliSense. Por
ejemplo, podríamos traducir todo el texto al idioma castellano, cambiar los
colores, o cualquier otra cosa que nos guste hacer. Para que el Visual FoxPro
pueda encontrar a nuestro propio Administrador de IntelliSense debemos
poner en la variable _CodeSense el nombre y la ubicación. Por ejemplo:

Listado 1.

? _CodeSense

_CodeSense = “E:\VFP\HERRAMIENTAS\INTELLISENSE_ADMIN.APP”

6
Walter R. Ojeda Valiente

PESTAÑA GENERAL

¿Cómo se habilita el IntelliSense?

Para habilitar a IntelliSense debes hacer clic en Tools (Herramientas) y


luego en IntelliSense Manager (Administrador de IntelliSense), tal y como
puedes ver en la Captura 1.

Captura 1. Abriendo la ventana del IntelliSense Manager

7
Walter R. Ojeda Valiente

Captura 2. La ventana del IntelliSense Manager

Al marcar la casilla “Enable IntelliSense”, ya lo tendremos habilitado


para su uso. Veamos para que sirve cada una de las distintas opciones:

List members. Tiene 3 ítems: Automatic, Manual, Disabled.

Automatic: Muestra todas las opciones que tenemos disponibles


cuando se presiona la tecla activadora. ¿Cuál es la tecla activadora?
Eso depende del contexto. Por ejemplo, en este caso es el punto.

Captura 3. La ventana del IntelliSense Manager

8
Walter R. Ojeda Valiente

Al presionar el punto automáticamente apareció un menú contextual


mostrando todos los métodos y todas las propiedades que posee el
objeto _Screen. Ahora, podemos bajar con el cursor y seleccionar el
método o la propiedad que nos interesa.

No se le pidió que aparezca ese menú, apareció solo, automáticamente


al presionar el punto. ¿Por qué? Porque el IntelliSense sabe que
siempre, en el 100% de los casos, después de escribir el nombre de un
objeto y un punto debemos escribir el nombre de una propiedad o de
un método. Eso es obligatorio. Entonces, lo que hace es mostrarnos
todas las propiedades y todos los métodos que ese objeto posee para
que elijamos el que nos interese.

Muy inteligente, y muy útil.

Manual: A veces, no queremos que el menú contextual aparezca


automáticamente, porque ya nos resulta molesto. Entonces lo que
podemos hacer es pedirle al IntelliSense que lo muestre al menú
contextual solamente cuando nosotros le pedimos que lo muestre.

En este ejemplo, el menú contextual aparecerá solamente después que


presionemos las teclas CTRL+J (o sea, presionamos la tecla CTRL y sin
soltarla presionamos la tecla J)

Disabled: El menú contextual nunca se muestra.

Quick info tips. Información rápida de la sintaxis. Tiene 3 ítems: Automatic,


Manual, Disabled. Sirve para mostrar la sintaxis correcta de las funciones.

Automatic: Nos muestra un corto mensaje de ayuda con la sintaxis del


comando o de la función que estamos escribiendo. De esa manera
podremos saber cuales son todos los argumentos que debe recibir ese
comando o esa función y así también sus tipos (carácter, numérico,
fecha, etc.)

9
Walter R. Ojeda Valiente

Captura 4. Vemos la sintaxis correcta de la función

La tecla activadora para las funciones es el paréntesis abierto. ¿Por


qué? Porque el IntelliSense sabe que después de escribir el nombre de
una función y abrir un paréntesis, sí o sí debemos escribir todos los
argumentos de esa función. En la Captura 4. notamos varias cosas
interesantes: a) la función DATE() puede recibir 3 argumentos o ningún
argumento, los corchetes eso nos indican. b) los tres argumentos de la
función DATE() deben ser numéricos ¿cómo sabemos eso? porque los
nombres empiezan con la letra “n”, abreviatura de “numeric” c) Aún
no hemos escrito ningún argumento, por eso el primer argumento está
en negritas.

Captura 5. Debemos escribir el segundo argumento, que es numérico

Después de escribir el año (en este caso: 2017) y una coma, el segundo
argumento es puesto en negritas. Eso nos está indicando que ese es el
argumento que debemos escribir ahora. También nos indica que allí
debemos escribir un número ¿cómo lo sabemos? Porque el nombre del
segundo argumento empieza con una letra “n”, que es la abreviatura
de “numeric”.

Captura 6. Los argumentos de la función SUBSTR()

10
Walter R. Ojeda Valiente

En la Captura 6. vemos que: a) Los dos primeros argumentos de la


función SUBSTR() son obligatorios y el tercer argumento es opcional. Es
opcional porque está rodeado por corchetes. b) El primer argumento
debe ser una expresión de tipo carácter. Sabemos que debe ser de tipo
carácter porque su nombre empieza con la letra “c”, abreviatura de
“character”. c) El segundo argumento debe ser un número, que
indicará la posición inicial. d) El tercer argumento debe ser un número,
que indicará la cantidad de caracteres que la función SUBSTR() nos
devolverá.

Manual: Si nos resulta molesto que cada vez que escribimos el nombre
de una función y abrimos un paréntesis aparezca el mensajito de ayuda
entonces podemos ordenarle al IntelliSense que lo muestre solamente
cuando se lo pedimos. Para eso, debemos presionar las teclas CTRL+I (o
sea la tecla CTRL y sin soltarla, la tecla I).

Disabled: Nunca mostrará los mensajitos de ayuda.

Functions. Tiene 7 ítems: UPPERCASE, lowercase, Propercase, MixedCase,


Use FoxCode default, No auto-expansion, Leave current settings. Te permite
elegir como se verá el nombre de las funciones que escribas.

UPPERCASE. Todo el texto se mostrará en mayúsculas.

lowercase. Todo el texto se mostrará en minúsculas

Propercase. La primera letra se mostrará en mayúsculas y todas las


demás en minúsculas.

MixecCase. También llamado “notación camello”. La inicial de cada


palabra en mayúsculas, todas las demás letras en minúsculas.

Use FoxCode default. En el caso de funciones y comandos, usar lo que


se haya especificado en la tabla FOXCODE.DBF

No auto-expansion. No cambiará lo que tú hayas escrito.

11
Walter R. Ojeda Valiente

Leave current settings. Dejar todo como estaba. Por ejemplo, si habías
anteriormente elegido MixCase, se continuará usando MixCase.

Ejemplo: Si en el ComboBox llamado Functions seleccionamos la


opción UPPERCASE, esto es lo que pasará:

Captura 7. El nombre de la función lo escribimos en minúsculas

Captura 8. Al abrir el paréntesis el IntelliSense lo cambió a MAYÚSCULAS

Commands. Tiene 7 ítems: UPPERCASE, lowercase, Propercase, MixedCase,


Use FoxCode default, No auto-expansion, Leave current settings. Te permite
elegir como se verán los nombres de los comandos que escribas.

Todas las opciones son idénticas a las de Functions, que ya habíamos


visto.

Ejemplo: Si en el ComboBox llamado Commands seleccionamos la opción


UPPERCASE, esto es lo que pasará:

Captura 9. El nombre del comando lo escribimos en minúsculas

Captura 10. Al presionar la barra espaciadora se convierte a MAYÚSCULAS

12
Walter R. Ojeda Valiente

En el caso de los comandos, la tecla activadora es el espacio en blanco.


El nombre del comando aparece subrayado para indicarnos que aún no
está completo, o que no es la sintaxis correcta. En este caso nos está
faltando escribir el nombre del informe y el Visual FoxPro sabe que no
hemos escrito el nombre del informe, por eso el subrayado.

FoxCode default: Este tiene 5 ítems. UPPERCASE, lowercase, Propercase,


MixedCase, No auto-expansion

Aquí, podemos elegir cual de esas opciones queremos que se use por
defecto en la tabla FOXCODE.DBF

Apply changes to Visual FoxPro language only: Si marcas esta opción, el ítem
que hayas elegido en FoxCode default se aplicará solamente a las funciones y
a los comandos del Visual FoxPro, pero no a las abreviaturas (que veremos
más adelante).

Browse. Muestra el contenido de la tabla FOXCODE.DBF

Captura 11. Al hacer clic sobre el botón “Browse” se muestra la tabla


FOXCODE.DBF

13
Walter R. Ojeda Valiente

Campo Explicación
Type Especifica el tipo de registro. Sus valores puedes encontrar
en la Tabla 2.
Abbrev Es la cantidad mínima de caracteres tipeados para activar a
IntelliSense en este ítem. Lo que escribas aquí será
reemplazado por el contenido del campo Expanded.
Expanded Es el texto que IntelliSense usará para reemplazar al que tú
hayas escrito.
Cmd Especifica el script de referencia de este ítem.
Tip Es el texto que se mostrará en la ventana Quick Info Tip.
Data Especifica contenidos para IntelliSense List Values, código
de Visual FoxPro específico para este ítem, u otro texto de
script.
Case Es una letra que especifica por qué debe reemplazarse el
texto:
U = UpperCase (Mayúsculas)
L = LowerCase (Minúsculas)
M o en blanco = MixedCase (Iniciales en mayúsculas)
P = Proper (La primera inicial en mayúsculas)
X = Unchanged (No se cambia)
Save Especifica si el registro será grabado automáticamente
cuando algún campo sea modificado.
TimeStamp Fecha y hora en que se cambió este registro
Source El lugar donde se encuentra el contenido del registro. La
palabra RESERVED indica que se trata de contenido puesto
por el propio Visual FoxPro. Si el registro será de tu propia
creación, aquí puedes escribir la ubicación y el nombre del
archivo que contiene los datos.
UniqueID El Identificador de este registro.
User Información del usuario.
Tabla 1. Estructura de la tabla FOXCODE.DBF

14
Walter R. Ojeda Valiente

Valor Significado
O Componente COM. Es la biblioteca COM que se muestra con la
cláusula AS.
C Comando. Se trata de un comando del Visual FoxPro.
E XML. Es una propiedad o un método que tiene metadatos.
F Función. Se trata de una función del Visual FoxPro.
P Propiedad. Referencia a un script.
S Script. El script de Visual FoxPro que debe ejecutarse.
T Typing. Los ítems que aparecen después de la cláusula AS.
U Usuario. Un ítem que el usuario definió, y que debe expandirse.
V Versión. Es un registro especial, usado para controlar la versión y
la actividad realizada.
Tabla 2. Valores que puede tener el campo TYPE de la tabla FOXCODE.DBF

Mostrando una lista de las opciones disponibles

Cuando escribes una palabra que es el inicio de varios comandos y


luego presionas la barra espaciadora, el IntelliSense te muestra todos los
comandos que puedes elegir.

Captura 12. Al escribir la palabra MODIFY nos muestra las posibles


segundas palabras que podemos elegir

15
Walter R. Ojeda Valiente

Captura 13. Al escribir la palabra SET nos muestra las posibles segundas
palabras que podemos elegir

Palabras en el medio de una instrucción

El IntelliSense no reemplaza palabras que están en el medio de una


instrucción. Solamente reemplaza las que están al principio. Por ejemplo:
REPLACE MiCampo WITH MiVariable WHILE MiCondicion

En ningún caso te reemplazará el WHILE, siempre deberás escribir la


palabra completa.

Regresando después de una expansión

Si el IntelliSense te expandió una palabra y eso no te gusta, y quieres


dejarla como estaba antes, entonces puedes presionar CTRL+Z para volver al
estado anterior.

Cada vez que presionas CTRL+Z se deshace lo último que habías hecho.

Captura 14. Si después de “Command” presionamos CTRL+Z

16
Walter R. Ojeda Valiente

Captura 15. Desaparecerá la palabra “Command”

Captura 16. Y si volvemos a presionar CTRL+Z, se queda en blanco

Información rápida sobre comandos y funciones

Después de escribir REPL y presionar la barra espaciadora, el Visual


FoxPro hace dos cosas:

1. Completa la palabra, la reemplaza por REPLACE.


2. Muestra una ventanita de ayuda. Esa ventanita es llamada “Quick Info”
o “información rápida”, en castellano. Y puede ser muy útil, porque
nos muestra la sintaxis correcta del comando o de la función que
hayamos escrito.

Captura 17. Después de escribir REPL y presionar la barra espaciadora

¿No te ha ocurrido que al necesitar usar la función AT() no recuerdas si


el texto que buscas debe ser el primer o el segundo argumento de esa
función?

17
Walter R. Ojeda Valiente

Captura 18. La sintaxis correcta de la función AT()

Gracias al IntelliSense ya sabes cual es el orden correcto.

Algunos comandos o funciones, tienen una lista predefinida de valores


que se pueden usar, y en ese caso la “Quick Info” nos muestra cuales son
esos valores.

Captura 19. Todos los posibles valores del segundo argumento de la función
MessageBox()

En la Captura 19. vemos que el segundo argumento de la función


MessageBox() debe ser numérico. Pero no cualquier número. Solamente se
pueden usar los números allí listados. Y como arriba nos dice additive eso
significa que podemos sumar los valores de esos números. Por ejemplo, para

18
Walter R. Ojeda Valiente

mostrar los botones “Sí” y “No”, debemos usar el número 4. Si deseamos que
aparezca un signo de exclamación entonces debemos sumarle 48. O sea, que
debemos poner 52 (que es 4 + 48).

Captura 20. El resultado de ejecutar la función MESSAGEBOX()

La función SYS()

Esta es una función especial, porque aunque el nombre es siempre el


mismo, se trata de muchísimas funciones diferentes. Para elegir a la función
deseada se especifica su número en el primer argumento.

Captura 21. Algunas de las funciones de la función SYS()

19
Walter R. Ojeda Valiente

Lista de las propiedades y de los métodos de un objeto

Cuando se trata de un objeto, al escribir su nombre y un punto (el


punto es la tecla activadora) observamos todas las propiedades y todos los
métodos que posee.

Captura 22. Las propiedades y los métodos de un objeto

NOTA: Si todavía no conoces para que sirve o como se usa la clase


ReportListener, debes leer el documento: “INFORMES EN VISUAL FOXPRO 9”,
valdrá la pena.

Jerarquía de objetos

Cuando debemos escribir una larga lista de objetos, el IntelliSense


también nos puede resultar muy útil. Por ejemplo, si debemos escribir algo
como:
ThisForm.PageFrame1.Page3.Grid1.Column4.Header.Caption = “Código”

Lo que podemos hacer es: escribir ThisForm y presionar el punto y


elegir PageFrame1 y presionar el punto y elegir Page3 y presionar el
punto y elegir Grid1 y así sucesivamente.

20
Walter R. Ojeda Valiente

Objetos COM

IntelliSense nos puede mostrar las propiedades y los métodos no


solamente de los objetos nativos del Visual FoxPro sino también de objetos
creados externamente, por ejemplo, planillas Excel.

Captura 23. Después de crear el objeto Excel podemos ver todas sus
propiedades y todos sus métodos

Como se puede ver en la Captura 23., después de presionar la tecla


activadora, el IntelliSense nos muestra todas las propiedades y todos los
métodos que posee un objeto Excel.

Lista de valores posibles

En algunos casos, la lista de valores que puede tener una propiedad es


una cantidad limitada, y el IntelliSense nos puede mostrar todos esos valores
si presionamos la tecla “=” después del nombre de la propiedad.

21
Walter R. Ojeda Valiente

Captura 24. Después de presionar = se muestran los valores posibles

Captura 25. Después de presionar = se muestran los valores posibles

Lista de los archivos más recientemente usados

Cuando escribimos el nombre de un comando que debe abrir algún


tipo de archivo y luego un espacio en blanco, el IntelliSense nos muestra los
últimos archivos que usamos con ese comando. A esa lista se le llama MRU
en inglés (Most Recently Used). La Captura 26. nos muestra un ejemplo.

Captura 26. Los últimos archivos abiertos con el comando USE

22
Walter R. Ojeda Valiente

Lista de los campos de una tabla

También podemos ver todos los campos de una tabla. El espacio


después del comando REPLACE es la tecla activadora.

Captura 27. Los campos de la tabla SUCURSALES, ordenados


alfabéticamente

23
Walter R. Ojeda Valiente

PESTAÑA TYPES

Captura 28. La pestaña Types

Controla la visualización de los tipos de datos disponibles y otros


elementos cuando se implementa una tipificación fuerte, por ejemplo, al
declarar LOCAL myVar AS utilizando el comando LOCAL.

Columna Type

Lista los elementos y tipos de datos que pueden aparecer en el cuadro


de lista de cláusula AS para ciertos comandos de Visual FoxPro. Un asterisco
en la tercera columna indica que el campo de datos para ese elemento
contiene código de secuencia de comandos en la tabla IntelliSense. Para
ocultar un elemento de la lista, hay que desactivar la casilla de verificación
junto al elemento.

Edit

Muestra el elemento seleccionado de la lista Types en una ventana de


exploración para que puedas editar su registro en la tabla de IntelliSense.

24
Walter R. Ojeda Valiente

Type libraries…

Busca en el registro de Windows las bibliotecas de tipos COM y ActiveX


disponibles. Puedes seleccionar bibliotecas de tipos que aparezcan en el
cuadro de diálogo Type Library References para agregarlas a la lista de
elementos disponibles para escribir fuertemente (strong typing).

Captura 29. La biblioteca de referencias de tipos

Clases…

Abre el cuadro de diálogo Open para que puedas seleccionar una clase
del Visual FoxPro que deseas agregar a la lista de elementos disponibles para
escribir fuertemente (strong typing).

25
Walter R. Ojeda Valiente

Captura 30. Al presionar el botón Clases… se muestra la ventana Open

Web Services…

Abre el cuadro de diálogo Registro de servicios Web XML de Visual


FoxPro para que puedas agregar un servicio Web a la lista de elementos
disponibles para escribir fuerte (strong typing). Si no tienes instalado el SOAP
Toolkit, te aparecerá un cuadro de diálogo informándote eso.

26
Walter R. Ojeda Valiente

PESTAÑA CUSTOM
Te posibilita agregar o modificar registros definidos por el usuario en la
tabla FOXCODE.DBF, que es la usada por el IntelliSense. También si lo deseas
puedes ver el contenido de esa tabla desde la ventana de comandos del
Visual FoxPro. Para eso:

1. Deshabilita el IntelliSense
2. Escribe: USE (_FOXCODE)
3. BROWSE

Un asterisco en la tercera columna te indica que el campo DATA contiene


un script. Un script está compuesto por varias líneas de código.

Captura 31. La pestaña Custom del IntelliSense Manager

27
Walter R. Ojeda Valiente

Replace

Los caracteres que debes escribir para que sean reemplazados por los
que se encuentran en With. Por ejemplo, si escribes CR esos caracteres se
reemplazarán por Create Report, tal como puedes ver en la primera fila de la
Captura 31.

With

Son los caracteres que se mostrarán cuando escribas los caracteres que
se encuentran en Replace.

Type

Lista los tipos que puedes seleccionar para el ítem. De acuerdo a lo que
selecciones aquí el IntelliSense sabrá cual será la tecla activadora. Si por
ejemplo eliges “Command”, sabrá que es el espacio en blanco. Si eliges
“Function”, sabrá que es el paréntesis abierto. Si eliges “Property” sabrá que
es el punto.

Captura 32. CR es un comando, y se reemplazará por CREATE REPORT

28
Walter R. Ojeda Valiente

Captura 33. SU es una función, y se reemplazará por SUBSTR(

Si por ejemplo en la ventana de comandos escribes ? SU( verás que es


reemplazada por ? SUBSTR(

Script

Abre una ventana de edición para agregar o modificar el código de un


script. Ese script se puede ver en el campo DATA del ítem.

Captura 34. Un script contiene varias líneas de código

29
Walter R. Ojeda Valiente

Captura 35. Resultado de escribir TRYEND dentro de un .PRG

Al escribir TRYEND dentro de un .PRG, o dentro de un formulario, se


expande y se muestra lo que vemos en la Captura 35.

Edit

Cada uno de los ítems que vemos en la pestaña Custom corresponde a


un registro de la tabla FOXCODE.DBF y al elegir Edit nos muestra ese registro.

Captura 36. El registro que corresponde al ítem, en la tabla FOXCODE.DBF

Add

Agrega un ítem, con lo que hayas especificado en Replace y en With, a


la tabla FOXCODE.DBF, usada por el IntelliSense.

Para que veas al botón Add debes escribir en Replace dos o más
caracteres que ya no se encuentren en la lista.

30
Walter R. Ojeda Valiente

Captura 37. Como las letras WR del Replace no existían, se muestra el


botón Add

Captura 38. Al hacer clic en Add se agregará el ítem a la tabla FOXCODE.DBF

31
Walter R. Ojeda Valiente

Y a partir de ahora, cada vez que escriba las letras WR, el IntelliSense
automáticamente las reemplazará por ? “Walter R. Ojeda V.”, interesante,
¿verdad?

Desde luego que normalmente lo que harás será abreviar los nombres
de los comandos y de las funciones más usados.

Lo bueno, más que bueno, buenísimo, de la pestaña Custom es que


puedes tener todas las abreviaturas que quieras, e inclusive cambiar algunas
de ellas, si no te gustan. Por ejemplo, cuando escribes MC se reemplaza por
MODIFY COMMAND pero puedes cambiar eso. Si prefieres que se reemplace
por MODIFY CLASS entonces simplemente escribes esas palabras, haces clic
en el botón Replace y listo. Desde ese momento cuando escribas las letras
MC se reemplazarán por MODIFY CLASS.

Captura 39. Cambiando a MC para que se remplace por MODIFY CLASS

32
Walter R. Ojeda Valiente

¿Y si quieres tener a MODIFY COMMAND y también a MODIFY CLASS?

En ese caso, deberías tener dos abreviaturas: una para MODIFY


COMMAND y la otra para MODIFY CLASS. Por ejemplo, puedes usar MC para
MODIFY COMMAND y usar MC2 para MODIFY CLASS.

Como agregar MC2 a la tabla FOXCODE.DBF ya lo sabes, puedes verlo


en la Captura 38.

33
Walter R. Ojeda Valiente

PESTAÑA ADVANCED

Te permite cambiar las propiedades del IntelliSense que afectan a su


funcionalidad y también realizar algunas tareas de mantenimiento.

Captura 40. Las opciones de la pestaña Advanced

Captura 41. Propiedades que afectan al IntelliSense

34
Walter R. Ojeda Valiente

Propiedad Descripción Por defecto


lEnableFullSetDisplay Determina si se agregará la segunda T
palabra, por ejemplo: TO, en el comando
SET
lHideScriptErrors No mostrar los errores de script del F
IntelliSense

lKeywordCapitalization Habilita cambiar a mayúsculas y expandir T


los comandos

lPropertyValueEditors Habilita a los scripts de lanzan los valores T


del editor para ciertas propiedades

lExpandCOperators Habilita la expansión de operadores, al T


estilo del Lenguaje C, tales como ++, --,
+=, -=, etc.
lAllowCustomDefScripts Habilita a los scripts a ser incluidos dentro T
del manejador de scripts por defecto

lEnableMultiWordCmdExp Determina si se expandirán los comandos T


que tienen varias palabras

lDebugScripts Permite el debug de los scripts del F


IntelliSense

Tabla 3. Las propiedades globales del IntelliSense

T = True (verdadero)

F = False (falso)

Puedes personalizar a tu gusto el comportamiento del IntelliSense


cambiando los valores de las propiedades mostradas en la Tabla 3.

35
Walter R. Ojeda Valiente

Captura 42. Las tareas de mantenimiento al IntelliSense

Restore FoxCode. Restaura el contenido de la tabla FOXCODE.DBF a sus


valores originales, para todos los elementos del Visual FoxPro. Los ítems
definidos por el usuario permanecen pero si quieres, los puedes borrar
manualmente en la pestaña Custom.

Clean Up FoxCode. Elimina definitivamente a los registros que hayan sido


marcados para ser borrados en la tabla FOXCODE.DBF

Clean Up Lists. Elimina los archivos que ya no existen de las listas MRU (los
más recientemente usados).

Zap Lists. Elimina todos los archivos de las listas MRU.

36
Walter R. Ojeda Valiente

INTELLISENSE PROGRAMÁTICAMENTE

Como ya hemos visto anteriormente, IntelliSense también puede


escribir por tí varias líneas de código. Por ejemplo, si presionas las letras DC y
un espacio en blanco …

Captura 43. La expansión de las letras DC en una completa DEFINE CLASS

Solamente escribimos 2 letras y todo lo que vemos en la Captura 43.


apareció automáticamente. Así que, como puedes ver, IntelliSense puede
hacer mucho para aumentar la velocidad en que escribes tus programas.

37
Walter R. Ojeda Valiente

Captura 44. Al escribir DOWHILE el IntelliSense hizo la expansión

Captura 45. Al escribir DOCASE el IntelliSense hizo la expansión

Captura 45. A6 escribir IFELSE el IntelliSense hizo la expansión

En las tres capturas de arriba vemos algunos ejemplos de como el


IntelliSense puede expandir automáticamente las palabras abreviadas. Eso
nos puede hacer ahorrar mucho tiempo, una vez que nos acostumbramos.

38
Walter R. Ojeda Valiente

CONCLUSIÓN

IntelliSense es una gran herramienta, que puede hacernos mucho,


pero mucho, más productivos. Debemos conocer bien a esta herramienta
porque realmente el tiempo que empleemos en conocerla se verá más que
suficientemente recompensado.

Si aún no usabas IntelliSense o la usabas poco, espero que después de


leer este documento veas lo importante que puede ser para ti.

Si tienes dudas, preguntas, o comentarios, puedes contactarme en:

wrov@hotmail.com

39

You might also like