Diálogo Preferencias
Esta ventana permite configurar el aspecto y comportamiento general de ZinjaI. Para acceder a ella puede utilizar la opción Preferencias del menú Archivo o el atajo de teclado Ctrl+P. Las opciones se encuentran agrupadas de la siguiente forma:
Pestaña General: Muestra algunas opciones sobre el comportamiento del sistema.

- Idioma de la interfaz: Permite alternar el idioma entre español e ingles. Deber reiniciar el entorno para que el cambio tenga efecto. Nota: este idioma solo se aplica a la interfaz de ZinjaI, pero no a los mensajes del compilador y de otras herramientas externas.
- Mostrar sugerencias al inicio: Permite mostrar un cuadro de sugerencias cada vez que ingresa al sistema. Las sugerencias refieren mayormente al uso del entorno y presentan tips para facilitar y agilizar el desarrollo. Si se habilita el Panel de Bienvenida, la ventana de sugerencia no aparecerá y esta opcion no tendrá ningún efecto, ya que las sugerencias se muestran en la parte inferior de dicho panel.
- Mostrar panel de bienvenida: al iniciar, muestra en el área de código un panel con opciones para abrir archivos/proyectos recientes o crear nuevos.
- Mostrar pestañas de ayuda en diálogos: Muestra una pestaña o cuadro de texto con ayuda adicional en algunos cuadros de diálogo como Preferencias, Opciones de Compilación y Ejecución de Proyectos, Asistente Para Nuevo Archivo/Proyecto, etc.
- Archivos en el historial: Determina el número de archivos que se mostrarán en el submenú Abiertos Recientemente del menú Archivo. Cualquiera sea el número seleccionado, el verdadero historial de ZinjaI guarda 50 archivos y 50 proyectos. Para acceder a las listas completas puede utilizar el item Mas... del los submenues de archivos y proyectos recientes del Menu Archivo, o el link correspondiente en el panel de bienvenida.
- Mostrar el explorador de archivos al iniciar: Si esta opción está activada, cuando se inicie ZinjaI se desplegará automáticamente el panel del Explorador de Archivos, mostrando el árbol de archivos y subdirectorios del último directorio trabajado (en el cual se guardó o desde el cual se abrió algún archivo).
- Agrupar arboles en un solo panel: Por defecto los paneles Árbol de Proyecto, Árbol de Símbolos y Explorador de Archivos se acoplan a la ventana principal como tres paneles individuales e independientes. Si esta opción está seleccionada estos tres paneles se muestran como un único panel con tres pestañas en la parte inferior para seleccionar cada cual de ellos visualizar.
- Ocultar paneles automaticamente: Si esta opción está seleccionada, los nombres de los paneles acoplables más comunes se visualizarán en los márgenes de la ventana principal, permitiendo desplegar dichos paneles con solo colocar el puntero del mouse sobre alguno de estos nombres, y haciendo que se oculten nuevamente al retirar el puntero de los mismos. De esta forma, el área de código se maximiza y todos los paneles usuales permanecen fácilmente accesibles, pudiendo además bloquearse temporalmente para que permanezcan siempre visibles en caso de ser necesario (recomendado para PC con pantallas pequeñas como netbooks y notebooks).
- Utilizar una sola instancia de ZinjaI: Cuando se abre un archivo fuente asociado a Zinja (pero no un proyecto) desde el explorador de archivos del sistema operativo, esta opción hace que si ya había una instancia de ZinjaI en ejecución (y no se encontraba en modo proyecto), el nuevo archivo se abra dentro de dicha instancia en lugar de crear una nueva.
- Verificar si existen nuevas versiones al iniciar: Si esta activado, cada vez que ingrese a ZinjaI este intentará conectarse a travez de Internet con su sitio web para verificar si existen nuevas versiones estables, y en caso afirmativo advertirá al usuario ofreciendo abrir el sitio de descarga.
- Personaliar atajos de teclado Despliega un cuadro de diálogo que permite consultar y modificar las combinaciones de teclas asociadas a diferentes acciones de ZinjaI (comandos de los menúes de la ventana principal, acciones de edición especiales, etc.). Vea Personalizar Atajos de teclado

