티스토리 뷰

소스인사이트 룩업레퍼런스(lookup reference)

Lookup Reference에 대해 알아봅시다.

Lookup Reference에 대한 이해

변수나 Define 값이 코드의 어느 부분에 선언되어 있는지 찾아야 할 때 Lookup Reference기능을 자주 애용하게 되는데. 좀 더 알고 쓰도록 하자.

유저가 선택한 심볼이 현재 프로젝트 내에서 참조되는 부분들을 찾고자 할 경우에 사용 되는데, 좋은 점으로는 #ifdef으로 된 부분이라던가 코드 텍스트, 주석 부분까지 설정해서 선택적으로 검색할 수 있도록 기능이 제공되며 특히 심볼 인덱스를 사용해서 좀 더 빠른 검색을 할 수 있다. 그냥 파일들 내에서 순차적으로 무대뽀로 검색 하는 게 아니라는 말씀!



위의 Lookup Reference다이얼로그 박스 내의 각각의 항목에 대해서 좀 더 자세히 알아보자

  1. Find References To : 검색하고자 하는 심볼을 적는 곳이다. 보통은 코드 상에서 의문 나는 심볼에 커서를 놓고 Ctrl + / 를 눌러서 Lookup Reference 다이얼로그를 띄우기 때문에 이미 찾고자 하는 심볼이 샤샥 들어가 있다. 물론 커서 블록으로 지정해 줘서 다이얼로그를 띄워줘도 똑같다.

  2. Search In : 파일 중에 특별한 타입만 검색하고 한다면 요 드롭다운 리스트를 눌러서 선택하면 된다. 가령 All C Source File을 선택했다면 C 소스 파일 내에 있는 심볼들을 검색해서 결과를 보여줄 것이다.

  3. Case Sensitive : 대소문자를 구분할 지 여부를 정한다.

  4. Whole Words Only : 단어 전체가 맞는 심볼만 검색할지 여부를 정한다. 일부만 포함된 것도 찾으려면 체크를 해지한다. 심볼을 정확히 알고 있다면 요거 체크 해주는 게 좀 더 속도가 빠른 듯 하다.

  5. Skip Inactive Code : #if 0처럼 현재 쓰여지지 않는 상태의 심볼은 무시하도록 하는 옵션

  6. Skip Comments : 주석 처리는 검색에서 제외 할지 여부를 정함.

  7. Search Only Comments : 주석 내에서만 검색

  8. Smart Reference Matching : 소스 인사이트가 어느 정도 판단을 해서 결과를 내놓는다. 가령 찾고자 하는 심볼이 Struct 멤버 변수라면 주석이나 상수 선언 같은 관련 없는 것들은 제외하고 보여준다는 말이지.

  9. Touch files and cause recompile :

  10. Search Method
    1. Simple String : 그냥 문자열 검색

    2. Regular Expression : 정규 표현식(Regular expression)에 따라서 패턴을 보고 검색한다. 가령 "a*b"라고 쳐 넣으면 "b", "ab", "aab", "aaab"를 검색하게 되는 거지. 정규 표현식은 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어이다.

    3. Keyword Expression : 인터넷 검색 비스무리 한 검색. 가령 "cat foot"라고 입력하면 같은 라인에 "cat"과 "food"가 있는걸 찾는다는거.

    4. Look Up Reference : 심볼 참조 검색

모든 검색 설정을 마치고 나서 Search 버튼을 누르면 검색 결과 값이 Search Result 창에 표시된다. 그뿐만 아니라 표시된 결과 값들은 링크 버튼을 이용해서 해당 코드로 이동할 수 있다. Next Link, Previous Link 아이콘을 누르면 되겠다.Shift + F9를 눌러도 동일하다.

이상으로 Lookup Reference 를 살펴봤는데. 주로 사용하는 옵션은 검색 속도를 위해서lookup Reference 에 case sentence, skip comment가 되겠다. 뭐든지 알아두고 한번 설정 해놓으면 두고두고 편하게 되는 건 만고의 진리 인듯.