2011-01-17 20 views
69

Ho appena aperto il progetto di Visual Studio di qualcun altro e nelle loro proprietà di build hanno alcune macro di percorso personalizzate che stanno utilizzando per le loro directory di inclusione e lib. I nomi delle macro sono cose come questa:Visual Studio: dove definire le macro dei percorsi personalizzati?

$(MY_WHATEVER_INCLUDE_DIR)

mi potrebbe sostituire manualmente ogni singola macro con il percorso reale, ma sarebbe bello utilizzare solo le macro. La mia domanda è, dove posso definire queste macro di percorso personalizzato in?

+0

Beh fondente, mi aspettavo questo per essere veramente facile da trovare. Dopo 10 minuti ho rinunciato. . . +1 da me. Sembra essere cambiato da VS 6.0 giorni. . . Qualche possibilità che il tuo utente abbia definito direttamente nel suo ambiente? – Frank

+1

La risposta di gregseth contiene la vera soluzione a questo problema: c'è una sezione Macro utente sotto Proprietà comuni quando si modifica una finestra delle proprietà, ma solo se quel foglio è specifico per la soluzione/progetto. Pertanto, se stai modificando i fogli predefiniti condivisi tra tutti i progetti, i Macro utente non verranno visualizzati. Vedi il mio commento sulla risposta di gregseth di seguito. –

+1

L'utilizzo di un file .props lo fa in Visual Studio 2010 per la definizione/modifica delle macro. Prima di ciò, l'estensione del file era .vsprops. –

risposta

38

Questo link http://msdn.microsoft.com/en-us/library/a2zdt10t(v=vs.90).aspx potrebbe essere di interesse. Non mi piaceva l'idea di cambiare la mia intera configurazione di sistema solo per costruire un progetto. La parte più interessante della pagina è l'ultimo commento:

Questa pagina non riesce a parlare di come arrivare a questa finestra di dialogo:

Da Property Manager, fare doppio clic su una pagina di proprietà. Fare clic su "Macro utente" in "Proprietà comuni" nel controllo struttura.

+6

hmm .. Non ho l'opzione "Macro utente" in "Proprietà comuni". Sto usando VS 2010 Pro –

+0

Mi riferivo a VS2008, potrebbero averlo spostato da qualche altra parte ... – gregseth

+4

Ho appena controllato, non si è mosso un po ': http://cl.ly/DdnX – gregseth

9

Si possono semplicemente definire come os environment variables, che è probabilmente ciò che l'autore originale ha fatto.

3

Re: hmm .. Non ho l'opzione "Macro utente" in "Proprietà comuni". Utilizzo VS 2010 Pro

L'opzione Macro utente non viene visualizzata se si apre la finestra di dialogo delle proprietà per un file proj, come nella normale vista File. Devi passare alla vista Propery, espandere alcuni progetti e scegliere una pagina di proprietà (* .props) che hai aggiunto per lo scopo. I macro utente vengono visualizzati qui.

Oppure, è possibile modificare direttamente l'XML. Le macro funzionano bene se definite in un file .pro proj, ma renderlo una "Macro utente" è inutile se non c'è una pagina di modifica. Quindi rendi semplicemente una proprietà normale in un PropertyGroup <>.

Come sottolineato in precedenza, introduce anche le variabili d'ambiente. Tuttavia, devi essere sicuro di metterli in un contesto in cui il Devenv li vedrà! Fatelo in una shell di comando e quindi eseguite DEVENV dallo stesso prompt dei comandi. Quando ho avuto questa situazione, ho creato un file batch per impostare le variabili appropriate e avviare DEVENV, e mettere l'icona del file bat sul desktop.

+1

"Property view" può essere il "Property Manager" nella versione VS, accessibile tramite View -> Other Windows. –

+1

Immagino che diventi la vista quando ancorato come una tabulazione insieme alle viste ad albero File, Class e Resource. –

6

A property sheet è probabilmente la soluzione giusta; questa risposta si sviluppa su @ gregseth piuttosto che cercare di sostituirla, poiché è troppo lungo per un commento.

