development

Visual Studio : 바로 가기 키 : 복제 선

big-blog 2020. 2. 23. 11:54
반응형

Visual Studio : 바로 가기 키 : 복제 선


Visual Studio 2008 Duplicate Line 명령에 대한 바로 가기가 있습니까?

비슷한 예 :


Visual Studio 2019에서

Ctrl + D

Visual Studio 2017 (v15.6 이상)

Ctrl + D

Visual Studio 2017 (v15.6 이전)

(편집)이 기능은 이제 VS2017 : Ctrl+ 에 내장되어 있으며 E, V아무 것도 선택하지 않으면 선을 복제하거나 선택을 복제합니다. 다른 키 조합에 할당하거나 메뉴에서 찾을 수 있습니다.

VS2017의 중복 라인

자세한 내용은 이 참조 를 참조하십시오.

Pre VS2017, 클립 보드를 사용하는 내장 방법

@cand가 언급했듯이 Ctrl+를 할 수 있습니다 C. Ctrl+ V.

CtrlC아무것도 선택하지 않으면 + 는 행을 복사합니다.

매크로 솔루션 (pre VS2017)

보다 완벽한 솔루션을 구현하거나 더 간단한 키보드 단축키를 만들거나 클립 보드에 영향을 미치지 않으려면이 안내서를 참조하십시오.

Visual Studio에 대한 중복 줄 명령

비주얼 베이직 :

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

매크로를 만들려면 매크로 탐색기 ( "도구-> 매크로-> 매크로 탐색기"또는 Alt+ F8)로 이동하여 코드를 복사하여 새 모듈에 붙여 넣으십시오. 이제 키보드 단축키를 지정하십시오.

  1. 도구-> 옵션 ...으로 이동하십시오.
  2. 환경에서 키보드를 클릭하십시오.
  3. "명령이 포함 된 명령 표시"텍스트 상자에 "중복"을 입력하십시오 (모듈에 지정한 이름에 따라).
  4. 이제 아래 목록에 매크로가 표시됩니다
  5. "새 바로 가기 사용"목록에서 "텍스트 편집기"를 선택하십시오.
  6. "바로 가기 키 누르기"텍스트 상자에 초점을 설정하고 사용하려는 키보드의 조합을 누르십시오 ( 필자의 경우 Ctrl+ Shift+ D).
  7. "지정"버튼을 누르십시오
  8. "선택된 명령의 바로 가기"텍스트 상자에 바로 가기가 표시됩니다
  9. 확인 버튼을 누르십시오

그리고 그게 다야. 즐겨!


당신이 다운로드 할 수있는 무료 확장있다 여기에 클립 보드 내용을 교체하지 않고 당신에게 중복 행을 할 수 있습니다.

기본적으로 바운드는 Alt+ D이지만 도구-> 옵션-> 환경-> 키보드로 이동하여 원하는 것으로 변경할 수 있습니다. 검색 상자에 "중복"을 입력하고 "편집. 중복 선택"을 찾아 원하는대로 바로 가기를 편집하십시오. 다른 편집자와 일관성을 유지하기 위해 Ctrl+ D선호합니다 .


간단하다 Ctrl+ C; Ctrl+ V,이 링크를 확인 하십시오 . 텍스트를 선택하지 않으면 Ctrl+ 를 누를 때 커서가있는 줄이 복제됩니다 C.


Ctrl+ C+ V는 VS2012에서 확장없이 작동합니다.


Ctrl+ DVS2012에서 Resharper와 함께 작동합니다. Resharper의 단축키입니다.


Visual Studio 2013에서는 Ctrl+ C+를 사용할 수 있습니다V


다음은 Wael이 게시 한 링크의 매크로를 기반으로하지만 다음 영역에서 개선 된 매크로입니다.

  • 약간 짧다
  • 약간 더 빠름
  • 코멘트 :)
  • "///"로 시작하는 줄에 대해 동작
  • 단일 실행 취소로 취소 할 수 있습니다
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

