¿Cómo habilito la edición de archivos en el modo de depuración de Visual Studio?

144

¿Hay alguna manera de habilitar la edición de archivos mientras se depura en Visual Studio? Desmarqué la casilla de verificación "Requerir que el archivo de origen coincida exactamente con la versión original". No hace ninguna diferencia. Tengo que detener la depuración para editar archivos. Muy molesto. He habilitado Editar y continuar. Mismo resultado. Inhabilité Editar y continuar - Mismo resultado.

tom7
fuente
No vi que editaste tu pregunta. Puede arreglar eso con una reinstalación rápida.
Secko
12
@Secko No hay tal cosa como una "reinstalación rápida" cuando hablamos de Visual Studio ...
Zero3
@ Zero3 Hubo en mi tiempo, hace unos 16 años, cuando lo estaba usando (int) 1999 - (int) 2000. No lo he usado en un (largo) * tiempo.
Secko
El verdadero problema aquí es que la configuración 'Editar y continuar' de Visual Studio no le permite editar y continuar . Por el contrario, es una característica extraña que le permite editar código, luego cambia el código de ejecución para que coincida con su edición y se depura desde allí. Incluso si eso fuera útil, rara vez funciona. Debería haberse llamado algo así como 'editar y recompilar sobre la marcha'. De ponerlo fuera le permite editar el código realidad al tiempo que la depuración del código se ha compilado.
MGOwen

Respuestas:

234

Hasta donde sé, puede desmarcar la casilla de verificación "Editar y continuar".

Herramientas -> Opciones -> Depuración -> Editar y continuar> Habilitar edición y continuar (desmarcar)

Secko
fuente
6060
Esta fue la solución para mí: no tengo idea de por qué la comprobación de la ONU "Editar y continuar" me permitiría editar ... parece contradictorio. De todos modos, marcaría esto como la respuesta.
Sam Schutte el
77
Contraintuitivo, pero efectivo.
Milne
2
Esto reacciona de manera diferente si la capa empresarial se divide en un proyecto separado dentro de la solución. Antes de que se dividiera, pude editar clases mientras depuraba sin problemas. Desafortunadamente, esta solución no me ha resuelto en esta situación (estoy usando VS2013)
Radderz
18
En Visual Studio 2015, encontré esta configuración en la parte inferior de Debugging-> General.
Zero3
13
Si está intentando hacer esto, pero "Habilitar Edición y Continuar" está atenuado, simplemente detenga la depuración y vuelva a las opciones.
Ravvy
19

Ampliando la respuesta correcta de Reed.

Cuando está en modo de depuración, la edición de un archivo está utilizando una función conocida como Editar y continuar (generalmente abreviado ENC). Esto permite a los usuarios cambiar su programa mientras se ejecuta en el depurador.

Cuando ENC está habilitado, los usuarios pueden realizar un conjunto limitado de ediciones en su archivo. La siguiente acción que continúa la ejecución del programa (F10, F5, etc.) hará que las ediciones se apliquen al programa en ejecución. Si esto tiene éxito, la ejecución del programa continuará con el nuevo código aplicado.

El depurador no permite modificaciones en el archivo si ENC no está habilitado.

Hay algunas razones por las que ENC puede estar deshabilitado en su computadora

  • Ciertos perfiles no habilitan ENC de manera predeterminada y deben habilitarse explícitamente
  • Puede estar ejecutando en un sistema operativo de 64 bits y tener su aplicación .Net configurada en "Cualquier CPU". ENC no está disponible en 64 bits (limitación de CLR). Tendrá que volver a configurar la aplicación en x86 para que ENC funcione