Ho scoperto che avevo bisogno di percorsi diversi per target a 32-bit e 64-bit, e questo mi ha fatto capire un po ', quindi ho documented the process in detail.

Un equivoco chiave che ho avuto con le finestre delle proprietà era che, a differenza del solito editor di proprietà VS in cui è possibile modificare diverse combinazioni di configurazione/piattaforma, una finestra delle proprietà è solo un elenco di proprietà. Non ha sottosezioni per configurazione e per piattaforma. Ciò era fonte di confusione perché quando ho aggiunto un foglio a un progetto appariva sotto ogni nodo di configurazione/piattaforma piuttosto che sotto il nodo di progetto di livello superiore. Tutte le voci sono in realtà per lo stesso file del foglio delle proprietà, quindi la modifica ne modifica tutte, ma inizialmente non l'ho capito e ho pensato che avrei dovuto cambiare il valore in ogni posizione singolarmente.

È possibile aggiungere una finestra delle proprietà a una sola combinazione di configurazione/piattaforma, a tutti, o solo a qualche sottoinsieme.

Se si desidera disporre di impostazioni globali, la configurazione/sovrascrittura della piattaforma può essere eseguita assicurandosi che i fogli di proprietà più specifici siano gli ultimi. Quindi potresti avere una finestra delle proprietà "tutte le configurazioni", una per "x86", una per "x64" una per "debug" e una per "release". Il target di debug x64 avrebbe i fogli "all", "x86", "debug". Fondamentalmente emulando internamente l'editor di proprietà di VS.

10

Qui l'approccio è descritto con le immagini: https://sites.google.com/site/pinyotae/Home/visual-studio-visual-c/create-user-defined-environment-variables-macros

In Visual Studio è necessario:

  1. Clicca nel menu principale "Visualizza", poi "Property Manager"
  2. pulsante destro del mouse nello spazio vuoto della finestra "Property Manager" e nel menu a comparsa fare clic su "Aggiungi nuovo foglio proprietà progetto"
  3. Dopo aver aggiunto la finestra delle proprietà, fare doppio clic nella finestra Gestore proprietà e nell'albero a sinistra selezionare proprietà pa ge "Macro utente"
  4. Poi si può fare clic su "Aggiungi Macro" pulsante

Ecco un tutorial su Project finestre delle proprietà: http://www.dorodnic.com/blog/2014/03/20/visual-studio-macros/

+0

Questa risposta ha bisogno di più upvotes. Si prega di selezionare questa è la risposta accettata. L'attuale risposta accettata non risponde nemmeno alla domanda. –

1

provare il contrario, senza il fastidio di aggiungere ad ogni finestra delle proprietà

Vai a Windows OS Proprietà del sistema>Variabili d'ambiente, solo nuove e di input il variabile esempio: My_Path e valore ad esempio: D: \ Dev_Path \

dopo che si deve riavviare il Visual Studio, si dovrebbe essere in grado di avere $ {My_Path} nella lista macro

p/s: basta notare Jason Williams risposto sopra è il metodo di variabili OS Ambiente

+0

non è una buona idea, se vuoi che la tua proprietà appartenga solo al tuo progetto. –

0

la strada per le ultime versioni di visual Studio (2015+) è la seguente:

per creare una macro definita dall'utente:

  1. Nella finestra Gestore proprietà (sulla barra dei menu, selezionare Visualizza, Gestore proprietà), aprire il menu di scelta rapida per una finestra delle proprietà (il suo nome termina con .user) e quindi scegliere Proprietà.
  2. Si apre la finestra di dialogo Pagine delle proprietà per tale foglio di proprietà. Nel riquadro sinistro della finestra di dialogo, seleziona Macro utente. Nel riquadro di destra, scegliere il pulsante Aggiungi macro per aprire la finestra di dialogo Aggiungi macro utente.
  3. Nella finestra di dialogo, specificare un nome e un valore per la macro. Facoltativamente, selezionare Imposta questa macro come variabile di ambiente nella casella di controllo dell'ambiente di costruzione .

Source

Problemi correlati