2

Structure Search 및 Replace 기능이 IntelliJ IDE에 매우 유용합니다.구조 검색 - IntelliJ의 전체 일치 식

기존 템플릿을 탐색하고 새로운 초능력을 발견하는 동안 "logging without if"템플릿을 건너 왔습니다. 나의 거미 감각은 invert condition에서 Complete Match를 사용하기 때문에 "without"부분을 체크 아웃 할 것을 촉구했다.

그러나 나는 Complete Match에 사용 된 표현으로 당황하고 있습니다. 는 여기있다 :

if('_a) { 'st*; }

날이 표현을 사용하는 방법을 이해하는 데 도움이 바랍니다.

업데이트 2017년 1월 19일 :

바와 같이 @Faibbus 지적은 워드 프로세서 _a_st 변수 것을 말한다. 혼란은 변수 이름과 관련이 있습니다.

이름이 _a_st 인 경우에만 템플릿에 표시됩니다. 변수를 만드는 이유는 무엇입니까? 구조 검색의 다른 모든 변수는 $dollar$ 표지로 둘러싸여 있습니다.

밑줄을 변수 접두어로 사용하면 어떤 역할을합니까? 그 표현식에서 아포스트로피는 무엇을합니까?

전혀 알 수 없습니다. 내가 뭘 놓치고 있니?

답변

1

표현식이 내부 검색 기준 언어를 사용하고 있습니다. 이 언어를 사용하면 일반적인 구조 검색 대화 상자의 텍스트 필드와 확인란을 모두 사용하지 않고도 텍스트로 완전한 검색 쿼리를 지정할 수 있습니다. 이 언어는 공개되어서는 안되며 IntelliJ IDEA 2017.2에서 더 숨겨져 있어야합니다.

그렇다면 다음은 사용 된 언어의 기능에 대한 간단한 설명입니다.
- 하나의 눈금이 변수를 나타냅니다. 따라서 두 변수, _ast이 있습니다.
- 밑줄로 시작하지 않는 변수는 을 나타냅니다.이 변수는 검색 대상입니다. 쿼리 당 하나의 대상 만있을 수 있습니다. 그래서 st이 대상입니다.
- *이 0 번 이상임을 나타냅니다.
- 나머지 쿼리는 일반 Java 프래그먼트입니다.

이 검색 기준 언어의 다른 기능을 보려면 원하는 경우 the source을 확인하십시오.