CTRL+ ALT+ UP또는 CTRL+ UP+를 사용하여 이클립스 스타일 라인 (또는 블록)을 복제하려면 DOWN아래 에이 목적으로 매크로를 게시하십시오.

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

왜 그렇게 많은 것들이 그렇게 간단한 것을 성취하기 위해 오랫동안 길을 잃었을까요? Microsoft에서 확장 프로그램을 다운로드하여 설치하는 데 1 분도 걸리지 않습니다. 이 페이지는 기본적 으로 ALT+ D바인딩한다고 말하지만 Visual Studio Community 2015에서는 변경없이 자동으로 CTRL+에 바인딩했습니다 D.

다음은 Microsoft.com에서 확장 프로그램을 다운로드 할 수있는 링크입니다.


에서 비주얼 스튜디오 코드 ( WebMatrix ) :

줄을 아래로 복사 : Shift+ Alt+down

라인 복사 : Shift+ Alt+up

줄 삭제 : Ctrl+ Shift+k


이것이 키보드 단축키가 아니라는 것을 알고 있지만 클립 보드를 사용할 필요가 없으며 일부 사람들을 도울 수 있기 때문에 이것을 추가 할 것이라고 생각했습니다.

복제하려는 행을 강조 표시하십시오. 컨트롤을 누르고 강조 표시된 텍스트를 마우스로 클릭 한 다음 가고 싶은 곳으로 끕니다. 강조 표시된 텍스트가 복제됩니다.


Visual Studio 2013에서 매크로를 사용할 수 없으므로 Visual Studio 플러그인을 찾았습니다 (2012 년과 2013 년에 사용). 중복 선택은 선택과 전체 라인을 복제합니다. 부분 선택 만하면됩니다. 표준 단축키는 ALT+ D입니다.


이것이 Visual Studio 2008에 존재하는지 모르겠지만 Visual Studio 2010 이상에서는 다음과 같이 쉽게 수행 할 수 있습니다.

아무것도 선택하지 않은 다음 Ctrl+ 를 누른 C다음 다른 작업을 수행하지 않고 Ctrl+V


Wael이 게시 한 매크로를 사용했습니다 : Visual Studio 용 중복 줄 명령 이지만 일주일 전에 작동이 중단되었습니다 .Windows 업데이트로 인해 가정했습니다. 그리고 2014 년 2 월 현재 VS2010 (및 2008 년)에서 매크로가 비활성화되었습니다.

이 문제를 해결하려면 보안 업데이트를 제거하거나 여기에 표시된대로 구성 파일에 한 줄의 코드를 추가해야 합니다 .

64 비트 Windows 시스템에서 이러한 파일의 기본 경로는 다음과 같습니다.

  • 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"/>
            ...
    

    에디터 스크린 샷

당신은 반드시 사용하여 텍스트 편집기를 실행하여 관리자 권한을 하거나 작동하지 않습니다! 바라건대 이것은 매크로 기능을 갑자기 가지고있는 다른 사람들에게 도움이되기를 바랍니다.


그냥 복사 할 라인에 마우스를 넣어 CTRL+ C이후, CTRL+ V같은 줄에. 마술처럼 작동합니다 :-)


Visual Studio 2008에서는 CTRL+ C+를 사용할 수 있습니다V


2008 년 이후 Visual Studio에서이 질문을보고있는 사람들을 위해 실제 Edit.Duplicate가 추가되었습니다.

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

위해 스튜디오 2012, 2013, 2015, 2017 비주얼은 링크를 따라 확장을 다운로드

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

이제 도구> 옵션> 키보드로 이동하여 검색 상자에 "중복"을 입력하십시오 (전체 명령 문자열은 "Edit.DuplicateSelection"입니다). 여기서는 다른 명령과 같은 방식으로 바로 가기에 바인딩 할 수 있습니다.


