Visual Studio - Де визначити власні макроси шляху?


90

Я щойно відкрив чужий проект Visual Studio, і в їх властивостях збірки у них є кілька макросів спеціального шляху, які вони використовують для своїх каталогів include і lib. Назви макросів мають такі речі:

$(MY_WHATEVER_INCLUDE_DIR)

Я міг би вручну замінити кожен окремий макрос реальним шляхом, але було б непогано просто використовувати макроси. Моє питання полягає в тому, де я можу визначити ці власні макроси шляху?


2
Ну, помадка, я очікував, що це буде дуже легко знайти. Через 10 хвилин я здався. . . +1 від мене. Здається, це змінилося з VS 6.0 днів. . . є шанс, що ваш користувач визначив їх безпосередньо у своєму середовищі?
Frank Merrow

1
Відповідь gregseth містить реальне рішення цієї проблеми: під загальними властивостями під редагуванням аркуша властивостей є розділ "Макрос користувача", але лише якщо цей аркуш є специфічним для рішення / проекту. Отже, якщо ви редагуєте аркуші за замовчуванням, якими користуються всі проекти, користувацькі макроси не відображатимуться. Дивіться мій коментар щодо відповіді gregseth нижче.
Кем Джексон,

1
Використання файлу .props робить це у Visual Studio 2010 для визначення / зміни макросів. До цього розширенням файлу було .vsprops.
Aditya Kumar Pandey

1
Я написав деякі подробиці про використання нерухомості shset тут: stackoverflow.com/q/25810603/398670
Craig Ringer

Відповіді:


47

Це посилання http://msdn.microsoft.com/en-us/library/a2zdt10t(v=vs.90).aspx може вас зацікавити. Мені не сподобалась ідея змінити всю мою конфігурацію системи лише для створення проекту. Найцікавішою частиною сторінки є останній коментар:

На цій сторінці не згадується, як перейти до цього діалогового вікна:

У Менеджері нерухомості двічі клацніть на сторінці властивостей. Клацніть на "Макроси користувачів" у розділі "Загальні властивості" в дереві.


8
хм .. Мені здається, немає опції "Макроси користувачів" у розділі "Загальні властивості". Я використовую VS 2010 Pro
Jelle Vergeer

21
@Jelle Більший коментар із наведеного посилання містить додаткову інформацію, яка вам потрібна! 'Макроси користувача' відображатиметься в розділі 'Загальні властивості' лише в тому випадку, якщо аркуш властивостей, який ви редагуєте, стосується проекту / рішення! Отже, вам потрібно відкрити вікно Property Manager у VS, клацнути правою кнопкою миші на своєму проекті та додати новий аркуш властивостей. Потім клацніть правою кнопкою миші-> Властивості на новоствореному аркуші, і ви побачите опцію «Макроси користувачів» під «Загальні властивості»! Сподіваюся, це допоможе :)
Кем Джексон

1
Це досить прихований варіант. Це нове посилання на сторінку підтримки MSVS ( msdn.microsoft.com/en-us/library/f2t8ztwy%28v=vs.90%29.aspx ), майже як нічого. На цій сторінці ( sites.google.com/site/pinyotae/Home/visual-studio-visual-c/… ) є перелік кроків, деталізованіший, не досконаліший, але дає вам кілька підказок.
Хав'єр Містер

1
Тут додано трохи більше інформації та прикладів: stackoverflow.com/q/25810603/398670 . Одне ключове, що слід зрозуміти, - це те, що аркуші властивостей можуть бути прикріплені до всіх, деяких або лише до однієї комбінації конфігурації / платформи. На відміну від звичайного редактора властивостей, для різних конфігурацій / платформ немає різних значень; якщо ви цього хочете, ви використовуєте різні аркуші для кожного. Досить гнучко, коли ви з’ясуєте, як об’єднати кілька аркушів, і один має посилання на макроси в іншому.
Крейг Рінгер,

Що стосується Visual Studio 2019 та коментаря Дуга Кімзі, можна додати їх у VS 2019. Користувацькі макроси можна додавати та редагувати, дотримуючись процедури, зазначеної у відповіді Сержа Рогатча. Мені знадобилося трохи, щоб його знайти. :)
Хемп

38

Тут підхід описаний малюнками: 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
Якщо це не очевидно (це було не для мене), вам доведеться додати аркуш власності до всіх своїх проектів (за умови, що у вас є кілька в одному і тому ж рішенні). Я не міг зрозуміти, чому це не працює, але потім зрозумів, що додав його до іншого проекту.
Метт


7

Відомості про майно , ймовірно, будуть правильним рішенням; ця відповідь розроблена на @ gregseth, а не намагається її замінити, оскільки вона занадто довга для коментарів.

Я виявив, що мені потрібні різні шляхи для 32-розрядних та 64-розрядних цілей, і для цього потрібно було трохи з’ясувати, тому я детально задокументував процес .

