Ctrl 및 커서 키를 눌렀을 때 Visual Studio에서 CamelCase를 이해하도록합니다.


130

CamelCase를 이해하도록 Visual Studio 2008을 구성 할 수있는 방법이 있습니까? 특히 변수 또는 유형 이름의 하위 섹션으로 이동하도록 커서를 가져 Ctrl + right오거나 싶습니다 left.

즉, 커서가이 줄의 시작 부분에 있다면

LongNamedExampleClass longNamed = new LongNamedExampleClass();

나는 명중 Ctrl + right내가 "로 이동하고 싶습니다, Named오히려 변수 이름의 시작보다, 클래스 이름에". 다시 맞으면 " Example" 로 이동하고 싶습니다 . 나는 그것이 의미가 있기를 바랍니다.

나는이 탐색 기능을 Eclipse에서 상당히 많이 사용했고, 너무 심오한 것을 배우기가 어렵다는 것을 알게되었다.


Resharper 는 해당 기능을 지원합니다.
Petter Wigle

Resharper 가 그렇게합니다. 나는 당신이 똑같이하기 위해 자신의 addin을 작성할 수 있다고 생각합니다.
오픈 칼라

답변:


132

Resharper를 제안한 사람들에게 감사합니다. 더 사랑해야 할 또 다른 이유가 있습니다. JetBrains는 CamelHumps (cute) 라고 부르며 메뉴를 사용하여 켤 수 있습니다.

Resharper-> 옵션-> 환경-> 편집기-> 편집기 동작-> CamelHump 사용

... Resharper의 이전 버전에서는 그렇습니다.

Resharper-> 옵션-> 편집기-> CamelHump 사용


2
CameHumps가 켜져 있어도 전체 단어를 선택할 수있는 옵션이 있습니까? 현재 단어를 선택하려면 오른쪽 또는 왼쪽을 여러 번 눌러야합니다. 나는 당신이 나를 바랍니다.
Ozkan

CamelHumps가 켜져있는 동안 전체 단어를 빠르게 선택하려면 선택 확장 바로 가기 키를 두 번 누릅니다 ( Ctrl+ Alt+ Right또는 Ctrl+ W).

107

(ReSharper에서 또는 CodeRush 비용을 지불하지 않으려는 2008년 11월 25일 후이 페이지를 통해 보았 누구나 더 이상 무료 버전이있다 ), 다음 무료 확장이 기능을 추가합니다 Subword 탐색 올레 Westman에 의해

(또는, VSTricks의 확장 Subword 탐색 간지 기능의리스트에 포함된다. 또 다른있다 Subword 탐색 올레 Westman의 응답이있는 용도와 혼동하지 라 우리 Vasama 의해 생성 확장).

하위 단어 탐색 프로젝트 페이지에는 다음이 표시됩니다.

키보드 바인딩에서 Edit.Subword를 찾아 설정하십시오.

설정 방법은 다음과 같습니다 Visual Studio 2019.


  1. 에 이동 도구> 옵션> 환경> 키보드

  1. 에서 텍스트 편집기를Use new shortcut in 선택하십시오.

  1. 아래 Show commands containingEdit.Subword를 입력 하십시오 . 아래 나열된 명령으로 자동 완성 필드가 나타납니다.

  1. 바로 가기 키를 설정하려는 다음 명령 중 하나를 선택하십시오. 선택한 후에는 번호가 매겨진 나머지 단계를 따르십시오. 그런 다음 다시Step 4 다른 것으로 설정하십시오.
    • Edit.SubwordNext
      • 낙타를 오른쪽으로 가로 지르기 [ Alt + Right Arrow]
    • 편집 하위 단어 이전
      • 왼쪽으로 낙타를 가로 지르다 [ Alt + Left Arrow]                                                             
    • Edit.SubwordNextExtend
      • 낙타를 오른쪽으로 선택 [ Alt + Shift + Right Arrow]
    • Edit.SubwordPreviousExtend
      • 왼쪽의 낙타를 선택합니다. [ Alt + Shift + Left Arrow]                                                              
    • Edit.SubwordDeleteNext
      • 낙타를 오른쪽으로 삭제합니다. [ Alt + Delete]
    • Edit.SubwordDeletePrevious
      • 왼쪽의 낙타를 삭제합니다. [ Alt + Backspace]

