2008-09-20 12 views
31

de todos modos para deshabilitar la característica bastante molesto que Visual Studio (2008 en mi caso) tiene de copiar la línea (con el texto en él) se encuentra el cursor cuando CTRL - C se presiona y no se realiza ninguna selección?no incapacitante copia de una sola línea en Visual Studio

Conozco la opción de desactivar la copia de líneas en blanco. Pero esto también me está volviendo loco.

ETA: No estoy buscando personalizar el atajo de teclado.

ETA-II: No estoy buscando "Herramientas-> Opciones-> Editor de texto-> Todos los idiomas-> Aplicar cortar o copiar en líneas en blanco ...".

+3

voy a votar a su pregunta, yo no sabía que existía esa característica, suena bastante útil ¡yo! – Benjol

+2

Esta es una de las funciones de edición más útiles de Visual Studio. No me sorprendió que el equipo pasara por alto el loco deseo de desactivarlo. : o –

+4

"... las características de edición más útiles de todos los tiempos de Visual Studio ..." ¿es un deseo de Visual Studio poder trabajar de la misma manera que todo lo demás funciona como "loco"? – thepaulpage

Respuesta

14

Si no está dispuesto a personalizar la configuración del teclado, entonces Ctrl +C siempre será Edit.Copy, el cual copia la línea actual, si no hay nada seleccionado. Si no está dispuesto a usar las herramientas que VS proporciona para personalizar la interfaz, entonces no puede hacerlo.

Sin embargo, las siguientes obras: asignar esta macro a Ctrl +C:

Sub CopyOnlyIfSelection() 
    Dim s As String = DTE.ActiveDocument.Selection.Text 
    Dim n As Integer = Len(s) 
    If n > 0 Then 
     DTE.ActiveDocument.Selection.Copy() 
    End If 
End Sub 
+0

¡Qué nuevo enfoque! Ojalá hubiera pensado en eso hace 10 años cuando MS agregó esta 'característica' tonta. Desearía poder darle crédito por responder ... ¡y en VB también! – mattmc3

+1

VS2012 no es compatible con macros, por lo que tendría que [hacerlo un AddIn] (http://stackoverflow.com/questions/12027485/alternative-to-macros-in-visual-studio-2012). Y MS no está dispuesto a aceptar una [solicitud de una opción adicional] (https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2049389-stop-processing-ctrlc-c-on-empty- selecciones) –

+0

[crear macros] (https://blogs.msdn.microsoft.com/zainnab/2010/12/02/creating-and-using-a-macro/) y anular el acceso directo de copia parece bastante complicado ... . Debería haber una opción para esto –

1

Estoy bastante seguro de la forma de hacerlo en 2008 es la misma como la forma en 2005 ... echa un vistazo a este tutorial sobre 'la personalización de atajos de teclado' (aproximadamente 1/3 del camino hacia abajo)

http://msdn.microsoft.com/en-us/library/bb245788(VS.80).aspx

+0

Bueno ... No estoy buscando personalizar el acceso directo. Estoy buscando que deje de copiar la línea donde está el cursor. Esto me permitirá asignar el acceso directo a otra combinación de teclas, pero la molestia aún estará allí. – erlando

1

No creo que sea posible hacer esto sin algún tipo de gestor de portapapeles de otro fabricante que impida sobrescribir el contenido del portapapeles con la cadena vacía.

+0

¿Por qué se modificó esta opción? Es correcto ... –

1

tengo la SlickEdit libre de complemento instalado, y su característica CommandSpy muestra que Ctrl +C ejecuta Edit.Copy si usted tiene texto en negrita o no. Por lo tanto, supongo que la respuesta a su pregunta es No.

Sin embargo, recuerdo esta característica que me molesta cuando la encontré por primera vez; ahora confío en él y me molesto cuando pruebo el mismo truco en otros programas y no pasa nada.

+0

Estoy de acuerdo, es una acción muy natural una vez que lo esperas. No sería demasiado difícil para otras aplicaciones adoptar una forma de trabajo similar. –

+0

Así que esto, al igual que ctrl + tab, es otro ejemplo de cómo Visual Studio hace las cosas "especiales" (como ed especiales) y no proporciona ninguna forma de revertir a la manera normal ... ¡tan molesto! – thepaulpage

+0

Ruego a los programadores del mundo que no propaguen este comportamiento. El costo de perder mi copia/corte más reciente cuando accidentalmente presiono ctrl-x o ctrl-c en lugar de ctrl-v no supera el beneficio. Prefiero atajos de teclado de selección más potentes combinados con el comportamiento familiar de cortar/copiar (por ejemplo, 'seleccionar línea', 'copiar'). Otras buenas alternativas son alt-up/down para 'move line up/down' y 'duplicate current line below this'. Aunque ctrl-shift-v ayuda, no me siento cómodo al usarlo sin mostrar la pila actual del portapapeles. –

21

El problema real es probable que la experiencia es que se vaya a pegar, con CTRL +V. Y accidentalmente ingresa CTRL + C, y termina sobrescribiendo las cosas que están en su portapapeles. No se puede desactivar esta por lo que yo sé, sin embargo, el trabajo en torno a esto, es que se puede presionar CTRL + SHIFT + V varias veces para volver a subir la pila de cosas que ha copiado en estudio visual. Esto no sólo le permiten recuperar lo que ha copiado en un principio, pero también encontrará que CTRL +SHIFT +V muy útil en muchas otras situaciones.

+0

Esta es una muy buena sugerencia; mi único deseo es que ctrl-shift-v mostrara la pila del portapapeles en una ventana emergente para que supiera qué esperar. –

0

que tiene el mismo problema, al principio pensé que era mi mal, pensé que estaba escribiendo accidentalmente Ctrl-C en lugar del ctrl v pero no, realmente estoy experimentando problemas con estas cosas

=/

+0

Por favor, la próxima vez considere publicar respuestas que podrían ayudar a resolver el problema. – kerzek

Cuestiones relacionadas