Visual Studio 2008 에 Duplicate Line 명령에 대한 바로 가기가 있습니까?
비슷한 예 :
Visual Studio 2008 에 Duplicate Line 명령에 대한 바로 가기가 있습니까?
비슷한 예 :
답변:
Ctrl + D
Ctrl + D
(편집)이 기능은 이제 VS2017에 내장되어 있습니다 : Ctrl+ E, V아무 것도 선택하지 않으면 선을 복제하거나 선택을 복제합니다. 다른 키 조합에 할당하거나 메뉴에서 찾을 수 있습니다.
자세한 내용은 이 참조 를 참조하십시오.
@cand가 언급했듯이 Ctrl+를 할 수 있습니다 C. Ctrl+ V.
CtrlC아무것도 선택하지 않으면 + 는 행을 복사합니다.
보다 완벽한 솔루션을 구현하거나 더 간단한 키보드 단축키를 만들거나 클립 보드에 영향을 미치지 않으려면이 안내서를 참조하십시오.
비주얼 베이직 :
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)로 이동하여 코드를 복사하여 새 모듈에 붙여 넣으십시오. 이제 키보드 단축키를 지정하십시오.
- 도구-> 옵션 ...으로 이동하십시오.
- 환경에서 키보드를 클릭하십시오.
- "Show Commands Containing"텍스트 상자에 "duplicate"를 입력하십시오 (모듈에 지정한 이름에 따라).
- 이제 아래 목록에 매크로가 표시됩니다
- "새 바로 가기 사용"목록에서 "텍스트 편집기"를 선택하십시오.
- "바로 가기 키 누르기"텍스트 상자에 초점을 설정하고 사용하려는 키보드의 조합을 누르십시오 ( 필자의 경우 Ctrl+ Shift+ D).
- "지정"버튼을 누르십시오
- "선택한 명령의 바로 가기"텍스트 상자에 바로 가기가 표시됩니다
- 확인 버튼을 누르십시오
그리고 그게 다야. 즐겨!
<div>Profile.UserName: <%=Profile.UserName %></div>
.-이 매크로를 사용하여이 줄을 복제하면 다음과 같이 <div>Profile.UserName: <%=Profile.UserName %></div> %></div>
됩니다. 보시다시피, 마지막 부분은 "반복"입니다. 서버 측 코드 블록이 없으면 정상적으로 작동합니다. 이에 대한 해결 방법을 알고 있습니까? 그건 그렇고, 내가 경험 한 또 다른 흥미로운 점은이 매크로가 상대적으로 "느린"것으로 예상하지 못했습니다 ... :)
클립 보드 내용을 바꾸지 않고 줄을 복제 할 수 있도록 여기 에서 다운로드 할 수있는 무료 확장자가 있습니다 .
기본적으로 범위는 Alt+ D이지만 도구-> 옵션-> 환경-> 키보드로 이동하여 원하는 것으로 변경할 수 있습니다. 검색 창에 "Duplicate"를 입력하고 "Edit.DuplicateSelection"을 찾아 원하는 바로 가기를 편집하십시오. 다른 편집자와 일관성을 유지하기 위해 Ctrl+ D를 선호합니다 .
Edit.DuplicateSelection
용어와 VSE 2013 년에 존재 또는 다른 어떤 것으로 나타나지 않습니다 중복 된 사실이다.
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에 바인딩한다고 말하지만 , 나를 위해 CTRL+에 바인딩했습니다.D Visual Studio Community 2015에서는 변경없이 자동으로 .
에서 비주얼 스튜디오 코드 ( WebMatrix ) :
줄을 아래로 복사 : Shift+Alt +down
라인 복사 : Shift+Alt +up
줄 삭제 : Ctrl+ Shift+k
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"/>
...
당신은 반드시 사용하여 텍스트 편집기를 실행하여 관리자 권한을 하거나 작동하지 않습니다! 바라건대 이것은 매크로 기능을 갑자기 가지고있는 다른 사람들에게 도움이되기를 바랍니다.
위해 스튜디오 2012, 2013, 2015, 2017 비주얼은 링크를 따라 확장을 다운로드
https://marketplace.visualstudio.com/items?itemName=ctlajoie.DuplicateSelection
이제 도구> 옵션> 키보드로 이동하여 검색 상자에 "중복"을 입력하십시오 (전체 명령 문자열은 "Edit.DuplicateSelection"입니다). 여기서는 다른 명령과 같은 방식으로 바로 가기에 바인딩 할 수 있습니다.
2008 년 이후 Visual Studio에서이 질문을보고있는 사람들을 위해 실제 Edit.Duplicate가 추가되었습니다.
Ctrl+ D는 VS 2017 v15.6에서 도입 된 새로운 바로 가기입니다. Ctrl+ E,V
Ctrl + D는 커서가있는 줄을 복제하여 포커스가있는 줄 바로 아래에 삽입합니다. 특정 코드 세트를 복제하려면 복제 코드 명령을 호출하기 전에 복제하려는 코드 부분을 선택하십시오.
클립 보드에 영향을 미치지 않습니다
http://www.jetbrains.com/resharper/
내 이야기 : 새로운 회사에서 일하기 시작했으며 이전에는 Visual Studio를 사용하지 않았습니다. 첫 번째 것 중 하나-줄을 복제하는 방법. 매크로를 설정 한 후 ReSharper 는 다음과 같이 말했습니다 : "텍스트 복제":)
VS 2017 its Ctrl
+ D
또는 Ctrl
+ C
; Ctrl
+ V
그들은 모두 나를 위해 일합니다.
원하는 명령은 Edit.Duplicate 입니다. 그것은에 매핑됩니다 CtrlE, CtrlV. 이 되지 않습니다 클립 보드를 덮어 씁니다.
파일에 저장된 아래 코드와 함께 응용 프로그램 링크 : AutoHotkey 를 사용 CommentDuplikateSaveClipboard.ahk
합니다. 바로 가기를 쉽게 편집 / 제거 할 수 있습니다.
이 파일 "Shortcut to CommentDuplikateSaveClipboard.ahk"
에 대한 링크가 Autostart
Windows에 있습니다.
이 스크립트는 클립 보드를 보호합니다.
궁금한 점이 있으면이 스크립트를 활성화 / 활성화하는 바로 가기를 추가하십시오.
가끔 매우 인상적 사용하는 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
답이 아니라 유용한 추가 사항 : 공짜로 방금 RemoveLineOrBlock 매크로를 발명했습니다. 즐겨!
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
Visual Studio 2010의 경우 빠른 행 복제를 위해 다음 명령을 사용해보십시오 (클립 보드 사용).
복사하려는 라인을 클릭하십시오. Ctrl+ C는 그 줄을 복사합니다.
그런 다음 Ctrl+ Shift+를 누릅니다.Enter 를 삽입 점 아래에 공백을 삽입하십시오.
(또는 삽입 지점 위에 빈 줄을 삽입 하려면 Ctrl+ Enter를 사용 하십시오.)
그런 다음 Ctrl+ V를 사용 하여 선을 붙여 넣습니다.