Visual Studio - gdzie definiować makra ścieżki niestandardowej?


92

Właśnie otworzyłem czyjś projekt Visual Studio i we właściwościach kompilacji mają kilka niestandardowych makr ścieżek, których używają do swoich katalogów include i lib. Nazwy makr wyglądają następująco:

$(MY_WHATEVER_INCLUDE_DIR)

Mógłbym ręcznie zastąpić każde makro rzeczywistą ścieżką, ale byłoby miło po prostu użyć makr. Moje pytanie brzmi: gdzie mam zdefiniować te niestandardowe makra ścieżek w?


2
Cóż, krówki, spodziewałem się, że będzie to naprawdę łatwe do znalezienia. Po 10 minutach poddałem się. . . +1 ode mnie. Wydaje się, że zmieniło się to od VS 6.0 dni. . . jest szansa, że ​​Twój użytkownik zdefiniował je bezpośrednio w swoim środowisku?
— Frank Merrow,

1
Odpowiedź gregsetha zawiera prawdziwe rozwiązanie tego problemu: podczas edycji arkusza właściwości znajduje się sekcja Makro użytkownika pod właściwościami wspólnymi, ale tylko wtedy, gdy jest on specyficzny dla rozwiązania / projektu. Jeśli więc edytujesz domyślne arkusze, które są udostępniane we wszystkich projektach, makra użytkownika nie będą wyświetlane. Zobacz mój komentarz do odpowiedzi Gregsetha poniżej.
— Cam Jackson,

1
Użycie pliku .props robi to w programie Visual Studio 2010 do definiowania / zmieniania makr. Wcześniej rozszerzenie pliku to .vsprops.
— Aditya Kumar Pandey

1
Więcej szczegółów na temat wykorzystania zestawu właściwości opisałem tutaj: stackoverflow.com/q/25810603/398670
— Craig Ringer

Odpowiedzi:


48

Ten link http://msdn.microsoft.com/en-us/library/a2zdt10t(v=vs.90).aspx może Cię zainteresować. Nie podobał mi się pomysł zmiany konfiguracji całego systemu tylko po to, aby zbudować projekt. Najciekawszą częścią strony jest ostatni komentarz:

Ta strona nie wspomina, jak dostać się do tego okna dialogowego:

W Menedżerze nieruchomości kliknij dwukrotnie stronę właściwości. Kliknij „Makra użytkownika” w „Właściwościach wspólnych” w drzewie.


8
hmm .. Wygląda na to, że nie mam opcji "Makra użytkownika" w "Właściwościach wspólnych". Używam VS 2010 Pro
— Jelle Vergeer

21
@Jelle Większy komentarz z powyższego linku zawiera dodatkowe informacje, których potrzebujesz! „Makra użytkownika” będą wyświetlane w obszarze „Właściwości wspólne” tylko wtedy, gdy arkusz właściwości, który edytujesz, jest specyficzny dla projektu / rozwiązania! Więc co musisz zrobić, to otworzyć okno Property Manager w VS, kliknąć prawym przyciskiem myszy projekt i dodać nowy arkusz właściwości. Następnie kliknij prawym przyciskiem myszy -> Właściwości na nowo utworzonym arkuszu, a zobaczysz teraz opcję „Makra użytkownika” pod „Wspólnymi właściwościami”! Mam nadzieję, że to pomoże :)
— Cam Jackson

1
To dość ukryta opcja. To jest nowy link do strony pomocy technicznej MSVS ( msdn.microsoft.com/en-us/library/f2t8ztwy%28v=vs.90%29.aspx ), prawie jak nic. Na tej stronie ( sites.google.com/site/pinyotae/Home/visual-studio-visual-c/… ) znajduje się lista kroków bardziej szczegółowa, nie idealna, ale zawiera kilka wskazówek.
— Javier Mr

