Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los mapas de código en Visual Studio pueden ayudarle a evitar perderse en bases de código grandes, código desconocido o código heredado. Por ejemplo, al depurar, es posible que tenga que examinar el código en muchos archivos y proyectos. Use mapas de código para navegar por partes de código y comprender las relaciones entre ellos. De este modo, no es necesario realizar un seguimiento de este código en la cabeza ni dibujar un diagrama independiente. Por lo tanto, cuando se interrumpe tu trabajo, los mapas de código ayudan a refrescar tu memoria sobre el código en el que estás trabajando.
Una flecha verde muestra dónde aparece el cursor en el editor.
Para obtener más información sobre los comandos y las acciones que puede usar al trabajar con mapas de código, consulte Examinar y reorganizar mapas de código.
Obtenga más información sobre la depuración en Visual Studio con la herramienta Depurador.
Nota:
Para crear y editar mapas de código, necesita Visual Studio Enterprise Edition. En las ediciones Visual Studio Community y Professional, puede abrir diagramas que se generaron en Enterprise Edition, pero no puede editarlos.
Entender el problema
Supongamos que hay un error en un programa de dibujo en el que está trabajando. Para reproducir el error, abra la solución en Visual Studio y presione F5 para iniciar la depuración.
Cuando dibuja una línea y elige Deshacer mi último trazo, no ocurre nada hasta que dibuja la siguiente línea.
Por lo tanto, empiece a investigar buscando el método Undo. Lo encuentra en la PaintCanvas clase .
Empieza a mapear el código
Ahora empiece a mapear el método undo y sus relaciones. En el editor de código, agregue el undo método y los campos a los que hace referencia a un nuevo mapa de código. Al crear un nuevo mapa, puede tardar algún tiempo en indexar el código. Esto ayuda a que las operaciones posteriores se ejecuten más rápido.
Sugerencia
El resaltado verde muestra los últimos elementos que se agregaron al mapa. La flecha verde muestra la posición del cursor en el código. Las flechas entre elementos representan relaciones diferentes. Puede obtener más información sobre los elementos en el mapa moviendo el mouse sobre ellos y examinando su información sobre herramientas.
Navegación y examen del código desde el mapa
Para ver la definición de código de cada campo, haga doble clic en el campo en el mapa o seleccione el campo y presione F12. La flecha verde se mueve entre los elementos del mapa. El cursor del editor de código también se mueve automáticamente.
Sugerencia
También puede mover la flecha verde en el mapa moviendo el cursor en el editor de código.
Descripción de las relaciones entre fragmentos de código
Ahora quiere saber qué otro código interactúa con los history campos y paintObjects . Puede agregar todos los métodos que hacen referencia a estos campos al mapa. Puede hacerlo desde el mapa o desde el editor de código.
Nota:
Si agregas elementos de un proyecto que se comparte entre varias aplicaciones, como Windows Phone o la Tienda Windows, esos elementos siempre aparecen con el proyecto de aplicación activo actualmente en el mapa. Por lo tanto, si cambia el contexto a otro proyecto de aplicación, el contexto del mapa también cambia para los elementos recién agregados del proyecto compartido. Las operaciones que se realizan con un elemento en el mapa solo se aplican a los elementos que comparten el mismo contexto.
Cambie el diseño para reorganizar el flujo de relaciones y facilitar la lectura del mapa. También puede mover elementos por el mapa arrastrándolos.
Sugerencia
De forma predeterminada, el diseño incremental está activado. Esto reorganiza el mapa lo menos posible al agregar nuevos elementos. Para reorganizar todo el mapa cada vez que agregue nuevos elementos, desactive El diseño incremental.
Vamos a examinar estos métodos. En el mapa, haga doble clic en el método PaintCanvas o seleccione este método y presione F12. Aprenderá que este método crea history y paintObjects como listas vacías.
Ahora repita los mismos pasos para examinar la definición del clear método. Aprenderá que clear realiza algunas tareas con paintObjects y history. A continuación, llama al método Repaint.
Ahora examine la definición del addPaintObject método. También realiza algunas tareas con history y paintObjects. También llama a Repaint.
Busque el problema examinando el mapa.
Parece que todos los métodos que modifican history y paintObjects llaman a Repaint. Sin embargo, el undo método no llama a Repaint, aunque undo modifica los mismos campos. Entonces, ¿crees que puedes corregir este problema llamando a Repaint desde undo?
Si no tenía un mapa para mostrar esta llamada faltante, podría haber sido más difícil encontrar este problema, especialmente con un código más complejo.
Compartir la detección y los pasos siguientes
Antes de que usted u otra persona corrija este error, puede tomar notas en el mapa sobre el problema y cómo corregirlo.
Por ejemplo, puede agregar comentarios al mapa y marcar elementos mediante colores.
Si tiene Microsoft Outlook instalado, puede enviar por correo electrónico el mapa a otros usuarios. También puede exportar el mapa como una imagen u otro formato.
Corrige el problema y muestra lo que hiciste
Para corregir este error, agregue la llamada de Repaint en undo.
Para confirmar la corrección, reinicias la sesión de depuración e intentas reproducir el error. Ahora, al elegir Deshacer mi último trazo funciona como se espera y confirma que la corrección fue correcta.
Puede actualizar el mapa para mostrar la corrección que ha realizado.
El mapa muestra ahora un vínculo entre deshacer y repintar.
Nota:
Al actualizar el mapa, es posible que vea un mensaje que indica el índice de código usado para crear el mapa se actualizó. Esto significa que alguien cambió el código, lo que hace que el mapa no coincida con el código actual. Esto no le impide actualizar el mapa, pero es posible que tenga que volver a crear el mapa para confirmar que coincide con el código.
Ya ha terminado con su investigación. Encontró y corrigió correctamente el problema mediante el mapeo del código. También tiene un mapa que le ayuda a navegar por el código, recordar lo que ha aprendido y muestra los pasos que ha llevado a cabo para solucionar el problema.