2009-11-29 13 views
20

Hay algo realmente molesto en Visual Studio: cuando expando o colapso un método o región de código, esta acción se empuja en la pila de deshacer. Entonces, si edito un código en un método, luego contrajo ese método y luego deseo deshacer mi cambio, tengo que deshacer dos veces: una para la acción de contracción y otra para el cambio de código. Esto puede ser MUY confuso si expandió o colapsó varias cosas después de editar el código, el editor sigue saltando a diferentes lugares y usted no sabe si sus cambios se han deshecho o no ...Visual Studio: excluir el delineado de la pila deshacer/rehacer

Así que mi pregunta es: ¿Es posible desactivar ese comportamiento? es decir, ¿que solo se tienen en cuenta los cambios en el código en la pila de deshacer?

PS: Estoy usando Visual Studio 2008


EDIT: si este comportamiento le molesta demasiado, por favor vote to fix it on UserVoice!

Respuesta

1

La mejor solución que puedo proponer es deshabilitar el trazado usando CTRL + M, luego CTRL + P.

+4

No, esta no es una opción ... Me gusta mucho la característica de bosquejo del código, simplemente no quiero que sea parte de la pila de deshacer –

2

No creo que haya una forma de desactivar este comportamiento.

Como alternativas, los iconos desplegables de la barra de herramientas deshacer y rehacer tienen listas desplegables históricas que le permiten ver visualmente un resumen de los cambios recientes que se estarían deshaciendo o rehaciendo. A veces, esto puede ayudar a asegurar que está deshaciendo (o rehaciendo) lo que está esperando.

Dado que no siempre es suficiente para saber exactamente cuáles son los cambios (el historial de deshacer sólo muestra un resumen), la solución de vez en cuando utilizar para tratar este es combinar deshacer (Ctrl-Z), rehacer (ctrl- y), y deshacer de nuevo. El primer deshacer se mueve hacia donde sucedió el cambio (y deshace ese cambio). El rehacer deshará el deshacer (que esencialmente repite el último cambio realizado). Y la última operación de deshacer volverá a deshacer con la ventana desplazada a la ubicación en la que realmente puedo ver que está sucediendo el deshacer y puedo confirmar si ese es el cambio que esperaba deshacer. No es muy eficiente, pero puede ser muy efectivo para garantizar que el código esté en el estado esperado.

+0

De hecho, podría usar el menú desplegable del historial ... No estoy tan seguro acerca de su solución con teclas de método abreviado, sin embargo, no es muy conveniente;) –

2

En primer lugar, parece que no todas las operaciones de esquema se registran en la pila de deshacer/rehacer.

  • Toggle Esquema de expansión (CTRL + M/CTRL + M) se registra en la pila
  • interruptor de ALL Esquema (CTRL + M L/CTRL +) se registra en la pila
  • Collapse a las definiciones (CTRL + M/Ctrl + O) no se registra en la pila

Así, por lo que yo sé, no es posible evitar el registro de las operaciones de alternancia en la pila de deshacer/rehacer en Visual Studio 2008.

La única opción que tenerlo para habilitar/deshabilitar el bosquejo para cada tipo de fuente. Para C#, se puede habilitar/deshabilitar el esquema en Tools > Options > Text Editor > C# > Advanced con la casilla de verificación "Enter outlining mode when files open".

+0

Como le dije a Cedrik, no quiero deshabilitar el esquema ...Me gusta y quiero mantenerlo –

+1

A continuación, tendrá que hacer frente a deshacer/rehacer. –

3

Puede votar para solucionarlo en Visual Studio UserVoice.

+5

Gracias, pero estoy consciente de eso ... yo soy el que creó esta entrada UserVoice;) –

Cuestiones relacionadas