Intellisense (auto completado de código) en Xailer

Estimados usuarios de Xailer,

Como bien podéis imaginar por el título de esta publicación, la próxima versión de Xailer (2.5) incluirá soporte de ‘Intellisense’ o completado de código al igual que hacen otras herramientas de desarrollo de más renombre.

Xailer será posiblemente el primer entorno de desarrollo basado en [x]Harbour que aporte ‘Intellisense’ o completado de código, y no sólo de funciones, sino también de clases y miembros de las mismas con cualquier nivel de herencia, tanto a nivel de la RTL de Xailer como de los propios proyectos o subproyectos que tenga el usuario abiertos.

Entendemos que hoy por hoy es una funcionalidad casi imprescindible en cualquier entorno de desarrollo que quiera realmente ser profesional y de hecho ha sido una de las grandes peticiones que nos han hecho desarrolladores provenientes de otros entornos como Visual FoxPro o Visual Basic, entre otros.

El trabajo no ha sido fácil, ya que como seguro sabréis [x]Harbour, como Clipper, no es un lenguaje estrictamente tipado por lo que todo el trabajo se ha tenido que hacer analizando el código fuente en profundidad y todo ello, con la mayor rapidez posible para que el funcionamiento del editor de código no se resintiese en absoluto del trabajo adicional a realizar.

Debido precisamente a que [x]Harbour no es un lenguaje estrictamente tipado, para que el Intellisense funcione correctamente es necesario ayudarle a veces indicándole el tipo de las variables que estamos utilizando o cuando creemos clases indicando el tipo de cada uno de sus miembros.

Como se puede observar en la imagen, al definir la variable oVar hemos indicado que su tipo es TForm2. De está forma el IDE es capaz de saber que dicha clase tiene una propiedad de nombre oLabel1 que es del tipo TLabel y por lo tanto nos muestra todos los miembros de dicha clase, indicándonos si son propiedades, métodos o eventos. La cláusula AS puede ser utilizada en la declaración de variables, parámetros de funciones y declaración de miembros de clases.

Para realizar el completado código tan sólo hay que pulsar bien la tecla ‘:’ indicando la inclusión de un nuevo objeto, la tecla ‘(‘ para comenzar el paso de parámetros o simplemente la tecla Intro.

El soporte de ‘Calltips’ que hasta ahora veníamos ofreciendo únicamente en funciones de [x]Harbour y Xailer, se amplía con los métodos y eventos de toda la jerarquía de clases de Xailer e incluso con las funciones y clases de usuario que hayan sido creadas en el propio proyecto o subproyectos. Si desea que los ‘calltips’ sobre sus propias funciones o métodos indiquen el tipo de dato que retornan puede utilizar la siguiente construcción que como podrá observar se utiliza constantemente en los fuentes de Xailer: // -->

FUNCTION AtoC( aData ) // –> cString

Actualmente, la versión preliminar de Xailer 2.5 está siendo fuertemente probado por un grupo de usuarios seleccionado, pero esperamos que esté listo en breve.

Un cordial saludo

El equipo de Xailer