Pestaña Programa/Proyecto: Muestra opciones relacionadas a la creación, ejecución de programas simples y proyectos.

- Accion para nuevo archivo: Configura el comportamiento de la opción Nuevo... del menú Archivo. Las posibles son:
  - Mostrar asistente: muestra el asistente para nuevo archivo. Ver Díalogo Asistente Para Nuevo Archivo.
  - Crear a partir de plantilla: Crea un nuevo archivo a partir de la plantilla predeterminada. Esta plantilla se configura en la hoja Nuevo desde Plantilla del diálogo Asistente Para Nuevo Archivo.
  - Crear archivo en blanco: Crea un nuevo archivo/programa completamente en vacío.
- Parametros extra para el compilador C++: Permite especificar parametros adicionales para que ZinjaI utilice en la compilación de programas C++. Estas opciones son las utilizadas por defecto al crear un nuevo programa simple, pero pueden ser modificadas para cada programa en particular utilizando el Diálogo Opciones de Compilación y Ejecución o mediante el uso de ciertas plantillas. Por defecto, el valor es "-Wall -pedantic-errors" (para mostrar todos los warnings y ajustarse al estándar). El único parámetro que siempre se utiliza aunque no se explicite es "-g" el cual indica al compilador que debe incluir información de depuración en el ejecutable. Más argumentos implícitos pueden estar definidos en la configuración del Toolchain utilizado para la compilación. Puede consultar el significado de estos argumentos en Ayuda del Compilador Utilizado-
- Parametros extra para el compilador C*: Ídem al punto anterior, pero aplicable a programas C.
- Esperar una tecla luego de la ejecucion*: Indica que se debe esperar a que el usuario presiones enter luego de finalizar la ejecución del programa para evitar que la ventana del mismo se cierre inmediatamente sin poder ver los resultados.
- Siempre pedir argumentos al ejecutar*: Permite hacer que ZinjaI solicite los argumentos que debe pasarle al ejecutable antes de cada ejecución. En caso contrario, se utilizarán siempre los mismos (se configuran en el Diálogo Opciones de Compilación y Ejecución y por defecto se encuentran vacíos).
- Agregar la extensión cpp si se omite al guardar: Si esta activo, cuando se intente guardar un archivo sin extensión Zinjai
añadirá automáticamente y sin pedir confirmación la extensión cpp al nombre del mismo. En caso contrario, se preguntará al usuario.
- Cantidad de pasos en paralelo al compilar: Define cuantas instancias de gcc se pueden lanzar en paralelo en la etapa de compilación. Esto permite reducir los tiempos de compilación de un proyecto en PCs multicore.
- Detener la compilación de un proyecto al encontrar el primer error: Cuando se compila un proyecto compuesto por varios archivos fuentes, el proceso involucra la compilación individual de cada uno de ellos y una etapa final de enlazado. Esta opción indica si Zinja debe, al encontrar un error de compilación en uno de estos pasos, continuar intentando ejecutar los demás pasos (compilar los siguientes fuentes, solo omitirá el enlazado), o detener todo el proceso.
- Guardar siempre el proyecto al salir: Guarda automáticamente un proyecto al cerrarlo sin preguntar. Si esta opción no está activada ZinjaI preguntará si desea guardarlo cada vez que cierre un proyecto que haya sufrido modificaciones (es recomendable activar esta opción).
- Mostrar el explorador de archivos al abrir un proyecto: Si esta opción está activada, cuando se abra un proyecto, ZinjaI desplegará automáticamente el panel del Explorador de Archivos mostrando el árbol de archivos y subdirectorios del directorio del proyecto en lugar del panel del Arbol de Archivos
- Herramientas de compilación: Permite definir el Toolchain que ZinjaI utilizará para compilar programas simples y por defecto en proyectos.

Pestaña Estilo: Permite definir el formato en que se visualiza el código fuente.

