다음을 통해 공유


파일 열기 명령을 사용하여 파일 표시

다음 단계에서는 Visual Studio의 파일 메뉴에서 사용할 수 있는 파일 열기 명령을 IDE에서 처리하는 방법을 설명합니다. 또한 이 단계에서는 이 명령에서 시작된 호출에 프로젝트가 응답하는 방법을 설명합니다.

사용자가 파일 메뉴에서 파일 열기 명령을 클릭하고 파일 열기 대화 상자에서 파일을 선택하면 다음 프로세스가 발생합니다.

  1. 실행 중인 문서 테이블을 사용하여 IDE는 파일이 프로젝트에서 이미 열려 있는지 여부를 확인합니다.

    • 파일이 열려 있으면 IDE가 창을 다시 표시합니다.

    • 파일이 열려 있지 않으면 IDE는 IsDocumentInProject을 호출하여 각 프로젝트를 쿼리하여 파일을 열 수 있는 프로젝트를 결정합니다.

      참고 항목

      IsDocumentInProject의 프로젝트 구현에서 프로젝트가 파일을 여는 수준을 나타내는 우선 순위 값을 제공합니다. 우선 순위 값은 VSDOCUMENTPRIORITY 열거형에 제공됩니다.

  2. 각 프로젝트는 파일을 여는 프로젝트가 되는 것의 중요성을 나타내는 우선 순위 수준으로 응답합니다.

  3. IDE는 다음 조건을 사용하여 파일을 여는 프로젝트를 결정합니다.

    • 가장 높은 우선 순위(DP_Intrinsic)로 응답하는 프로젝트가 파일을 엽니다. 둘 이상의 프로젝트가 이 우선 순위로 응답하는 경우 응답할 첫 번째 프로젝트가 파일을 엽니다.

    • 가장 높은 우선 순위(DP_Intrinsic)로 응답하는 프로젝트가 없지만 모든 프로젝트가 동일한 낮은 우선 순위로 응답하는 경우 활성 프로젝트가 파일을 엽니다. 활성 상태인 프로젝트가 없으면 응답할 첫 번째 프로젝트가 파일을 엽니다.

    • 파일(DP_Unsupported)의 소유권을 주장하는 프로젝트가 없으면 기타 파일 프로젝트가 파일을 엽니다.

      기타 파일 프로젝트의 인스턴스가 만들어지면 프로젝트는 항상 DP_CanAddAsExternal 값으로 응답합니다. 이 값은 프로젝트에서 파일을 열 수 있음을 나타냅니다. 이 프로젝트는 다른 프로젝트에 없는 열린 파일을 보관하는 데 사용됩니다. 이 프로젝트의 항목 목록은 유지되지 않습니다. 이 프로젝트는 파일을 여는 데 사용되는 경우에만 솔루션 탐색기에서 볼 수 있습니다.

      기타 파일 프로젝트가 파일을 열 수 있음을 나타내지 않으면 프로젝트의 인스턴스가 만들어지지 않은 것입니다. 이 경우 IDE는 기타 파일 프로젝트의 인스턴스를 만들고 프로젝트에 파일을 열도록 지시합니다.

  4. IDE는 파일을 여는 프로젝트를 결정하는 즉시 해당 프로젝트에서 OpenItem 메서드를 호출합니다.

  5. 그런 다음 프로젝트에는 프로젝트별 편집기 또는 표준 편집기를 사용하여 파일을 여는 옵션이 있습니다. 자세한 내용은 방법: 프로젝트별 편집기 열기방법: 표준 편집기 열기를 각각 참조하세요.