1
Dodano więcej informacji i przykładów tutaj: stackoverflow.com/q/25810603/398670 . Kluczową rzeczą do zrozumienia jest to, że arkusze właściwości można dołączać do wszystkich, niektórych lub tylko jednego zestawu konfiguracji / platformy. W przeciwieństwie do zwykłego edytora właściwości nie ma różnych wartości dla różnych konfiguracji / platform; jeśli chcesz, używasz różnych arkuszy dla każdego. Dość elastycznie, gdy zorientujesz się, jak połączyć wiele arkuszy, a jeden odwołuje się do makr w innym.
— Craig Ringer

W odniesieniu do Visual Studio 2019 i komentarza Douga Kimzeya możliwe jest ich dodanie w VS 2019. Makra użytkownika można dodawać i edytować zgodnie z procedurą wskazaną w odpowiedzi Serge'a Rogatcha. Trochę zajęło mi znalezienie tego. :)
— Hamp

39

Tutaj podejście jest opisane za pomocą zdjęć: https://sites.google.com/site/pinyotae/Home/visual-studio-visual-c/create-user-defined-environment-variables-macros

W programie Visual Studio musisz:

  1. Kliknij w menu głównym „Widok”, a następnie „Menedżer nieruchomości”
  2. Kliknij prawym przyciskiem myszy puste miejsce okna „Menedżer właściwości”, a następnie w menu podręcznym kliknij opcję „Dodaj nowy arkusz właściwości projektu”
  3. Po dodaniu arkusza właściwości kliknij go dwukrotnie w oknie Menedżera właściwości iw drzewie po lewej stronie wybierz stronę właściwości "Makra użytkownika"
  4. Następnie możesz kliknąć przycisk „Dodaj makro”

Oto samouczek dotyczący arkuszy właściwości projektu: http://www.dorodnic.com/blog/2014/03/20/visual-studio-macros/


6
Ta odpowiedź wymaga więcej głosów pozytywnych. Proszę wybrać to jest zaakceptowana odpowiedź. Aktualnie przyjęta odpowiedź nie odpowiada nawet na pytanie.
— Mike S

1
W przypadku, gdy nie jest to oczywiste (nie było to dla mnie), musisz dodać arkusz właściwości do wszystkich swoich projektów (zakładając, że masz wiele w tym samym rozwiązaniu). Nie mogłem zrozumieć, dlaczego to nie działa, ale potem zdałem sobie sprawę, że dodałem go do innego projektu.
— Matt


7

Arkusz nieruchomość może być dobrym rozwiązaniem; ta odpowiedź rozwija @ gregseth zamiast próbować go zastąpić, ponieważ jest zbyt długa na komentarz.

Zauważyłem, że potrzebuję różnych ścieżek dla 32-bitowych i 64-bitowych celów, a zrobienie tego wymagało trochę zrozumienia, więc szczegółowo udokumentowałem ten proces .

Jednym z kluczowych nieporozumień związanych z arkuszami właściwości było to, że w przeciwieństwie do zwykłego edytora właściwości VS, w którym można edytować różne kombinacje konfiguracji / platform, arkusz właściwości jest po prostu listą właściwości. Nie ma podsekcji na konfigurację i platformę. To było mylące, ponieważ kiedy dodałem arkusz do projektu, pojawił się on pod każdym węzłem konfiguracji / platformy, a nie pod węzłem projektu najwyższego poziomu. Wszystkie wpisy są w rzeczywistości dla tego samego pliku arkusza właściwości, więc edycja zmienia je wszystkie, ale początkowo tego nie rozumiałem i pomyślałem, że nadal będę musiał zmieniać wartość w każdym miejscu z osobna.

Możesz dodać arkusz właściwości tylko do jednego zestawu konfiguracji / platformy, do wszystkich lub tylko do pewnego podzbioru.

Jeśli chcesz mieć ustawienia globalne, nadpisuje konfigurację / platformę, możesz to zrobić, upewniając się, że bardziej szczegółowe arkusze właściwości są ostatnie. Możesz więc mieć arkusz właściwości „wszystkie konfiguracje”, a następnie jeden dla „x86”, jeden dla „x64”, jeden dla „debugowania” i jeden dla „wydania”. Cel debugowania x64 miałby arkusze „all”, „x86”, „debug”. Zasadniczo emuluje to, co robi wewnętrznie edytor właściwości VS.


3

