Visual Studio-사용자 지정 경로 매크로를 정의 할 위치


91

방금 다른 사람의 Visual Studio 프로젝트를 열었고 빌드 속성에는 include 및 lib 디렉터리에 사용하는 몇 가지 사용자 지정 경로 매크로가 있습니다. 매크로 이름은 다음과 같습니다.

$(MY_WHATEVER_INCLUDE_DIR)

모든 단일 매크로를 실제 경로로 수동으로 바꿀 수 있지만 매크로 만 사용하는 것이 좋습니다. 내 질문은 이러한 사용자 지정 경로 매크로를 어디에서 정의합니까?


2
퍼지, 나는 이것이 정말 쉽게 찾을 수있을 것이라고 기대했다. 10 분 후 나는 포기했다. . . 나에게서 +1. VS 6.0 일 이후로 변한 것 같습니다. . . 사용자가 자신의 환경에서 직접 정의했을 가능성이 있습니까?
Frank Merrow 2011 년

1
gregseth의 답변에는이 문제에 대한 실제 해결책이 포함되어 있습니다. 속성 시트를 편집 할 때 공통 속성 아래에 사용자 매크로 섹션이 있지만 해당 시트가 솔루션 / 프로젝트에 특정한 경우에만 해당됩니다. 따라서 모든 프로젝트에서 공유되는 기본 시트를 편집하는 경우 사용자 매크로가 표시되지 않습니다. 아래 gregseth의 답변에 대한 내 의견을 참조하십시오.
Cam Jackson

1
.props 파일을 사용하면 Visual Studio 2010에서 매크로를 정의 / 변경할 수 있습니다. 그 이전에는 파일 확장자가 .vsprops였습니다.
Aditya Kumar Pandey

1
여기에 속성 shset 사용에 대한 자세한 내용을 작성했습니다. stackoverflow.com/q/25810603/398670
Craig Ringer

답변:


48

이 링크 http://msdn.microsoft.com/en-us/library/a2zdt10t(v=vs.90).aspx 는 관심을 가질 수 있습니다. 프로젝트를 빌드하기 위해 전체 시스템 구성을 변경하는 것이 마음에 들지 않았습니다. 페이지에서 가장 흥미로운 부분은 마지막 댓글입니다.

이 페이지는이 대화 상자에 액세스하는 방법을 언급하지 않습니다.

속성 관리자에서 속성 페이지를 두 번 클릭합니다. 트리 컨트롤의 "공통 속성"에서 "사용자 매크로"를 클릭합니다.


8
흠 .. "공통 속성"에 "사용자 매크로"옵션이없는 것 같습니다. 저는 VS 2010 Pro를 사용하고 있습니다
Jelle Vergeer

21
@Jelle 위 링크의 큰 댓글에는 필요한 추가 정보가 포함되어 있습니다! '사용자 매크로'는 편집중인 속성 시트가 ​​프로젝트 / 솔루션에 특정한 경우에만 '공통 속성'아래에 표시됩니다! 따라서해야 할 일은 VS에서 Property Manager 창을 열고 프로젝트를 마우스 오른쪽 버튼으로 클릭 한 다음 새 속성 시트를 추가하는 것입니다. 그런 다음 새로 생성 된 시트에서 마우스 오른쪽 버튼을 클릭-> 속성하면 '공통 속성'아래에 '사용자 매크로'옵션이 표시됩니다! 희망 :)하는 데 도움이
캠 잭슨

1
이것은 꽤 숨겨진 옵션입니다. 이것은 MSVS 지원 페이지 ( msdn.microsoft.com/en-us/library/f2t8ztwy%28v=vs.90%29.aspx ) 의 새 링크 이며 거의 아무것도 아닙니다. 이 페이지 ( sites.google.com/site/pinyotae/Home/visual-studio-visual-c/… )에는 더 자세하고 완벽하지는 않지만 몇 가지 힌트를 제공하는 단계 목록이 있습니다.
Javier Mr

