다음을 통해 공유


Visual Studio의 IntelliSense

IntelliSense는 사용 중인 코드에 대해 자세히 알아보고, 입력하는 매개 변수를 추적하고, 몇 가지 키 입력만으로 속성 및 메서드에 대한 호출을 추가하는 데 도움이 되는 기능을 포함하는 코드 완성 지원입니다.

이러한 기능은 다음과 같습니다.

IntelliSense의 많은 측면은 언어별로 다릅니다. 다른 언어에 대한 IntelliSense에 대한 자세한 내용은 관련 콘텐츠 섹션에 나열된 문서를 참조하세요.

회원 목록

트리거 문자(예: 관리 코드의 마침표(.) 또는 C++의 ::)를 입력한 후 형식(또는 네임스페이스)의 유효한 멤버 목록이 나타납니다. 문자를 계속 입력하면 해당 문자로 시작하는 멤버만 포함하거나 이름 내의 단어를 시작 부분만 해당 문자로 시작하도록 목록이 필터링됩니다. IntelliSense는 카멜 표기법 일치도 수행하므로 멤버 이름에서 각 단어의 첫 글자만 입력하면 일치하는 항목을 볼 수 있습니다.

항목을 선택한 후 Tab 누르거나 공백을 입력하여 코드에 삽입할 수 있습니다. 항목을 선택하고 마침표를 입력하면 항목 다음에 마침표가 나타나고 다른 멤버 목록이 나타납니다. 항목을 선택했지만 삽입하기 전에는 해당 항목에 대한 빠른 정보를 얻을 수 있습니다.

멤버 목록에서 왼쪽 아이콘은 네임스페이스, 클래스, 함수 또는 변수와 같은 멤버 형식을 나타냅니다. 목록이 길 수 있으므로 PgUp 누르고 PgDn 목록에서 위 또는 아래로 이동할 수 있습니다.

IntelliSense 목록 멤버 기능의 스크린샷

Ctrl +J입력하거나, >IntelliSense 편집>구성원선택하거나, 편집기 도구 모음에서 멤버 목록 단추를 선택하여 구성원 목록 기능을 수동으로 호출할 수 있습니다. 빈 줄이나 인식 가능한 범위 외부에서 호출되면 목록에 전역 네임스페이스에 기호가 표시됩니다.

특별히 호출되지 않는 한 기본적으로 목록 멤버를 해제하려면 도구>옵션>텍스트 편집기>모든 언어 이동하여 자동 목록 멤버선택을 취소합니다. 특정 언어에 대해서만 멤버 목록을 해제하려면 해당 언어에 대한 일반 설정으로 이동합니다.

입력한 텍스트만 코드에 삽입되는 제안 모드로 변경할 수도 있습니다. 예를 들어 목록에 없는 식별자를 입력하고 Tab를 누르면, 입력한 식별자가 자동 완성 모드에서 대체됩니다. 완료 모드와 제안 모드 간에 전환하려면 Ctrl+Alt+스페이스누르거나 편집>IntelliSense>완료 모드토글합니다.

입력한 텍스트만 코드에 삽입되는 제안 모드로 변경할 수도 있습니다. 예를 들어 목록에 없는 식별자를 입력하고 Tab누르면 완성 모드에서 입력된 식별자를 대체합니다. 완료 모드와 제안 모드 사이를 전환하려면 Ctrl+Alt+Space누르거나 편집>IntelliSense>자동 및 탭 전용 IntelliSense 완성전환합니다.

매개 변수 정보