Re: hmm .. Wygląda na to, że nie mam opcji "Makra użytkownika" w "Właściwościach wspólnych". Używam VS 2010 Pro

Opcja Makra użytkownika nie jest wyświetlana po otwarciu okna dialogowego właściwości pliku proj, tak jak w normalnym widoku Pliki. Musisz przełączyć się do widoku Propery, rozwinąć jakiś projekt i wybrać stronę właściwości (* .props), którą dodałeś w tym celu. Pojawiają się tam makra użytkownika.

Możesz też bezpośrednio edytować plik XML. Makra działają dobrze, jeśli są zdefiniowane w pliku. * Proj, ale uczynienie go „Makrem użytkownika” jest bezcelowe, jeśli nie ma strony edycji. Więc po prostu uczyń go zwykłą właściwością w <PropertyGroup>.

Jak wspomniano wcześniej, pobiera również zmienne środowiskowe. Musisz jednak ustawić je w kontekście, w którym Devenv je zobaczy! Zrób to w powłoce poleceń, a następnie uruchom DEVENV z tego samego wiersza polecenia. Kiedy miałem taką sytuację, utworzyłem plik wsadowy, aby ustawić odpowiednie zmienne i uruchomić DEVENV, i umieściłem tę ikonę pliku bat na pulpicie.


1
„Widok właściwości” może być „Menedżerem właściwości” w Twojej wersji VS, do którego można uzyskać dostęp poprzez Widok -> Inne Windows.
— Craig Ringer

1
Wydaje mi się, że staje się Widokiem, gdy jest zadokowany jako karta wraz z widokami drzewa plików, klas i zasobów.
— JDługosz

2

Wypróbuj inny sposób bez kłopotów z dodawaniem do każdego arkusza właściwości

Przejdź do Właściwości systemu operacyjnego Windows > Zmienne środowiskowe , po prostu Nowa i wprowadź zmienną, np .: MOJA_ŚCIEŻKA i wartość, np .: D: \ Dev_Path \

po tym musisz ponownie uruchomić program Visual Studio, na liście makr powinno być $ {MY_PATH}

p / s: po prostu zauważ, że Jason Williams, na który odpowiedział powyżej, to metoda zmiennych środowiskowych systemu operacyjnego


nie jest to dobry pomysł, jeśli chcesz, aby Twoja nieruchomość należała tylko do Twojego projektu.
— Mia Shani

Jakiej aplikacji używasz do ustawiania tych właściwości?
— Doug Kimzey,

1

Taka sama odpowiedź jak w przypadku @Serge Rogatch, z tą różnicą, że nie udało mi się znaleźć „Property Manager” w widoku.

Wizualne kroki do szybkiej nawigacji: wprowadź opis obrazu tutaj


0

Sposób na najnowsze wersje Visual Studio (2015+) wygląda następująco:

Aby utworzyć makro zdefiniowane przez użytkownika:

  1. W oknie Menedżera właściwości (na pasku menu wybierz Widok, Menedżer właściwości), otwórz menu skrótów dla arkusza właściwości (jego nazwa kończy się na .user), a następnie wybierz Właściwości.
  2. Zostanie otwarte okno dialogowe strony właściwości dla tego arkusza właściwości. W lewym panelu okna dialogowego wybierz opcję Makra użytkownika. W prawym okienku wybierz przycisk Dodaj makro, aby otworzyć okno dialogowe Dodaj makro użytkownika.
  3. W oknie dialogowym określ nazwę i wartość makra. Opcjonalnie zaznacz pole wyboru Ustaw to makro jako zmienną środowiskową w środowisku kompilacji.

Źródło


W menu Widok programu Visual Studio 2019 nie ma nic o nazwie „Menedżer właściwości”. Na stronach właściwości programu Visual Studio 2019 nie ma takiego wpisu, jak „Makra użytkownika”. Wyszukiwanie w Pomocy to Visual Studio 2019 dla „Makr użytkownika” powoduje uruchomienie „ Nowa pozycja ”.
— Doug Kimzey,

VS2019 - Widok -> Inne Windows -> Menedżer właściwości (i będziesz na dobrej drodze!)
— Kirk Bates,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.