Visual Studio - где определять макросы настраиваемого пути?

92

Я только что открыл чужой проект Visual Studio, и в его свойствах сборки у них есть несколько настраиваемых макросов пути, которые они используют для своих каталогов include и lib. Имена макросов выглядят примерно так:

$(MY_WHATEVER_INCLUDE_DIR)

Я мог бы вручную заменить каждый макрос реальным путем, но было бы неплохо просто использовать макросы. У меня вопрос: где мне определить эти настраиваемые макросы пути?

Джейк Уилсон
источник
2
Ну выдумка, я ожидал, что это будет действительно легко найти. Через 10 минут я сдался. . . +1 от меня. Кажется, что изменилось с VS 6.0 дней. . . есть ли шанс, что ваш пользователь определил их непосредственно в своей среде?
Фрэнк Мерроу
1
Ответ gregseth содержит реальное решение этой проблемы: есть раздел макросов пользователя под общими свойствами при редактировании листа свойств, но только в том случае, если этот лист относится к решению / проекту. Поэтому, если вы редактируете листы по умолчанию, которые используются во всех проектах, пользовательские макросы не отображаются. См. Мой комментарий к ответу Грегсета ниже.
Кэм Джексон
1
Использование файла .props делает это в Visual Studio 2010 для определения / изменения макросов. До этого файл имел расширение .vsprops.
Адитья Кумар Панди,
1
Я написал более подробную информацию об использовании свойства shset здесь: stackoverflow.com/q/25810603/398670
Крейг Рингер,

Ответы:

48

Эта ссылка 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 . Важно понимать, что листы свойств могут быть прикреплены ко всем, некоторым или только к одной комбинации конфигурация / платформа. В отличие от обычного редактора свойств, здесь нет разных значений для разных конфигураций / платформ; если хотите, используйте разные листы для каждого. Довольно гибко, если вы выясните, как объединить несколько листов и сделать так, чтобы один ссылался на макросы другого.
Craig Ringer
Что касается Visual Studio 2019 и комментария Дуга Кимзи, их можно добавить в VS 2019. Пользовательские макросы можно добавлять и редактировать в соответствии с процедурой, указанной в ответе Сержа Рогатча. Мне потребовалось немного времени, чтобы его найти. :)
Хэмп
39

Здесь подход описан картинками: https://sites.google.com/site/pinyotae/Home/visual-studio-visual-c/create-user-defined-environment-variables-macros

В Visual Studio вам необходимо:

  1. Нажмите в главном меню «Просмотр», затем «Управление недвижимостью».
  2. Щелкните правой кнопкой мыши пустое пространство окна «Диспетчер свойств» и во всплывающем меню выберите «Добавить новый лист свойств проекта».
  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: хм .. Кажется, у меня нет опции "Пользовательские макросы" в разделе "Общие свойства". Я использую VS 2010 Pro

Параметр «Пользовательские макросы» не отображается, если вы открываете диалоговое окно свойств для файла proj, как это делается в обычном представлении «Файлы». Вам нужно переключиться в представление «Свойства», развернуть какой-либо проект и выбрать страницу свойств (* .props), которую вы добавили для этой цели. Там отображаются пользовательские макросы.

Или вы можете просто отредактировать XML напрямую. Макросы работают нормально, если они определены в файле. * Proj, но делать его «пользовательским макросом» бессмысленно, если нет страницы редактирования. Так что просто сделайте это обычным свойством в <PropertyGroup>.

Как указывалось ранее, он также использует переменные среды. Однако вы должны убедиться, что установили их в контексте, в котором Девенв их увидит! Сделайте это в командной оболочке, а затем запустите DEVENV из той же командной строки. Когда у меня возникла такая ситуация, я создал командный файл, чтобы установить правильные переменные и запустить DEVENV, и поместить этот значок файла bat на рабочий стол.

JDługosz
источник
1
«Просмотр свойств» может быть «Диспетчером свойств» в вашей версии VS, доступ к которому осуществляется через Просмотр -> Другие окна.
Craig Ringer
1
Я предполагаю, что он становится представлением, когда он закреплен как вкладка вместе с представлениями дерева, класса и ресурса.
JDługosz
2

Попробуйте другой способ, не добавляя хлопот в каждый лист свойств

Перейдите в Свойства системы ОС Windows > Переменные среды , просто «Создать» и введите переменную, например: MY_PATH и значение например: D: \ Dev_Path \

после этого вам необходимо перезапустить Visual Studio, вы должны иметь $ {MY_PATH} в списке макросов

p / s: просто обратите внимание, что Джейсон Уильямс, ответивший выше, - это метод переменных среды ОС

хххх
источник
не лучшая идея, если вы хотите, чтобы ваша собственность принадлежала только вашему проекту.
Mia Shani
Какое приложение вы используете для настройки этих свойств?
Дуг Кимзи
1

Тот же ответ, что и на @Serge Rogatch, за исключением того, что мне не удалось найти "Property Manager" в View.

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

userom
источник
0

Путь для последних версий Visual Studio (2015+) выглядит следующим образом:

Чтобы создать пользовательский макрос:

  1. В окне "Диспетчер свойств" (в строке меню выберите "Просмотр", "Диспетчер свойств") откройте контекстное меню для страницы свойств (его имя заканчивается на .user), а затем выберите "Свойства".
  2. Откроется диалоговое окно "Страницы свойств" для этой страницы свойств. На левой панели диалогового окна выберите Пользовательские макросы. На правой панели нажмите кнопку «Добавить макрос», чтобы открыть диалоговое окно «Добавить макрос пользователя».
  3. В диалоговом окне укажите имя и значение для макроса. При желании установите флажок Установить этот макрос как переменную среды в среде сборки.

Источник

Фантастический мистер Фокс
источник
В меню «Просмотр» Visual Studio 2019 нет ничего, что называется «Диспетчер свойств». На страницах свойств Visual Studio 2019 нет такой записи, как «Макросы пользователя». При поиске в справке Visual Studio 2019 для «Макросы пользователя» запускается элемент « Новый элемент ».
Дуг Кимзи
VS2019 - Вид -> Другие окна -> Менеджер собственности (и вы будете на правильном пути!)
Кирк Бейтс