JaredPar
fuente
8
¿Qué sucede si no le importa Editar y continuar y solo desea codificar mientras la aplicación se está ejecutando para que pueda ver lo que debe hacerse mientras lo hace? Es absolutamente irreal VS imponer esta restricción artificial. No es que necesite leer los archivos de origen mientras se está ejecutando. No hay ninguna razón técnica por la que deba bloquear los archivos de origen. Xcode no tiene problemas para permitirle codificar mientras se ejecuta la aplicación. Los cambios simplemente no se aplican hasta la próxima ejecución. ¿Realmente no hay forma de hacer esto en VS?
devios1
1
Si desactivo Editar y continuar, me permitirá editar archivos .cs mientras la aplicación se está ejecutando, pero aún bloquea los archivos .xaml. Estoy buscando una manera de desactivar este bloqueo absurdo por completo.
devios1
77
¡Ni siquiera me permite agregar un archivo al proyecto mientras la aplicación se está ejecutando! No bromeo, 20-30 veces al día trato de hacer algo y VS lo impide por completo. Después de un breve momento "wtf", me doy cuenta de que la aplicación se está depurando y tengo que detener lo que estaba haciendo, cerrar la aplicación y luego volver a intentarlo. No puedo trabajar en estas condiciones y estoy realmente sorprendido de que la gente no esté en desacuerdo sobre esto. Esto realmente está matando mi productividad y me está volviendo loco. ¡Tiene que haber una manera de arreglar esto!
devios1
1
@ devios1 Algo que a menudo hago es ejecutar sin depurar (ctrl + f5), lo cual está bien siempre que no necesite puntos de interrupción ni nada.
binki
@ devios1 Lo mismo. Espero que alguien (tal vez yo) encuentre el tiempo para terminar esta extensión. github.com/AndreasFurster/pause-edit-and-continue
Paul
8
  • ONU verificación "Activar Editar y continuar" (Tools -> Options -> Debugging -> Edit and Continue > Enable Edit and Continue )
  • Crea tu aplicación.
  • Ejecutarlo.
  • Para.
  • RE marque "Habilitar Edición y Continuar".
  • Crea tu aplicación.
  • Ejecutarlo.
  • Intente editar los archivos mientras depura ahora.

Esto funcionó para mí. Creo que podría ser algún error o problema de sincronización con Visual Studio 2015.

Francois Botha
fuente
1
Estimado votante, es una buena práctica dejar un comentario para POR QUÉ está rechazando la respuesta.
Francois Botha
Esto no me resolvió, sin embargo, la respuesta más votada a continuación sí.
Kairan
6

Debe habilitar Editar y continuar .

Reed Copsey
fuente
2
Además, debe estar en un punto de interrupción o hacer clic en el botón de pausa (Romper todo).
McAden
@marcc: Y muchas otras cosas, es por eso que señalé los documentos. Para obtener una lista completa de los cambios no admitidos, consulte la sección "Escenarios no admitidos" en esta ubicación: msdn.microsoft.com/en-us/library/ms164927%28VS.80%29.aspx
Reed Copsey
44
La respuesta de Seckos (mejor calificada) funcionó para mí (VS2015) y es exactamente lo contrario de su respuesta.
Alrts
6

De MSDN

Para habilitar / deshabilitar Editar y continuar

  • Abra la página de opciones de depuración (Herramientas / Opciones / Depuración). Desplazarse

  • abajo a la categoría Editar y continuar. Para habilitar, seleccione Habilitar Edición

  • y Continuar casilla de verificación. Para deshabilitar, desactive la casilla de verificación. Nota. ...

  • Haga clic en Aceptar.

Dilaksha A
fuente
5

por lo general, es posible editar un archivo durante la depuración cuando ha alcanzado un punto de interrupción (y solo entonces)

Sin embargo, existen algunas restricciones: -su nuevo código debe compilarse -no puede cambiar el código en una función que contiene expresiones lambda

Johannes Rudolph
fuente
4

Para mí, este enlace Desactivar IntelliTrace funcionó.
Ir

Herramientas> Opciones> IntelliTrace> (desmarcar) Habilitar IntelliTrace

O Depuración> Opciones> IntelliTrace> (desmarcar) Habilitar IntelliTrace

ingrese la descripción de la imagen aquí

Muhammad Ashikuzzaman
fuente
2

Si tiene activada la opción Editar y continuar y está usando C #, solo puede editar un archivo si el depurador se ha detenido a través de un punto de interrupción o si está ingresando manualmente a la aplicación a través de "Romper todo". Aún no podrá editar algunos archivos, Ej. xaml en una aplicación WPF, pero debería resolver la mayoría de los problemas.

Mark Vicuña
fuente
1

Si su fuente se origina en un archivo DLL descompilado, tenga en cuenta que los descompiladores pueden agregar una instrucción IgnoreSymbolStoreSequencePoints a assemblyinfo.cs:

[ensamblaje: Debuggable (DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]

Esta línea debe eliminarse para cargar el archivo pdb, haciendo que editar y continuar trabajando.

Turbo
fuente
1

Eliminar la marca en la opción a continuación funciona para mí

Herramientas> Opción> Depuración> General> Habilitar edición y continuar

ingrese la descripción de la imagen aquí

* Nota: en algunos sistemas de desarrolladores, agregar este tick realizó el truco.

Pranav Labhe
fuente
1

Lo he intentado de esta manera y funciona para mí. Vaya a Archivo CSProj o VbProj -> Elija Asp.Net Development Server / IIS Express -> Debuggers-> Enable Edit and Continue-> Save and Run.

ingrese la descripción de la imagen aquí

Prosun Chakraborty
fuente