Visual Studio-カスタムパスマクロを定義する場所


90

誰か他の人のVisual Studioプロジェクトを開いたところ、ビルドプロパティに、includeおよびlibディレクトリに使用しているいくつかのカスタムパスマクロがあります。マクロ名は次のようなものです。

$(MY_WHATEVER_INCLUDE_DIR)

すべてのマクロを実際のパスに手動で置き換えることもできますが、マクロを使用するだけでよいでしょう。私の質問は、これらのカスタムパスマクロはどこで定義するのですか?


2
まあファッジ、私はこれが本当に見つけやすいと思っていました。10分後、あきらめました。。。私からの+1。VS 6.0日以降に変更されたようです。。。ユーザーがこれらを環境で直接定義している可能性はありますか?
フランクメロー2011年

1
gregsethの回答には、この問題の実際の解決策が含まれています。プロパティシートを編集するとき、共通シートの下にユーザーマクロセクションがありますが、そのシートがソリューション/プロジェクトに固有である場合のみです。したがって、すべてのプロジェクトで共有されているデフォルトのシートを編集している場合、ユーザーマクロは表示されません。以下のgregsethの回答に関する私のコメントを参照してください。
Cam Jackson

1
.propsファイルを使用すると、Visual Studio 2010でマクロを定義/変更できます。それ以前は、ファイル拡張子は.vspropsでした。
Aditya Kumar Pandey 2012

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上記のリンクからのより大きなコメントには、必要な追加情報が含まれています!「ユーザーマクロ」は、編集しているプロパティシートがプロジェクト/ソリューションに固有である場合にのみ「共通プロパティ」の下に表示されます。したがって、VSで[プロパティマネージャー]ウィンドウを開き、プロジェクトを右クリックして、新しいプロパティシートを追加する必要があります。次に、新しく作成したシートで右クリックして[プロパティ]をクリックすると、[共通プロパティ]の下に[ユーザーマクロ]オプションが表示されます。:)
Cam Jackson

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。理解しておくべき重要な点の1つは、プロパティシートをすべて、一部、または1つの構成/プラットフォームコンボにアタッチできることです。通常のプロパティエディターとは異なり、構成やプラットフォームによって値は異なりません。必要な場合は、それぞれに異なるシートを使用します。複数のシートを組み合わせる方法を理解し、1つを別のシートのマクロに参照させると、かなり柔軟になります。
クレイグリンガー

Visual Studio 2019とDoug Kimzeyによるコメントに関しては、VS 2019でそれらを追加することができます。ユーザーマクロは、Serge Rogatchの応答で示された手順に従って追加および編集できます。それを見つけるのに少し時間がかかりました。:)
ハンプ

38

ここでアプローチは写真で説明されています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
この回答にはもっと賛成票が必要です。これを受け入れる回答を選択してください。現在受け入れられている答えは質問に答えさえしません。
マイクS

1
明白でない場合(私にはわかりませんでした)に、すべてのプロジェクトにプロパティシートを追加する必要があります(同じソリューションに複数ある場合)。なぜ機能しないのかわかりませんでしたが、別のプロジェクトに追加したことに気付きました。
Matt


7

プロパティ・シートには、適切なソリューションである可能性が高いです。この回答は、コメントが長すぎるため、@ gregsethについて詳しく説明するものではありません。

32ビットと64ビットのターゲットには異なるパスが必要であることがわかり、そのために少し理解する必要があったため、プロセスを詳細に文書化しました。

プロパティシートに関する重要な誤解の1つは、さまざまな構成/プラットフォームのコンボを編集できる通常のVSプロパティエディターとは異なり、プロパティシートはプロパティのリストにすぎないということです。構成ごとおよびプラットフォームごとのサブセクションはありません。プロジェクトにシートを追加すると、最上位のプロジェクトノードではなく、各構成/プラットフォームノードの下にシートが表示されたので、これは混乱を招きました。すべてのエントリは実際には同じプロパティシートファイルに対するものであるため、1つを編集するとすべてが変更されますが、最初はそれが理解できず、各場所の値を個別に変更する必要があると思いました。