1
여기에 더 많은 정보와 예제가 추가되었습니다 : stackoverflow.com/q/25810603/398670 . 이해해야 할 한 가지 중요한 점은 속성 시트를 전체, 일부 또는 하나의 구성 / 플랫폼 콤보에 첨부 할 수 있다는 것입니다. 일반 속성 편집기와 달리 구성 / 플랫폼마다 다른 값이 없습니다. 원한다면 각각 다른 시트를 사용합니다. 여러 시트를 결합하고 하나가 다른 시트의 매크로를 참조하는 방법을 파악하면 매우 유연합니다.
Craig Ringer

Visual Studio 2019 및 Doug Kimzey의 주석과 관련하여 VS 2019에 추가 할 수 있습니다. 사용자 매크로는 Serge Rogatch의 응답에 표시된 절차에 따라 추가 및 편집 할 수 있습니다. 그것을 찾는 데 약간의 시간이 걸렸습니다. :)
햄프

39

다음은 그림으로 접근 방식을 설명합니다. https://sites.google.com/site/pinyotae/Home/visual-studio-visual-c/create-user-defined-environment-variables-macros

Visual Studio에서 다음을 수행해야합니다.

  1. 주 메뉴 "보기"를 클릭 한 다음 "속성 관리자"를 클릭하십시오.
  2. "Property Manager"창의 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 팝업 메뉴에서 "Add New Project Property Sheet"를 클릭합니다.
  3. 속성 시트를 추가 한 후 속성 관리자 창에서 더블 클릭하고 왼쪽의 트리에서 속성 페이지 "사용자 매크로"를 선택합니다.
  4. 그런 다음 "매크로 추가"버튼을 클릭 할 수 있습니다.

다음은 프로젝트 속성 시트에 대한 자습서입니다. http://www.dorodnic.com/blog/2014/03/20/visual-studio-macros/


6
이 답변에는 더 많은 찬성 투표가 필요합니다. 이것이 허용되는 대답을 선택하십시오. 현재 받아 들여진 대답은 질문에 대한 대답조차하지 않습니다.
Mike S

1
명확하지 않은 경우 (나에게는 그렇지 않은 경우) 모든 프로젝트에 속성 시트를 추가해야합니다 (동일한 솔루션에 여러 개가 있다고 가정). 왜 작동하지 않는지 알 수 없었지만 다른 프로젝트에 추가했음을 깨달았습니다.
Matt


7

속성 시트는 올바른 해결책이 될 가능성이 높습니다; 이 답변은 주석이 너무 길기 때문에 교체하기보다는 @gregseth에 대해 자세히 설명합니다.

32 비트 및 64 비트 대상에 대해 다른 경로가 필요하다는 것을 알았고이를 수행하는 데 약간의 시간이 소요되었으므로 프로세스를 자세히 문서화했습니다 .

내가 속성 시트에 대해 가지고있는 오해 중 하나는 다른 구성 / 플랫폼 콤보를 편집 할 수있는 일반적인 VS 속성 편집기와 달리 속성 시트는 속성 목록 일 뿐이라는 것입니다. 구성 별 및 플랫폼 별 하위 섹션이 없습니다. 프로젝트에 시트를 추가했을 때 최상위 프로젝트 노드가 아닌 각 구성 / 플랫폼 노드 아래에 나타나기 때문에 혼란 스러웠습니다. 모든 항목은 실제로 동일한 속성 시트 파일에 대한 것이므로 하나를 편집하면 모든 항목이 변경되지만 처음에는 이해하지 못했고 각 위치의 값을 개별적으로 변경해야한다고 생각했습니다.

하나의 구성 / 플랫폼 콤보, 모두 또는 일부 하위 집합에만 속성 시트를 추가 할 수 있습니다.

전역 설정을 원할 경우 구성 / 플랫폼 재정의는보다 구체적인 속성 시트가 ​​마지막에 있는지 확인하여 그렇게 할 수 있습니다. 따라서 속성 시트 "모든 구성"이 있고 "x86"에 대해 하나, "x64"에 대해 하나, "debug"에 대해 하나, "release"에 대해 하나가있을 수 있습니다. x64 디버그 대상에는 "all", "x86", "debug"시트가 있습니다. 기본적으로 VS의 속성 편집기가 내부적으로 수행하는 작업을 에뮬레이트합니다.