- Colorear sintaxis: Remaraca los distintos elementos del código fuente (operadores, constantes, palabras clave, comentarios, etc) con diferentes colores y atributos para facilitar su lectura. El botón Definir Colores permite elegir personalizar dichos colores y atributos, y ofrece además algunas combinaciones de colores predefinidas. Ver Coloreado de Sintaxis.
- Ajuste de linea dinamico: Muestra en varios renglones una linea de código si es más ancha que el área de código actual (si no se puede visualizar completa en la ventana). Se indica con una flecha en comienzo de cada renglón que continúa una linea anterior para distinguir esta situación fácilmente de un verdadero salto de línea.
- Mostrar espacios y caracteres de fin de linea: Utiliza símbolos gráphicos especiales en el código para enfatizar y distinguir claramente la presencia de caracteres que usualmente no tienen representación gráfica, como los espacios, el tabulado, o el salto de línea.
- Mostrar numeros de linea: Muestra los números de línea en del código fuente en el márgen izquierdo del área de código.
- Habilitar plegado de codigo: Muestra las marcas de plegado de código en el margen izquierdo del área de código. Ver Plegado de Código.
- Ancho del tabulado: Define a cuantos espacios en blanco equivale el caracter de tabulación (tecla TAB). Esta correspondencia es sólo para la visualización, ya que en los archivos fuente se guarda el caracter de tabulación y no los espacios en blanco. Esta configuración puede definirse por proyecto mediante el diálogo Configuración de Proyecto, reemplazando en ese caso a la configuración general y por defecto establecida en estas preferencias.
- Colocar espacios en lugar de tabs: Al insertar un caracter de tabulación (Tab) inserta ZinjaI puede utilizar un verdadero caracter de tabulación, o un conjunto de espacios en blanco. Dado que no todos los editores muestran con el mismo ancho a los caracteres de tabulación, en ocasiones se prefiere utilizar espacios. Esta configuración puede definirse por proyecto mediante el diálogo Configuración de Proyecto, reemplazando en ese caso a la configuración general y por defecto establecida en estas preferencias.
- Fuente para el código: Permite seleccionar con qué tipografía se muestra el código fuente en la ventana principal. Las tipografías listadas no son todas las instaladas en el sistema, sino solo las denominadas monospace (donde todos los caracteres tienen igual ancho).
- Tamaño de la fuente en pantalla: Define el tamaño con que se mostrarán los códigos fuentes. Este tamaño no afecta las fuentes de los paneles ni menúes. Es además, independiente del zoom que el usuario puede realizar sobre un fuente en particular con la tecla Control y la rueda del mouse.
- Tamaño de la fuente para impresion: Permite variar el tamaño de la fuente utilizada para imprimir un código fuente desde ZinjaI.
- Ocultar barra de menues al pasar a pantalla completa: Define si permanece o no visible la barra de menues cuando se visualiza un fuente a pantalla completa (con la opción Ver a pantalla completa del menu Ver.
- Ocultar barras de herramientas al pasar a pantalla completa: Define si permanecen o no visibles las barras de herramientas cuando se visualiza un fuente a pantalla completa (con la opción Ver a pantalla completa del menu Ver.
- Ocultar paneles al pasar a pantalla completa: Define si permanecen o no visibles los paneles que puedan estar mostrandose en el momento de pasar a pantallas completa (con la opción Ver a pantalla completa del menu Ver. Notar que aunque esta opción esté activada, una vez ingresado al modo pantalla completa puede utilizar los comandos del menú Ver para volver a mostrar un panel.

Pestaña Asistencias: Permite activar y desactivar las diferentes ayudas que ZinjaI ofrece a la hora de escribir un código.

- Edicion inteligente: Esta opción le permite escribir su código sin preocuparse por el indentado del mismo, ya que ZinjaI lo realiza automáticamente. Ver Edicion Inteligente
- Cerrar llaves automaticamente: Si esta ayuda esta activada ZinjaI inserta automáticamente una llave que cierra si usted presiona enter luego de ingresar una llave que abre un bloque. Se inserta también un punto y coma luego de la llave si la llave insertada corresponde al bloque de una clase o estructura.
- Corregir indentado al pegar: hace que ZinjaI reajuste el indentado del bloque de código pegado según las reglas del indentado inteligente cuando se pega un texto con Ctrl+V. Notar que si se utiliza el atajo de teclado alternativo para pegar Shift+Insert estas reglas no se aplican.
- Controlar que quede una linea en blanco al final de cada archivo: si esta opción está activada, antes de compilar un fuente, ZinjaI verificará que la última línea del archivo esté vacia, agregando automáticamente un enter al final de no ser así. Esto evita que el compilador arroje la advertencia "no new line at end of file".
- Utilizar tooltips para identificar tipos de variables: Con esta opción ZinjaI mostrará un globo de ayuda (tooltip) con el tipo de una variable si usted deja el mouse sobre el nombre de la misma durante un segundo y medio. Puede ocurrir que no se muestre nada si el sistema no reconoce el nombre de variable, o que se muestre su contenido en lgar de su tipo si se está depurando el programa.
- Utilizar autocompletado mientras escribe: Muestra los menúes con sugerencias de autocompletado cuando escribe su código. Ver Autocompletado.
- Mostrar ayuda de llamadas a funciones y metodos: Muestras las ayudas de llamadas mientras escribe su código. Ver Ayuda Para Llamadas.
- Indices de autocompletado a utilizar: Permite selecionar las bases de dato que se utilizarán para mostrar las listas de autocompletado y las ayudas de llamadas a funciones. Estas listas se encuentran en un directorio determinado por la opción Ubicacion de los Indices de Autocompletado de la pestaña Rutas de este mismo diálogo.
- Mostrar errores de compilacion en Español (solo GNU/Linux): .

Temas de Iconos: Permite variar el aspecto de Zinjai utilizando un conjunto de imagenes diferentes. Seleccione el tema que desee, haga click en aplicar y reinicie ZinjaI para completar el cambio. Puede encontrar información acerca de cómo armar su propio tema en el archivo readme.txt del subdirectorio skins dentro de la instalacion de ZinjaI.
Barras de herramientas: Permite seleccionar qué barras de herramientas serán visibles y qué subconjunte de comandos contendra cada una de ellas. Además, permite elegir el tamaño de los iconos utilizados. Los tamaños disponibles pueden variar segun el tema de iconos seleccionado.
Pestaña Depuracion: Define el comportamiento del entorno durante la depuración de un programa/proyecto

- Permitir editar los fuentes durante la depuracion: si esta opción no está seleccionada cada vez que comienza la depuración los archivos abiertos pasan a modo solo lectura, por lo cual no se podrán modificar hasta que no finalice la depuración. Esto puede ser útil para garantizar la coherencia entre el programa en ejecución y el código que se está mostrando.
- Reacomodar los paneles al inciar/finalizar la depuracion: Esta muestra automáticamente los paneles de Trazado Inverso en Inspección al iniciar la depuración y oculta los demás paneles que puedan encontrarse en la parte inferior de la ventana (como resultados de la compilación, ayuda rápida, etc). Cuando la depuración finaliza, se restaura la vista anterior; es decir, se ocultan los paneles de depuración y se vuelven a mostrar los paneles que estaban antes de comenzar el proceso.
- Colocar el panel de inspecciones a la derecha: Muestra el panel de inspecciones acoplado en la parte derecha de la ventana principal, en lugar de colocarlo abajo.
- Mostar lista de hilos de ejecucion: Muestra un panel adicional con la lista de hilos de ejecución. Utílicelo sólo para depurar aplicaciones paralelas de memoria compartida. En otro caso, el panel no es útil y su actualización producir pequeñas demoras.
- Mostrar el panel de mensajes del depurador: El panel de mensajes del depurador permite ver las advertencias y los avisos de gdb. En este panel verá mensajes indicando, por ejemplo, la creación o destrucción de hilos, el cargado de bibliotecas externas, etc.
- Reacomodar las barras de herramientas al inciar/finalizar la depuracion: Esta opción oculta las barras de herramientas de Archivos, Edición, Busqueda y Miscelánea; y muestra la barra de herramientas de Depuración al comenzar la misma. Cuando la depuración finaliza, automáticamente se restauran las barras que estaban visbles antes de comenzar.
- Cargar toda la información de depuración antes de comenzar: El depurador puede cargar y analizar toda la información contenida en el ejecutable antes de comenzar la ejecución, o ir cargando bajo demanda a medida que el proceso avanza.
- Cargar informacion de bibliotecas externas: Si un programa enlaza con bibliotecas externas y estas contienen información de depuración, utilice esta opción para determinar si dicha información debe cargarse o no para depurar. Usualmente, a menos que se esté depurando la biblioteca específicamente, conviene no cargarla para evitar así mayores demoras en el inicio de la depuración.
- Recompilar automaticamente antes de depurar si es necesario: Si esta opción está activada, se verifica que el ejecutable que se va a depurar esté actualizado en relación a los fuentes antes de comenzar, y se recompila si es necesario. Si esta opción no está activada, el depurador intenta cargar el ejecutable sin realizar ninguna verificación. En este caso, el usuario es el responsable de generar y actualizar el mismo mediante las opciones Compilar o Ejecutar... del menú Ejecucion.
- Salir del modo depuracion si el programa finaliza normalmente: Esta opción detiene inmediatamente la depuración cuando el programa depurado finaliza correctamente (es decir, que no se interrumpió por violación de segmento u otro error), restaurando el modo normal de trabajo, ya que una vez finalizada la ejecución el depurador ya no puede proporcionar ninguna información nueva al usuario.
- Siempre ejecutar en el depurador: Si selecciona esta opción su programa/proyecto se ejecutará en modo depuración aún cuando utilice la opción Ejecutar... del menú Ejecución.
- Mostrar ZinjaI cuando se interrumpe la ejecucion: Si esta opción está seleccionada, cuando se interrumpe la ejecución durante la depuración (porque se alcanzó un punto de interrupción o porque le programa recibió una semal, por ejemplo), se muestra (pasandole el foco) automáticamente la ventana de ZinjaI (ya que generalmente queda detrás de la ventana del programa que se estaba depurando).
- Utilizar colores en la tabla de inspecciones: Si esta opción está seleccionada, al pausarse la ejecución en la depuración se utiliza el color rojo para resaltar en la tabla de inspecciones aquellas cuyos valores hayan sido modificados.
- Mejorar inspecciones automáticamente según tipo: Puede definir con lograr con esta opción que ZinjaI modifique automáticamente algunas expresiones que ingresa en la Tabla de Inspecciones, basandose en el tipo de dato de las mismas. Por ejemplo, que al ingresar una clase en particular modifique la inspección para observar específicamente uno de sus atributos.
- Archivo de definiciones de macros para gdb: Este archivo se ejecuta dentro de gdb al depurar justo antes de comenzar la ejecución. Puede contener comandos gdb para definir macros que luego podrá invocar en la tabla de inspecciones precediéndolas del caracter ">" (por ejemplo, en un programa simple la inpección ">pvector v" invoca a una macro que se incluye por defecto para lista el contenido de un vector STL llamado v, utilice ">help" para obtener la lista completa), y alterar configuraciones por defecto (esto último puede ocasionar problemas, ya que algunas configuraciones de gdb son necesarias para el correcto funcionamiento de ZinjaI).
- Fuentes a evitar para el step-in: Cuando al depurar un programa la ejecución se detenga en algún punto dentro de uno de los fuentes listados en este campo, ZinjaI reanudará la ejecución automáticamente (mediante un avance tipo step out). Puede de esta forma evitar detenerse en fuentes de bibliotecas externas a su programa. La forma más simple de agregar archivos en esta lista consiste en utilizar el menú contextual del Panel de Trazado Inverso cuando se detenga en uno de ellos por primera vez.

Pestaña Rutas: Configura los directorios en que ZinjaI busca sus archivos u otros programas complementarios, y el directorio temporal. Estas rutas deberían configurarse automáticamente la primera vez que se inicia el sistema. Si se especifican rutas relativas se considera como directorio de referencia el directorio donde se instaló/ejecutó ZinjaI.

- Directorio temporal: Ubicación donde ZinjaI escribe archivos temporales (como por ejemplo fuentes y ejecutables para compilar programas sin nombre). Por defecto se crea un directorio "zinjai" o ".zinjai" en el home del usuario (normalmente "/home/ususario/.zinjai" en GNU/Linux, o "c:\Documents and Settings\Usuario\zinjai" en Windows). En esta misma ubicación ZinjaI guarda su archivo de configuración.
- Directorio proyectos: Valor por defecto para la ubicación de nuevos proyectos. Este valor aparece en el campo "Ubicacion del proyecto" del Asistente Para Nuevo Archivo, y puede ser igualmente modificado antes de crear el mismo.
- Índice de ayuda wxWidgets: Dirección del archivo que debe abrir ZinjaI en un navegador web al seleccionar la opción "Referencia wxWidgets" del submenú "Diseñar Interfaces" del menú "Herramientas", o su acceso rápido en la barra de herramientas.
- Comando del depurador: Ubicación del depurador a utilizar. Por defecto toma los valores "gdb", y no es necesario cambiarlo si la ruta "Directorio de MinGW" está correctamente especificada.
- Comando de la terminal: Especifica el comando que debe utilizar para lanzar un programa en una nueva terminal (esto es útil en sistemas GNU/Linux ya que por defecto los procesos hijos de un programa corren en su misma terminal en lugar de generar una nueva ventana). Este campo debería estar vacío en plataformas Windows, y tomar un valor como "xterm -e" o "konsole -e" en GNU/Linux (puede hacer click en el botón de los tres puntos para que ZinjaI intente determinar que terminales se encuentran en el sistema y muestre una lista de opciones).
- Crear/Actualizar icono de ZinjaI en el escritorio (solo GNU/Linux): .

Pestaña Rutas: Configura los comandos que ZinjaI utilza para llamar a otros programas que se comunican con la IDE, como el compilador, el depurador, el visor de imagenes, etc. Estas rutas deberían configurarse automáticamente la primera vez que se inicia el sistema. Si se especifican rutas relativas se considera como directorio de referencia el directorio donde se instaló/ejecutó ZinjaI.

- Comando del explorador de archivos: Especifica el programa que se debe utilizar para mostrar el contenido de un directorio (carpeta).
- Comando del visor de imagenes: Especifica el programa que se debe utilizar para desplegar determinado gráficos (como por ejemplo, los dibujos de jerarquía de clases).
- Comando del navegador Web: Especifica con que programa se abrirán las paginas Web que se requieran (por ejemplo, los enlaces de la ayuda, o la documentación generada por Doxygen). Por defecto el valor es "firefox" en GNU/Linux, y "shellexecute.exe" en Windows (esto equivale al browser por defecto del sistema).
- Ubicación del ejecutable de Doxygen: Especifica como llamar al ejecutable de Doxygen para generar documentación. Notar que Doxygen, no se distribuye con ZinjaI, sino que debe ser descargado e instalado por separado.
- Comando del visor de grafos xdot: Los grafos que generan algunas herramientas integradas en ZinjaI (por ejemplo gprof, la jerarquía de clases o el grafo de proyecto), por defecto se guardan como bitmaps y se muestran en un visor propio. Existen visores específicos para este tipo de grafos que no requiere la conversión a bitmap, siendo así más rápidos, consumiendo menos menoria, y permitiendo realizar búsquedas y algunas otras formas de navegación básicas. ZinjaI permite utilizar uno de ellos en particular, llamado xdot (http://github.com/jrfonseca/xdot.py).
- Ubicación del ejecutable de wxFormBuilder: Especifica como llamar al ejecutable de wxFormBuilder para generar el código de las interfaces visuales. Notar que wxFormBuilder, no se distribuye con ZinjaI, sino que debe ser descargado e instalado por separado.
- Ubicación del ejecutable de CppCheck: Especifica como llamar al ejecutable de CppCheck para realizar análisis estático del código. Notar que CppCheck, no se distribuye con ZinjaI, sino que debe ser descargado e instalado por separado.
- Directorio de MinGW (solo Windows): Directorio de la instalación de MinGW a utilizar. Por defecto se utiliza un subdirectorio "mingw" dentro del directorio donde se instaló ZinjaI en sistemas Windows. Esta opción solo aparece en sistemas Windows.