visual varias trucos studio seleccionar multiples multi lineas linea editar duplicate comentar code atajos ajuste visual-studio visual-studio-2008 keyboard-shortcuts

visual-studio - trucos - seleccionar varias lineas visual studio code



Visual Studio: atajo Clave: Duplicar línea (27)

En Visual Studio 2017

(editar) Esta función ahora está incorporada en VS2017: Ctrl + E , V duplica una línea si no se selecciona nada o duplica la selección. Puede asignarlo a una combinación de teclas diferente, o encontrarlo en el menú:

Vea esta referencia para más información.

Pre VS2017, método incorporado usando el portapapeles

Como @cand mencionó, puedes hacer Ctrl + C ; Ctrl + V.

Ctrl + C copiará la línea si no se selecciona nada.

Solución de macros (pre VS2017)

Si desea implementar una solución más completa, tal vez para crear un método abreviado de teclado más simple o no desea afectar el portapapeles, consulte esta guía:

Comando de línea duplicada para Visual Studio

Visual Basic:

Imports System Imports EnvDTE Imports EnvDTE80 Imports System.Diagnostics Public Module DuplicateLastLineModule Sub DuplicateLine() Dim line As String DTE.ActiveDocument.Selection.StartOfLine(0) DTE.ActiveDocument.Selection.EndOfLine(True) line = DTE.ActiveDocument.Selection.Text DTE.ActiveDocument.Selection.EndOfLine() DTE.ActiveDocument.Selection.NewLine() DTE.ActiveDocument.Selection.StartOfLine(0) DTE.ActiveDocument.Selection.Text = line End Sub End Module

Para crear la macro, solo vaya al explorador de macros ("Herramientas-> Macros-> Explorador de macros" o Alt + F8 ) y copie y pegue el código en un nuevo módulo. Ahora solo asignale un atajo de teclado:

  1. ir a Herramientas-> Opciones ...
  2. en Entorno, haga clic en Teclado
  3. en el cuadro de texto "Mostrar comandos que contienen", ingrese "duplicado" (esto de acuerdo con el nombre que le dio al módulo).
  4. Ahora debería ver la macro en la lista de abajo
  5. elija "Editor de texto" de la lista "Usar nuevo acceso directo en"
  6. coloque el foco en el cuadro de texto "Presione las teclas de método abreviado" y presione la combinación del teclado que desea usar para ello ( Ctrl + Shift + D en mi caso)
  7. pulsa el botón "Asignar"
  8. ahora debería ver el acceso directo en el cuadro de texto "Accesos directos para el comando seleccionado"
  9. presiona el botón OK

Y eso es. ¡Disfrutar!

¿Hay un atajo para el comando Duplicate Line en Visual Studio 2008?

Algunos ejemplos similares:


¿Por qué tantos métodos tan largos para lograr algo tan simple? Se tarda menos de un minuto en descargar e instalar la extensión de Microsoft. La página dice que lo vinculará a ALT + D de forma predeterminada, pero para mí lo vinculó a CTRL + D automáticamente en Visual Studio Community 2015 sin ningún cambio.

visualstudiogallery.msdn.microsoft.com/…


Aquí hay una macro basada en la del enlace publicado por Wael, pero mejorada en las siguientes áreas:

  • ligeramente más corto
  • un poco mas rapido
  • comentarios :)
  • se comporta para las líneas que comienzan con "///"
  • Se puede deshacer con un solo deshacer.