3

Re : 흠 .. "공통 속성"에 "사용자 매크로"옵션이없는 것 같습니다. VS 2010 Pro를 사용하고 있습니다.

일반 파일보기 에서처럼 proj 파일의 속성 대화 상자를 열면 사용자 매크로 옵션이 표시되지 않습니다. 속성보기로 전환하고 일부 프로젝트를 확장 한 다음 목적으로 추가 한 속성 페이지 (* .props)를 선택해야합니다. 사용자 매크로가 표시됩니다.

또는 XML을 직접 편집 할 수도 있습니다. 매크로는. * proj 파일에 정의 된 경우 잘 작동하지만 편집 페이지가 없으면 "사용자 매크로"로 만드는 것은 의미가 없습니다. 따라서 <PropertyGroup>에서 일반 속성으로 만드십시오.

앞서 지적했듯이 환경 변수도 가져옵니다. 그러나 Devenv가 볼 수있는 컨텍스트에서 설정해야합니다! 명령 셸에서 수행 한 다음 동일한 명령 프롬프트에서 DEVENV를 실행합니다. 그런 상황이 발생했을 때 적절한 변수를 설정하고 DEVENV를 실행하는 배치 파일을 만들고 해당 bat 파일 아이콘을 바탕 화면에 배치했습니다.


1
"속성보기"는보기-> 기타 창을 통해 액세스하는 VS 버전의 "속성 관리자"일 수 있습니다.
Craig Ringer

1
파일, 클래스 및 리소스 트리보기와 함께 탭으로 도킹하면보기가되는 것 같습니다.
JDługosz 2014 년

2

각 속성 시트에 추가하는 번거 로움없이 다른 방법을 시도하십시오.

Windows OS 시스템 속성 > 환경 변수로 이동하여 새로 만들기 만하고 변수 ( 예 : MY_PATH 및 예 : D : \ Dev_Path \)를 입력합니다.

그 후에 Visual Studio를 다시 시작해야합니다. 매크로 목록에 $ {MY_PATH}가있을 수 있습니다.

p / s : 위에서 대답 한 Jason Williams 는 OS 환경 변수 방법입니다.


재산이 프로젝트에만 속하도록하려면 좋은 생각이 아닙니다.
Mia Shani

이러한 속성을 설정하기 위해 어떤 응용 프로그램을 사용하고 있습니까?
더그 Kimzey

1

View에서 "Property Manager"를 찾을 수 없다는 점을 제외하면 @Serge Rogatch와 동일한 답변입니다.

빠른 탐색을위한 시각적 단계 : 여기에 이미지 설명 입력


0

최신 Visual Studio 버전 (2015+)을 얻는 방법은 다음과 같습니다.

사용자 정의 매크로를 생성하려면 :

  1. 속성 관리자 창 (메뉴 모음에서보기, 속성 관리자 선택)에서 속성 시트의 바로 가기 메뉴 (이름이 .user로 끝남)를 연 다음 속성을 선택합니다.
  2. 해당 속성 시트에 대한 속성 페이지 대화 상자가 열립니다. 대화 상자의 왼쪽 창에서 사용자 매크로를 선택합니다. 오른쪽 창에서 매크로 추가 버튼을 선택하여 사용자 매크로 추가 대화 상자를 엽니 다.
  3. 대화 상자에서 매크로의 이름과 값을 지정합니다. 선택적으로 빌드 환경에서이 매크로를 환경 변수로 설정 확인란을 선택합니다.

출처


Visual Studio 2019의보기 메뉴에는 "속성 관리자"라는 항목이 없습니다. Visual Studio 2019의 속성 페이지에는 "사용자 매크로"와 같은 항목이 없습니다. 도움말은 Visual Studio 2019에서 "사용자 매크로"를 검색하면 "사용자 매크로"가 시작됩니다. New Item "대화창.
더그 Kimzey

VS2019-보기-> 기타 창-> 속성 관리자 (올바른 길을 가고 있습니다!)
Kirk Bates
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.