2010-03-22 4 views
7

Visual Studio에는 전처리 된 파일을 생성하는 "/ P"옵션이 있지만 매우 불편합니다. 나는 파일을 마우스 오른쪽 버튼으로 클릭하고 "미리보기 처리"를 선택하거나 기본적으로 현재 열려있는 파일을 (현재 구성에서 적절한 옵션을 사용하여) 전처리하는 유사한 솔루션을 찾고 표시 할 수있는 추가 기능을 찾고있다. 추가 번거 로움없이 출력. 그런 것이 있습니까?Visual Studio 용 "사전 처리 현재 파일"추가 기능? (C++)

+0

나는 그 일을하기 위해 매크로를 만들었습니다. http://stackoverflow.com/questions/14257113/vs-addin-for-quickly-viewing-preprocessed-or-assembly-output을 참조하십시오. – Trass3r

답변

3

외부 도구 메뉴를 사용하여 실제로 이렇게 우아한 방법은 없습니다 하지만 다음은 작동 할 해결책입니다.

  1. 프로젝트에 대한 새로운 구성을 만듭니다. "Debug-Preproc"과 같이 호출하십시오. 이 구성에서는/P 스위치를 컴파일러로 설정하십시오. (사전 프로세스, 편집 없음)

  2. 외부 도구 설정 메뉴로 이동하십시오. "Preprocess Project"라는 새 항목을 만듭니다.

    • 명령 : C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe
    • 인수 :에 옵션을 설정 $(ProjectDir)$(ProjectFileName) /Build "Debug-Preproc|Win32"

는 이제 모든 소스 파일에 대한 전처리를 실행 메뉴에서 "미리 처리 프로젝트"옵션을 사용할 수 있습니다 현재 선택된 프로젝트에서. 텍스트 편집기에서 열 수있는 각각에 대해 [filename].i을 생성합니다.

원하는 경우 외부 도구를 추가하여 외부 편집기를 추가하여 $(ItemFileName).i을 열어 추가 단계를 만들어 텍스트 편집기에서 파일을 열 수 있습니다.

파일을 마우스 오른쪽 버튼으로 클릭하고 "전처리"를 선택할 수있는만큼 깨끗하고 편리하지는 않지만 확장 프로그램을 작성하는 것이 가장 좋습니다.

+0

정확히 내가 바라는 해결책은 아니지만 나는 생각한다. 현상금 낭비를 내가 당신에게 맡길지도 모르겠다. 감사합니다 :) – Virgil

+0

알다시피, 그것은 저에게 일어났습니다 - 모든 컴파일러 옵션은 프리 프로 시저에 관해서는 실제로 의미가 없습니다. 생성 된 출력에서 ​​중요한 것은 전처리 기 페이지 자체의 옵션 뿐이며 대부분은 변경되지 않을 것입니다. 따라서 외부 도구를 CL/P 파일로 설정하면 필자가 제안한 방법을 사용하여 프로젝트를 빌드하는 것과 동일한 출력을 얻어야합니다. –

+0

사실이 아닙니다. 명령 줄에는 많은 정의가 있고 포함 디렉터리의 경로도 있습니다. 이것은 매우 일반적입니다. – Virgil

2

UI에서 도구 메뉴의 "외부 도구"를 구성 할 수 있습니다. 현재 파일과 "/ P"옵션을 사용하여 컴파일러를 호출하고 컴파일러가 화면에 출력하도록하는 도구를 만들 수 있습니다. 외부 도구의 경우 출력 창에 출력하도록 구성하십시오.

+0

완벽한 솔루션은 아니지만 작동 할 수 있습니다. 그러나 "파일 컴파일"을 선택하고 Visual Studio에서 사용할 명령 줄을 사용하려면이 외부 도구를 어떻게 구성해야합니까? – Virgil

0

C++ 프로젝트 및 외부 빌드 도구에서 동일한 방법을 사용하여 proc을 컴파일합니다. proc 파일을 마우스 오른쪽 버튼으로 클릭하고 컴파일러 명령이 Custom Build Setup (MS Visual Studio)에 설정된 경우 출력이 C/C++ 파일로 표시됩니다.

+0

미안하지만, 나는 당신의 제안을 정말로 이해하지 못한다 : ( 나는 진짜 C++ 파일에 대해 말하고 있는데, "커스텀 빌드"를 정의 할 수 없다. 나는 프로젝트가 어떻게 구축되는지를 바꾸고 싶지 않다. 단지 (전보다 더 쉽게) 전처리 기의 출력을 검사 할 수있는 방법을 찾고있다. (어떤 경우에는 매크로 때문에 컴파일러 에러가 이해하기가 쉽지 않을 수도있다. 실제로 전 처리기 출력을 보면 많은 도움이된다.) 그냥 선제 적으로 : 나는 "복잡해진 매크로"논쟁에 동의 하겠지만, 이것은 요점이 아니다. 내가 토론하고 싶은 것이 아니기 때문이다. – Virgil

1

비주얼 매크로 Expander : - 비주얼 스튜디오 용 애드 인으로 확장 된 매크로를 표시하고 결과도 포맷합니다.

+0

다운 될 것으로 보입니다. – Trass3r

관련 문제