[java] Intellij에서 카멜 케이스와 밑줄 간격 사이를 어떻게 전환합니까?

우리 회사에는 java 대 sql에 대한 두 가지 스타일 가이드가 있습니다. Java에는 이름이 지정된 필드가 historyOfPresentIllness있으며 SQL을 작성할 때 이름을 지정하고 싶습니다 history_of_present_illness. 구문을 강조 표시했을 때 하나에서 다른 것으로 전환 할 수있는 키보드 단축키가 있습니까? 아니면 이것을 할 수있는 플러그인일까요?

내가 묻는 동안으로 전환 historyOfPresentIllness할 방법이 있는지 물어 보는 것이 history-of-present-illness좋습니다. 그것은 자바에서 클로저 스타일까지입니다.



답변

나는 당신이 찾고있는 기능을 가진 String Manipulation 이라는 플러그인을 사용합니다 .

+ 를 선택 historyOfPresentIllness하고 눌러 플러그인 메뉴를 불러 온 후 다음을 누릅니다.AltM

  • 5-다음 으로 변환되는 snake_case (또는 camelCase)history_of_present_illness
  • 6 -다음 으로 변환되는 하이픈 케이스 (또는 snake_case)history-of-present-illness

이 작업을 더 쉽게하기 위해에서 바로 가기를 설정할 수 File | Settings | Keymap있습니다.


“camel”에 대한 플러그인 저장소를 빠르게 검색 한 결과 CamelCase 라는 플러그인이 표시되었습니다.이 플러그인 은 다양한 형식 사이를 전환 하여 SHIFT+ ALT+ 를 사용하여 정확히 원하는 작업을 수행합니다 U.

historyOfPresentIllness-> history_of_present_illness-> HISTORY_OF_PRESENT_ILLNESS-> HistoryOfPresentIllness->historyOfPresentIllness

그러나 사용해 본 후에는이 플러그인에 버그가있어 변경 사항을 취소 할 수 없습니다. 업데이트 : 이 버그는 한동안 수정 된 것으로 보이므로 CamelCase 플러그인을 사용하는 것이 좋습니다.


답변

아주 간단하게 눌러 찾기 / 바꾸기 패널 Clr + F을 열고 [✓] 정규식 이전 정규식 복사

찾기: [_]{1,1}([a-z])

바꾸다: \U$1

[모두 바꾸기] 버튼을 눌러 즐기세요


덕분에 대한 @piotrek _some_awe_var_someAweVar

찾기 사용 : (\w)[_]{1,1}([a-z])
바꾸기 :$1\U$2


답변

snake_case에서 CamelCase로

  • 찾기: (\w)[_]{1,1}([a-z])
  • 바꾸다: $1\U$2
  • 설정 :
    • 매치 케이스
    • 정규식

CamelCase에서 snake_case로 :

  • 찾기: ([A-Z])
  • 바꾸다: \_\L$1
  • 설정 :
    • 매치 케이스
    • 정규식

답변

위의 답변은 거의 완벽하지만 _something또는 같은 변수 this._somethingSomething및 로 변경합니다 this.Something. 내 경우에는 _가 “개인”변수 (이전 JS 프로젝트)를 나타내는 데 사용 되었기 때문에 원하지 않았습니다. 이 접근 방식을 약간 수정했습니다.

찾기 : (\ w) [_] {1,1} ([az])

바꾸기 : $ 1 \ U $ 2

이렇게하면 _중간에있는 변수 만 영향을받습니다.


답변

PyCharm도 사용을 리팩토링해도 괜찮다면 “이름 바꾸기”도구를 실행하십시오 (리팩터링> 이름 바꾸기). 창이 드롭 다운 목록과 함께 팝업되고 목록에 텍스트의 snake_case 버전이 표시되어야합니다 (창을 열고 키 입력으로 snake_case로 전환하여 매우 빠를 수 있음).


답변