c++ - rendimiento - Trucos y consejos de Visual Studio 6
mejorar rendimiento visual studio 2017 (14)
Algunos de nosotros invariablemente tendríamos que admitir el código ''heredado'' utilizando los IDE de Visual Studio 6.0 de Microsoft que, aunque las opiniones difieran, generalmente se consideran menos amigables para el usuario en comparación con las encarnaciones posteriores de la serie de IDE de Visual Studio.
Así que me gustaría conocer algunas de sus mejores características IDE ocultas / mal documentadas (podrían ser para C ++ o VB). Como es la práctica habitual una función por publicación, por favor.
Plantillas de código personalizado en VB6
No sé si esto es realmente una característica "oculta" o no, pero siempre pensé que era un buen ahorro de tiempo.
Puede crear sus propias plantillas personalizadas para clases, módulos, formularios, etc. y ponerlas a disposición en el IDE. Por ejemplo, usualmente me gusta usar clases de Collection
fuertemente tipadas en mi código VB6. Así que podría querer un FooCollection
que contenga objetos Foo
y nada más, en lugar de una Collection
antigua simple. No quiero tener que volver a implementar la interfaz de Collection
cada vez que necesito una nueva Collection
fuertemente tipada, así que creé una nueva plantilla de clase que contenía todo el código de Collection
placa de caldera. Ahora, cada vez que voy a agregar un nuevo módulo de clase a mi proyecto, mi plantilla personalizada de TypedCollection
está disponible como una opción. Luego renombro la clase recientemente agregada FooCollection
y reemplazo todas las ocurrencias de "As Object" con "As Foo" (donde Foo es el tipo de objeto que quiero almacenar en la colección) y he terminado.
Siguiendo con mi ejemplo de plantilla de clase personalizada, esto es lo que debes hacer:
- Abra el IDE y comience un nuevo proyecto (generalmente hago EXE estándar, porque realmente no importa lo que elija aquí).
- Agregue una nueva clase al proyecto. Esta se convertirá en tu plantilla.
- Codifica tu clase de plantilla. Básicamente solo escriba cualquier código de placa de caldera que le gustaría poder reutilizar en otros proyectos. Este es un código VB directo, nada especial.
- Cuando haya terminado, guarde el archivo en la carpeta
C:/Program Files/Microsoft Visual Studio/VB6/Template/Classes
(Nota: las otras subcarpetas, comoForms
, etc. son para otros tipos de plantillas). El nombre del archivo .cls menos la extensión es lo que aparecerá en el IDE, por lo que normalmente incluyo espacios en el nombre del archivo para facilitar la lectura. - La próxima vez que abra su IDE y haga clic en
Project->Add Class Module
, su clase de plantilla aparecerá en la lista de plantillas de clase disponibles.
Cambie la propiedad "Iniciar en" en el acceso directo que usa para iniciar VB6 en la raíz de su directorio de código fuente. Esto ahorrará muchos clics de ratón desperdiciados cada vez que abra un proyecto desde el IDE.
CodeShine: complemento de refactorización de código VB6 (gratuito). Incluye refactorizaciones como Extraer Método, Introducir Explicando Variable, Extraer Función, Introducir Explicando Variable, Renombrar, etc.
Hay bastantes consejos y trucos aquí . Mi favorito es colocar @err,hr
en la ventana Inspección para recibir mensajes de error.
La última vez que tuve que usar VB6, quise saltar de mi piel enojada porque la rueda de desplazamiento de mi mouse , que literalmente funciona con cualquier otro programa en Windows, no funcionó. Esto tiene algo que ver con la era de VB6 y cómo Microsoft ha cambiado la funcionalidad de la rueda de desplazamiento a lo largo de los años.
Este tipo escribió un programa para hacerlo funcionar.
(y parece que en los años transcurridos desde que Microsoft también hizo una corrección )
La función Erl en VB6. Si coloca números de línea en su código VB6, puede, en su controlador de errores, acceder al número de línea en el que se produjo el error a través del valor de retorno de la función Erl .
Mi respuesta a la pregunta "Si no está satisfecho con las respuestas a la pregunta de otra persona, ¿debería comenzar la suya?" muestra cómo completar previamente VC ++ con todas las rutas de origen. Es útil para aquellos de nosotros que compilamos desde la línea de comandos, pero depuramos usando msdev.
No es realmente una característica IDE de VB6, pero si tiene que llenar una vista de lista no ligada con una gran cantidad de datos, hacerla invisible durante el proceso de llenado la acelera quizás en un factor de 10.
Para VB6, MZ-Tools es un fantástico complemento gratuito. Mis funciones favoritas son su función de búsqueda y su capacidad para encontrar a todos los llamantes de una rutina determinada con un clic del botón. También tiene muchas otras características, varias de las cuales he encontrado útiles en ocasiones.
Para VC6, obtenga una copia de Visual Assist X de Whole Tomato. Contiene un reemplazo Intellisense inteligente (y utilizable), coloreado de código mucho más rico, soporte de refactorización y muchas características más. Definitivamente vale la pena la inversión.
Puede editar el archivo C:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin/AUTOEXP.DAT
para agregar reglas para mostrar valores significativos de sus clases personalizadas en la ventana Depurar reloj.
Lo que quiero decir es esto. Tenemos una estructura de fecha definida así:
typedef struct tagMHDATE
{
short int nDay; // Day of the Month 1..31
short int nMonth; // Month of the Year 1..12
short int nYear; // Year
} MHDATE, FAR *LPMHDATE;
Si tengo este código:
MHDATE today;
GetDate(&today);
... y cae today
en la ventana del reloj, veré algo como esto:
today {...}
Ahora ve y agrega esto al final de AUTOEXP.DAT (es solo un archivo de texto)
tagMHDATE=date=<nMonth>/<nDay>/<nYear>
... y ahora veo esto en la ventana de observación:
today {date=10/8/2008}
Quick macros siempre fue mi favorito personal; no es realmente una característica oculta per se, pero muy útil, y VC6 fue la última versión donde fueron lo suficientemente rápidos como para ser útiles (antes de que MS reescribiera el motor de macros para usar .NET).
Shift-Alt-Enter para aumentar el tamaño de la ventana del editor
Voy a comenzar con una característica de VS C ++ que me ha ahorrado mucho tiempo: agregar un ", su" (sin las comillas) a una cadena Unicode en la ventana de visualización de un depurador le permite ver el valor de la cadena ( en lugar de la dirección de memoria de esa cadena)