매개 변수 정보 메서드, 특성 제네릭 형식 매개 변수(C#) 또는 템플릿(C++)에 필요한 매개 변수의 수, 이름 및 형식에 대한 정보를 제공합니다.

굵게 표시된 매개 변수는 함수를 입력할 때 필요한 다음 매개 변수를 나타냅니다. 오버로드된 함수의 경우, 함수 오버로드에 대한 대체 매개변수 정보를 보려면 위쪽 화살표 키아래쪽 화살표 키를 사용할 수 있습니다.

IntelliSense 매개 변수 정보 기능을 보여 주는 스크린샷

IntelliSense 매개 변수 정보 기능의 스크린샷

XML 문서 주석으로 함수 및 매개 변수에 주석을 추가하면 주석이 매개 변수 정보로 표시됩니다. 자세한 내용은 XML 코드 주석을 참조하세요.

편집>IntelliSense>매개 변수 정보선택하거나, Ctrl+Shift+공간누르거나, 편집기 도구 모음에서 매개 변수 정보 단추를 선택하여 매개 변수 정보를 수동으로 호출할 수 있습니다.

빠른 정보

빠른 정보는 코드의 모든 식별자에 대한 전체 선언을 표시합니다.

IntelliSense 빠른 정보 기능을 보여 주는 스크린샷

IntelliSense 빠른 정보 기능의 스크린샷

구성원 목록 상자에서 구성원을 선택하면 빠른 정보도 나타납니다.

IntelliSense 빠른 정보 및 매개 변수 정보 기능의 스크린샷

IntelliSense 빠른 정보 및 매개 변수 정보 기능의 스크린샷

편집>IntelliSense>빠른 정보선택하거나, Ctrl+K,Ctrl+누르거나, 편집기 도구 모음에서 빠른 정보 단추를 선택하여 빠른 정보를 수동으로 호출할 수 있습니다.

함수가 오버로드된 경우 IntelliSense는 모든 형태의 오버로드에 대한 정보를 표시하지 않을 수 있습니다.

도구>옵션>텍스트 편집기>C/C++>고급으로 이동한 후, 자동 빠른 정보false로 설정하여 C++ 코드에 대한 빠른 정보를 해제할 수 있습니다.

Word 완료

Complete Word 기능은 단어를 구분하기에 충분한 문자를 입력하면 나머지 변수, 명령 또는 함수 이름을 완성합니다. 편집>IntelliSense>Word완료를 선택하거나, Ctrl+공백누르거나, 편집기 도구 모음에서 Word 완료 단추를 선택하여 Word 완성을 호출할 수 있습니다.

IntelliSense 옵션

IntelliSense 옵션은 기본적으로 설정됩니다. 이 기능을 해제하려면 도구>옵션>텍스트 편집기>모든 언어 이동하여 매개 변수 정보 선택 취소하거나 멤버 나열 기능을 사용하지 않으려면 자동 목록 구성원을 선택 취소합니다.

Visual Studio에서 사용자 인터페이스 요소의 모양을 변경하려면 도구>옵션>환경>글꼴 및 색이동합니다. 이러한 설정 및 상호 작용하는 방법에 대한 자세한 내용은 글꼴 및 색, 환경, 옵션 대화 상자참조하세요.

IntelliSense 아이콘

IntelliSense의 아이콘은 아이콘 한정자를 사용하여 추가적인 의미를 전달할 수 있습니다. 이 아이콘들은 개체의 아이콘 위에 겹쳐진 별, 잠금, 및 하트로, 각각 보호, 내부 또는 개인을 의미합니다.

아이콘 접근성 묘사
공용 아이콘 한정자 퍼블릭 클래스 액세스가 제한되지 않습니다.
보호된 아이콘 한정자 보호된 클래스 액세스는 포함하는 클래스 또는 포함하는 클래스에서 파생된 형식으로 제한됩니다.
보호된 내부 아이콘 한정자 보호된 내부 클래스 액세스는 현재 어셈블리 또는 포함하는 클래스에서 파생된 형식으로 제한됩니다.
내부 아이콘 한정자 내부 클래스 액세스는 현재 어셈블리로 제한됩니다.
프라이빗 아이콘 한정자 프라이빗 클래스 액세스는 현재 어셈블리 내의 포함하는 클래스에서 파생된 포함하는 클래스 또는 형식으로 제한됩니다. (C# 7.2 이후 사용 가능)

IntelliSense 문제 해결

IntelliSense 옵션은 특정 경우에 예상한 대로 작동하지 않을 수 있습니다.

  • 커서가 코드 오류아래에 있습니다. IntelliSense가 코드 요소를 구문 분석하지 못할 수 있으므로 커서 위의 코드에 불완전한 함수 또는 기타 오류가 있는 경우 IntelliSense를 사용하지 못할 수 있습니다. 해당 코드를 주석으로 처리하여 이 문제를 해결할 수 있습니다.

  • 커서가 코드 주석에 있을 때는. 소스 파일의 주석에 커서가 있으면 IntelliSense를 사용할 수 없습니다.

  • 커서가 문자열 리터럴에 있습니다. 다음 예제와 같이 커서가 문자열 리터럴을 둘러싼 따옴표 안에 있으면 IntelliSense를 사용할 수 없습니다.

    MessageBox( hWnd, "String literal|")
    
  • 자동 옵션은해제됩니다. 기본적으로 IntelliSense는 자동으로 작동하지만 사용하지 않도록 설정할 수 있습니다. 자동 문 완성을 사용하지 않도록 설정하더라도 IntelliSense 기능을 호출할 수 있습니다.