참고 : 이러한 하위 단어 탐색 명령을 이러한 새 바로 가기 키에 할당 할 때는 다른 키로 설정하여 미리 유지하려는 기존의 바로 가기 키 기능을 유지하십시오. 기본 설치된 바로 가기 키와 충돌하지 않아야합니다.


  1. 에서 바로 가기 키를Press shortcut keys 누릅니다.

  1. Assign기존 바로 가기를 클릭 하고 덮어 씁니다.

2
헤드 업 주셔서 감사합니다! 이것은 훌륭하게 작동하며 제시된 솔루션 중 가장 개방적입니다.
체스터 껍질

나는 2015 년과 그 이후를 의미했습니다. 나중에 언급했듯이 VS 2012에서 이것을 사용했습니다. 게시물에서 명확히하겠습니다. 감사.
jsea 2016 년

2
설정 세부 정보를 제공 할 때 특히 우수합니다. Next / PreviousExtend
skia.heliou

9
2015 년에는 Global. * 명령 대신 TextEditor. * 명령을 덮어 써야했습니다. ALT + RIGHT는 이미 다른 것에 묶여있었습니다.
세스 꽃

2
@ yanyankelevich 방금 VS2019에서 테스트했으며 작동합니다. 그러나 Extensions Manager에서 "Subword Navigation"이라는 두 가지 확장 이 있음을 알았습니다. Olle Westman이 만든 것을 원합니다. 나는 그것을 지정하고 VS2019에서 작동한다는 것을 알기 위해 대답을 업데이트했습니다.
jsea

22

ReSharper를 설치 한 경우 "ctrl- 오른쪽"및 "ctrl- 왼쪽"의 표준 Visual Studio 동작을 잃지 않으면 서 CamelHump에 대해 Visual Studio 키보드 단축키 "Alt-Right"및 "Alt-Left"를 구성 할 수도 있습니다.

  1. 도구 –> 옵션 에서 Visual Studio 옵션 창을 엽니 다.
  2. 환경을 확장 하고 아래로 스크롤하여 키보드
  3. 다음 을 포함하는 명령 표시 상자에 "hump"를 입력하십시오. CamelHumps와 관련된 모든 명령이 표시됩니다. 낙타 혹
  4. 목록에서 명령을 선택하고 바로 가기 키 누르기 텍스트 상자 에 키 맵핑을 입력하여 원하는 키 맵핑에 명령을 맵핑 한 후 지정 을 클릭 하십시오 .

주의 사항 :

  • 전역이 아닌 텍스트 편집기에 대한 매핑을 지정하십시오 .
  • 확인하십시오 사용 CamelHumps의 ReSharper에서에서 옵션 -> 옵션 -> 편집기 -> 편집기 동작은 꺼져 .

자세한 내용은 여기 : http://davidrcook.wordpress.com/2009/11/05/working-with-camel-case-in-visual-studio/


4
오늘은 진짜 너 덕분이다. 낙타 혹과 같은 완벽한 솔루션은 긴 식별자를 가진 핀일 수 있습니다 (Eclipse를 사용하는 사람이라면 누구나 증명할 것입니다)
chrisb


2

Visual Studio는이 동작을 지원하지 않습니다. 그러나 DevExpres의 CodeRush! 이 제품은 탐색에 도움이되는 수많은 다른 기능과 함께 이와 같은 탐색 (Alt- 왼쪽 및 Alt- 오른쪽 사용)을 지원합니다. CodeRush! 제품은 리 팩터 도구와 함께 번들로 제공됩니다. 또한 무료 CodeRush를 제공합니다! & Refactor Express 제품이지만 Camel Casing 네비게이션이 특급 제품의 일부인지 확실하지 않습니다.



-1

Visual Studio는 Windows 환경에서 Ctrl + Right 및 Ctrl + Left가 정상적으로 작동하는 것처럼 보이기 때문에이 기능을 내부적으로 지원한다고 생각하지 않습니다. 그러나 일종의 확장 또는 플러그인으로 가능할 수 있습니다.


6
다른 사람들이 질문에 대답 할 수 있을지 여부를 추측하는 것은 실제로 질문에 대한 답변이 아닙니다.
GregNash
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.