Imports System Imports EnvDTE Imports EnvDTE80 Public Module Module1 Sub DuplicateLine() Dim sel As TextSelection = DTE.ActiveDocument.Selection sel.StartOfLine(0) '''' move to start sel.EndOfLine(True) '''' select to end Dim line As String = sel.Text sel.EndOfLine(False) '''' move to end sel.Insert(ControlChars.NewLine + line, vsInsertFlags.vsInsertFlagsCollapseToEnd) End Sub End Module


Aunque me doy cuenta de que esto no es un método abreviado de teclado, pensé que agregaría esto, ya que no requiere el uso del portapapeles y podría ayudar a algunas personas.

Resalte la fila que desea duplicar. Presione control, haga clic con el mouse en el texto resaltado y arrástrelo a donde desea ir. Se duplicará el texto resaltado.


Como no puedo usar macros en mi Visual Studio 2013, encontré un complemento de Visual Studio (lo uso en 2012 y 2013). visualstudiogallery.msdn.microsoft.com/… duplicada duplica las selecciones y las líneas completas, solo deben seleccionarse parcialmente. El atajo estándar es ALT + D.


El comando que desea es Edit.Duplicate . Se asigna a Ctrl E , Ctrl V. Esto no sobrescribirá tu portapapeles.


En código de estudio visual ( WebMatrix ):

Copiar líneas abajo: Shift + Alt + abajo

Copiar líneas arriba: Shift + Alt + arriba

Eliminar líneas: Ctrl + Shift + k


En Visual Studio 2008 puedes usar CTRL + C + V


En Visual Studio 2010 copia la línea completa en la que se encuentra el cursor con CTRL + INSERT, luego puede usar Ctrl + V o SHIFT + INSERT para pegarlo.


En Visual Studio 2013 puedes usar Ctrl + C + V


En Visual studio 2017 y tal vez en otra versión. No necesita Macro o Extensión ,

  1. Vaya a Tools > Options > Environment > Keyboards
  2. En Show commands containing: escriba Edit.Duplicate
  3. Coloque el cursor para Press shortcut keys: y presione Ctrl + D y haga clic en el botón Assign
  4. Haga OK en OK para guardar su nuevo método abreviado de teclado


Es simple Ctrl + C ; Ctrl + V , revisa este link . Mientras no selecciones ningún texto, esto duplicará la línea sobre la que se encuentra el cursor cuando presionas Ctrl + C.


Hay una extensión gratuita que puede descargar here que le permite duplicar líneas sin reemplazar el contenido del portapapeles.

Por defecto, está vinculado a Alt + D , pero puede cambiarlo a cualquier cosa que desee yendo a Herramientas-> Opciones-> Entorno-> Teclado. Escribe "Duplicar" en el cuadro de búsqueda y busca "Editar.Duplicar selección" y edita el acceso directo a lo que quieras. Prefiero que Ctrl + D sea ​​coherente con otros editores.


He estado usando la macro que Wael publicó: comando de línea duplicada para Visual Studio , pero dejó de funcionar hace una semana, asumí debido a una actualización de Windows. Y tenía razón, a partir de febrero de 2014, las macros se han deshabilitado en VS2010 (y 2008 aparentemente).

Para solucionar este problema, tendrá que desinstalar las actualizaciones de seguridad o agregar una línea de código en los archivos de configuración como se muestra here .

En una máquina Windows de 64 bits, las rutas predeterminadas a estos archivos son:

  • C:/Program Files (x86)/Common Files/Microsoft Shared/VSA/9.0/VsaEnv/vsaenv10.exe.config
  • C:/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/devenv.exe.config

    ... <configuration> <runtime> <AllowDComReflection enabled="true"/> ...

¡ DEBES ejecutar tu editor de texto con derechos de administrador o no funcionará! Esperemos que esto ayude a cualquier otra persona que de repente haya eliminado su funcionalidad macro desde debajo de ellos.


No es una respuesta, solo una adición útil: como regalo de promoción, acabo de inventar (bueno ... ehm ... ajusté el código publicado por Lolo) una macro RemoveLineOrBlock. ¡Disfrutar!

Imports System Imports EnvDTE Imports EnvDTE80 Imports EnvDTE90 Imports EnvDTE90a Imports EnvDTE100 Imports System.Diagnostics Public Module RemoveLineOrBlock Sub RemoveLineOrBlock() Dim selection As TextSelection = DTE.ActiveDocument.Selection Dim lineNumber As Integer Dim line As String If selection.IsEmpty Then selection.StartOfLine(0) selection.EndOfLine(True) Else Dim top As Integer = selection.TopLine Dim bottom As Integer = selection.BottomLine selection.MoveToDisplayColumn(top, 0) selection.StartOfLine(0) selection.MoveToDisplayColumn(bottom, 0, True) selection.EndOfLine(True) End If selection.LineDown(True) selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstColumn,True) selection.Delete() selection.MoveToDisplayColumn(selection.BottomLine, 0) selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstText) End Sub End Module


No sé si esto existe en Visual Studio 2008 pero en Visual Studio 2010+ puede hacerlo fácilmente de la siguiente manera:

No seleccione nada, luego presione Ctrl + C Y luego (sin hacer nada más) Ctrl + V


Para Visual Studio 2010, intente usar estos comandos para una rápida duplicación de líneas (usa el portapapeles):

  • Haga clic en la línea que desea copiar. Ctrl + C copiará esa línea.

  • Luego presione Ctrl + Shift + Enter para insertar un espacio en blanco debajo del punto de inserción

    (También puede usar Ctrl + Intro para insertar una línea en blanco sobre el punto de inserción).

  • Luego simplemente usa Ctrl + V para pegar la línea.


Para aquellos que aún están viendo esta pregunta en Visual Studio post-2008, se ha agregado un Edit.Duplicate real:

  • CTRL + E , V
  • CTRL + D (VS 2017 15.6+)

Si le gusta la duplicación de línea (o bloque) de estilo de eclipse usando CTRL + ALT + ARRIBA o CTRL + ARRIBA + ABAJO , a continuación publico macros para este propósito:

Imports System Imports EnvDTE Imports EnvDTE80 Imports System.Diagnostics Public Module DuplicateLineModule Sub DuplicateLineDown() Dim selection As TextSelection = DTE.ActiveDocument.Selection Dim lineNumber As Integer Dim line As String If selection.IsEmpty Then selection.StartOfLine(0) selection.EndOfLine(True) Else Dim top As Integer = selection.TopLine Dim bottom As Integer = selection.BottomLine selection.MoveToDisplayColumn(top, 0) selection.StartOfLine(0) selection.MoveToDisplayColumn(bottom, 0, True) selection.EndOfLine(True) End If lineNumber = selection.TopLine line = selection.Text selection.MoveToDisplayColumn(selection.BottomLine, 0) selection.EndOfLine() selection.Insert(vbNewLine & line) End Sub Sub DuplicateLineUp() Dim selection As TextSelection = DTE.ActiveDocument.Selection Dim lineNumber As Integer Dim line As String If selection.IsEmpty Then selection.StartOfLine(0) selection.EndOfLine(True) Else Dim top As Integer = selection.TopLine Dim bottom As Integer = selection.BottomLine selection.MoveToDisplayColumn(top, 0) selection.StartOfLine(0) selection.MoveToDisplayColumn(bottom, 0, True) selection.EndOfLine(True) End If lineNumber = selection.BottomLine line = selection.Text selection.MoveToDisplayColumn(selection.BottomLine, 0) selection.Insert(vbNewLine & line) selection.MoveToDisplayColumn(lineNumber, 0) End Sub End Module


Simplemente coloque el mouse en la línea para copiar y hacer CTRL + C , luego CTRL + V en la misma línea. Funciona como la magia :-)


Uso el enlace de la aplicación: AutoHotkey con el siguiente código guardado en el archivo CommentDuplikateSaveClipboard.ahk . Puede editar / eliminar accesos directos es fácil.
Tengo un enlace a este archivo "Shortcut to CommentDuplikateSaveClipboard.ahk" en Autostart en Windows.
Este script protege tu portapapeles.
Si tiene más curiosidad, agregaría accesos directos a este script habilitado.
A veces utilizo una secuencia de comandos de Multi Clipboard muy impresionante para manejar fácilmente con muchos clips guardados en el disco y uso con CTRL + C , X , V para copiar, pegar, cortar, siguiente, anterior, eliminar esto, eliminar todo.

;CommentDuplikateSaveClipboard.ahk !c:: ; Alt+C === Duplicate Line ^d:: ; Ctrl+D ClipSaved := ClipboardAll Send, {END}{SHIFTDOWN}{HOME}{SHIFTUP}{CTRLDOWN}c{CTRLUP}{END}{ENTER}{CTRLDOWN}v{CTRLUP}{HOME} Clipboard := ClipSaved ClipSaved = return !x:: ; Alt+X === Comment Duplicate Line ClipSaved := ClipboardAll Send, {END}{SHIFTDOWN}{HOME}{SHIFTUP}{CTRLDOWN}c{CTRLUP}{LEFT}//{END}{ENTER}{CTRLDOWN}v{CTRLUP}{HOME} Clipboard := ClipSaved ClipSaved = return !z:: ; Alt+Z === Del uncomment Line ClipSaved := ClipboardAll Send, {END}{SHIFTDOWN}{UP}{END}{SHIFTUP}{DEL}{HOME}{DEL}{DEL} Clipboard := ClipSaved ClipSaved = return !d:: ; Alt+D === Delete line Send, {END}{SHIFTDOWN}{UP}{END}{SHIFTUP}{DEL} return !s:: ; Alt+S === Swap lines ClipSaved := ClipboardAll Send, {END}{SHIFTDOWN}{UP}{END}{SHIFTUP}{CTRLDOWN}x{CTRLUP}{UP}{END}{CTRLDOWN}v{CTRLUP}{HOME} Clipboard := ClipSaved ClipSaved = return !a:: ; Alt+A === Comment this line, uncomment above Send, {END}{HOME}//{UP}{HOME}{DEL}{DEL} return


VS 2017 es Ctrl + D o Ctrl + C ; Ctrl + V ambos trabajan para mí.


para Visual Studio 2012, 2013, 2015, 2017 siga el enlace y descargue la extensión

https://marketplace.visualstudio.com/items?itemName=ctlajoie.DuplicateSelection

Ahora vaya a Herramientas> Opciones> Teclado y escriba "Duplicar" en el cuadro de búsqueda (la cadena de comando completa es "Editar.DuplicarSelección"). Aquí puede enlazarlo a cualquier acceso directo de la misma forma que lo haría con cualquier otro comando.


http://www.jetbrains.com/resharper/

Mi historia: comencé a trabajar en una nueva empresa, nunca antes usé Visual Studio. Una de las primeras cosas - cómo duplicar la línea. Después de configurar la macro, ReSharper me dijo: ¿te gustaría sustituir mi acceso directo que era: "texto duplicado" :)


Ctrl + C + V funciona para mí en VS2012 sin extensión.


Ctrl + D es un nuevo atajo introducido en VS 2017 v15.6 que parece hacer exactamente lo que Ctrl + E , V

Ctrl + D duplicará la línea en la que se encuentra el cursor y la insertará justo debajo de la línea que está enfocada. Si desea duplicar un conjunto específico de código, simplemente seleccione la parte del código que desea duplicar antes de invocar el comando de código duplicado.

No afectará a tu portapapeles.

Source


Ctrl + D funciona para mí en VS2012 con Resharper. Es la tecla de acceso rápido de Resharper.