Одне з ключових непорозумінь, яке я мав з таблицями властивостей, полягало в тому, що на відміну від звичайного редактора властивостей VS, де ви можете редагувати різні комбінації конфігурації / платформи, аркуш властивостей - це лише список властивостей. Він не має підрозділів для конфігурації та платформи. Це бентежило, бо коли я додав аркуш до проекту, він з’являвся під кожним вузлом конфігурації / платформи, а не під вузлом проекту верхнього рівня. Усі записи фактично стосуються одного і того ж файлу аркуша властивостей, тому редагування одного змінює їх усі, але я спочатку цього не розумів і думав, що мені все одно доведеться змінювати значення в кожному місці окремо.

Ви можете додати аркуш властивостей лише до однієї комбінації конфігурації / платформи, до всіх них або до деякої підмножини.

Якщо ви хочете мати загальні налаштування, тоді конфігурація / перевизначення платформи ви можете зробити це, переконавшись, що останні конкретні таблиці властивостей є останніми. Отже, ви можете мати аркуш властивостей "усі конфігурації", потім один для "x86", один для "x64", один для "налагодження" та один для "випуску". Ціль налагодження x64 матиме аркуші "всі", "x86", "налагодження". В основному імітуючи те, що редактор властивостей VS робить внутрішньо.


3

Re: hmm .. Здається, я не маю опції "User Macros" у розділі "Common Properties". Я використовую VS 2010 Pro

Параметр "Макроси користувача" не відображається, якщо ви відкриваєте діалогове вікно властивостей для файлу proj, як це відбувається у звичайному поданні "Файли". Вам потрібно перейти до подання Propery, розгорнути якийсь проект та вибрати Сторінку властивостей (* .props), яку ви додали для цієї мети. Там з’являються користувацькі макроси.

Або ви можете просто відредагувати XML безпосередньо. Макроси чудово працюють, якщо визначені у файлі. * Proj, але робити їх "Макросом користувача" безглуздо, якщо немає сторінки редагування. Тож просто зробіть це звичайною властивістю в <PropertyGroup>.

Як зазначалося раніше, він також використовує змінні середовища. Однак ви повинні бути впевнені, що ви ставите їх у контексті, де Devenv їх побачить! Зробіть це в командній оболонці, а потім запустіть DEVENV із ​​того самого командного рядка. Коли у мене виникла така ситуація, я створив пакетний файл, щоб встановити відповідні змінні та запустити DEVENV, і розмістив цей значок файлу bat на робочому столі.


1
"Перегляд властивостей" може бути "Диспетчером властивостей" у вашій версії VS, доступ до якого здійснюється через Перегляд -> Інші Windows.
Крейг Рінгер,

1
Думаю, він стає видом, коли він стикується як вкладка разом із поданнями файлів, класів та дерев ресурсів.
JDługosz

2

Спробуйте інший спосіб, не додаючи клопоту до кожного аркуша власності

Перейдіть до Властивості системи ОС Windows > Змінні середовища , просто Створити і введіть змінну, наприклад: MY_PATH та значення, наприклад: D: \ Dev_Path \

після цього вам доведеться перезапустити Visual Studio, ви повинні мати $ {MY_PATH} у списку макросів

п / с: просто зауважте, що Джейсон Вільямс відповів вище, це метод змінних середовища ОС


не гарна ідея, якщо ви хочете, щоб ваше майно належало лише вашому проекту.
Міа Шані,

Яку програму ви використовуєте для встановлення цих властивостей?
Дуг Кімзей,

1

Та сама відповідь, що і @Serge Rogatch, за винятком того, що мені не вдалося знайти "Менеджер нерухомості" у поданні.

Візуальні кроки для швидкої навігації: введіть тут опис зображення


0

Шлях до останніх версій візуальної студії (2015+) такий:

Щоб створити визначений користувачем макрос:

  1. У вікні Property Manager (на панелі меню виберіть View, Property Manager), відкрийте контекстне меню для аркуша властивостей (його назва закінчується на .user), а потім виберіть Properties.
  2. Відкриється діалогове вікно Сторінки властивостей для цього аркуша властивостей. На лівій панелі діалогового вікна виберіть Макроси користувачів. На правій панелі натисніть кнопку Додати макрос, щоб відкрити діалогове вікно Додати макрос користувача.
  3. У діалоговому вікні вкажіть ім'я та значення для макросу. Необов’язково встановіть прапорець Встановити цей макрос як змінну середовища у середовищі побудови.

Джерело


У меню "Перегляд" Visual Studio 2019 немає нічого, що називається "Менеджер властивостей". На сторінках властивостей Visual Studio 2019 немає такого запису, як "Макроси користувачів". Довідка пошуку - це Visual Studio 2019 для "Макроси користувачів" запускає " Новий елемент "діалогове вікно.
Дуг Кімзей,

VS2019 - Перегляд -> Інші Windows -> Менеджер властивостей (і ви будете на правильному шляху!)
Кірк Бейтс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.