Visual Studio 2017 및 다른 버전 에서는 Macro 또는 Extension이 필요하지 않습니다 .

  1. 이동 Tools > Options > Environment > Keyboards
  2. 아래에서 Show commands containing:쓰기Edit.Duplicate
  3. 장소 커서 Press shortcut keys:를 눌러 Ctrl+ D와 클릭 Assign버튼
  4. 클릭 OK하여 새 키보드 단축키를 저장하십시오

여기에 이미지 설명을 입력하십시오


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

내 이야기 ​​: 새로운 회사에서 일하기 시작했으며 이전에는 Visual Studio를 사용하지 않았습니다. 첫 번째 것 중 하나-줄을 복제하는 방법. 매크로를 설정 한 후 ReSharper 는 다음과 같이 말했습니다 : "텍스트 복제":)


Visual Studio 2010에서는 커서가있는 전체 줄을 CTRL+ INSERT복사 한 다음 Ctrl+ V또는 SHIFT+ INSERT사용 하여 붙여 넣을 수 있습니다.


VS 2017 its Ctrl+ D또는 Ctrl+ C; Ctrl+ V그들은 모두 나를 위해 일합니다.


원하는 명령은 Edit.Duplicate 입니다. 그것은에 매핑됩니다 CtrlE, CtrlV. 되지 않습니다 클립 보드를 덮어 씁니다.


응용 프로그램 링크 : AutoHotkey 를 아래 코드와 함께 CommentDuplikateSaveClipboard.ahk파일에 저장했습니다 . 바로 가기를 쉽게 편집 / 제거 할 수 있습니다.
이 파일 "Shortcut to CommentDuplikateSaveClipboard.ahk"대한 링크가 AutostartWindows에 있습니다.
이 스크립트는 클립 보드를 보호합니다.
궁금한 점이 있으면이 스크립트를 활성화 / 활성화하는 바로 가기를 추가하십시오.
가끔 매우 인상적 사용하는 Multi Clipboard많은 쉽게 핸들에 스크립트 clips로 디스크 사용에 저장 CTRL+ C, X, V, 잘라 내기, 복사 붙여 넣기, 다음, 이전이 삭제, 모두 삭제합니다.

;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

Ctrl+ D는 VS 2017 v15.6에서 도입 된 새로운 바로 가기입니다. Ctrl+ E,V

Ctrl + D는 커서가있는 줄을 복제하여 포커스가있는 줄 바로 아래에 삽입합니다. 특정 코드 세트를 복제하려면 복제 코드 명령을 호출하기 전에 복제하려는 코드 부분을 선택하십시오.

클립 보드에 영향을 미치지 않습니다

출처


답이 아니라 유용한 추가 사항 : 공짜로 방금 RemoveLineOrBlock 매크로를 발명했습니다 (잘 ... 음 ... Lolo가 게시 한 코드 조정). 즐겨!

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

에서 VS2019 도에서 VS2017 을 선택할 수 있습니다 도구 -> 옵션 -> 키보드 당신은 계획 드롭 다운에서 선택할 수 있습니다 ReSharper에서 (비주얼 스튜디오) 옵션 및 사용 된 경우처럼 당신은 매핑을 얻을 것이다 ReSharper에서를 이 경우에, Ctrl+ D라인을 복제하는 트릭을 수행합니다. 어쨌든 문서를 기반으로 이것은 Visual Studio 2017 버전 15.8 이상에서 벗어나야합니다.


Visual Studio 2010의 경우 빠른 행 복제를 위해 다음 명령을 사용해보십시오 (클립 보드 사용).

  • 복사하려는 라인을 클릭하십시오. Ctrl+ C는 그 줄을 복사합니다.

  • 그런 다음 Ctrl+ Shift+ Enter눌러 삽입 점 아래에 공백을 삽입하십시오.

    (또는 삽입 지점 위에 빈 줄을 삽입 하려면 Ctrl+ Enter사용 하십시오.)

  • 그런 다음 Ctrl+ V사용 하여 선을 붙여 넣습니다.

참고 URL : https://stackoverflow.com/questions/2279000/visual-studio-short-cut-key-duplicate-line



반응형