プロパティシートは、1つの構成/プラットフォームコンボ、すべて、または一部のサブセットに追加できます。

グローバル設定が必要な場合は、構成/プラットフォームのオーバーライドを使用して、より具体的なプロパティシートが最後になるようにすることができます。したがって、「すべての構成」、「x86」、「x64」、「デバッグ」、および「リリース」のプロパティシートがあるとします。x64デバッグターゲットには、シート「all」、「x86」、「debug」があります。基本的には、VSのプロパティエディターが内部で行うことをエミュレートします。


3

Re:うーん..「共通プロパティ」の下に「ユーザーマクロ」オプションがないようです。VS 2010 Proを使用しています

通常のファイルビューとは異なり、projファイルのプロパティダイアログを開いた場合、[ユーザーマクロ]オプションは表示されません。プロパティビューに切り替えてプロジェクトを展開し、目的のために追加したプロパティページ(* .props)を選択する必要があります。ユーザーマクロが表示されます。

または、XMLを直接編集することもできます。マクロは、。* projファイルで定義されている場合は問題なく機能しますが、編集ページがない場合は「ユーザーマクロ」にしても意味がありません。したがって、それを<PropertyGroup>のプレーンプロパティにします。

以前に指摘したように、それは環境変数も引き込みます。ただし、Devenvで表示されるコンテキストでこれらを設定する必要があります。コマンドシェルでそれを実行してから、同じコマンドプロンプトからDEVENVを実行します。そのような状況になったとき、適切な変数を設定してDEVENVを起動するバッチファイルを作成し、そのbatファイルアイコンをデスクトップに配置しました。


1
「プロパティビュー」は、「表示」->「その他のウィンドウ」からアクセスするVSバージョンの「プロパティマネージャ」である場合があります。
クレイグリンガー

1
ファイル、クラス、リソースのツリービューとともにタブとしてドッキングすると、ビューになると思います。
JDługosz

2

各プロパティシートに手間を追加せずに別の方法を試してください

[Windows OS システムプロパティ] > [ 環境変数]に移動し、[ 新規]をクリックして、変数の例:MY_PATHと値の例:D:\ Dev_Path \を入力します。

その後、Visual Studioを再起動する必要があります。マクロリストに$ {MY_PATH}を含めることができるはずです。

p / s:上で答えたジェイソンウィリアムズがOS環境変数メソッドであることに注意してください


プロパティをプロジェクトのみに属させたい場合は、お勧めできません。
Mia Shani 2017年

これらのプロパティを設定するためにどのアプリケーションを使用していますか?
Doug Kimzey

1

@Serge Rogatchと同じ回答ですが、Viewで「プロパティマネージャー」を見つけることができませんでした。

迅速なナビゲーションのための視覚的な手順: ここに画像の説明を入力してください


0

最新のビジュアルスタジオバージョン(2015以降)の方法は次のとおりです。

ユーザー定義マクロを作成するには:

  1. プロパティマネージャーウィンドウ(メニューバーで[表示]、[プロパティマネージャー]の順に選択)で、プロパティシート(名前の末尾が.user)のショートカットメニューを開き、[プロパティ]を選択します。
  2. そのプロパティシートの[プロパティページ]ダイアログボックスが開きます。ダイアログボックスの左側のペインで、[ユーザーマクロ]を選択します。右側のペインで、[マクロの追加]ボタンを選択して、[ユーザーマクロの追加]ダイアログボックスを開きます。
  3. ダイアログボックスで、マクロの名前と値を指定します。必要に応じて、[ビルド環境でこのマクロを環境変数として設定]チェックボックスを選択します。

ソース


Visual Studio 2019の[表示]メニューに "プロパティマネージャー"と呼ばれるものはありません。VisualStudio 2019のプロパティページに "ユーザーマクロ"などのエントリはありません。 "ユーザーマクロ"のヘルプを検索すると、 "ユーザーマクロ"が起動します新規アイテム」ダイアログ。
Doug Kimzey

VS2019 - [表示] - > [その他のWindows - >プロパティマネージャ(とあなたは正しい軌道に乗ってきます!)
カーク・ベイツ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.