Visual Studio: dove definire le macro di percorso personalizzate?


90

Ho appena aperto il progetto Visual Studio di qualcun altro e nelle loro proprietà di compilazione hanno alcune macro di percorso personalizzate che stanno usando per le loro directory include e lib. I nomi delle macro sono cose come questa:

$(MY_WHATEVER_INCLUDE_DIR)

Potrei sostituire manualmente ogni singola macro con il percorso reale, ma sarebbe bello usare solo le macro. La mia domanda è: dove definisco queste macro di percorso personalizzate?


2
Beh fudge, mi aspettavo che fosse davvero facile da trovare. Dopo 10 minuti ho rinunciato. . . +1 da me. Sembra essere cambiato dai giorni VS 6.0. . . c'è qualche possibilità che il tuo utente li abbia definiti direttamente nel proprio ambiente?
Frank Merrow

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

1
L'utilizzo di un file .props lo fa per in Visual Studio 2010 per la definizione / modifica delle macro. In precedenza, l'estensione del file era .vsprops.
Aditya Kumar Pandey

1
Ho scritto qualche dettaglio in più circa l'uso di proprietà shset qui: stackoverflow.com/q/25810603/398670
Craig Ringer

Risposte:


47

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

Questa pagina non menziona 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" nella struttura ad albero.


8
hmm .. Non mi sembra di avere l'opzione "Macro utente" in "Proprietà comuni". Sto usando VS 2010 Pro
Jelle Vergeer

21
@ Jelle Il commento più grande dal link sopra contiene le informazioni extra di cui hai bisogno! "Macro utente" verrà visualizzato solo in "Proprietà comuni" se la finestra delle proprietà che stai modificando è specifica per il progetto / soluzione! Quindi quello che devi fare è aprire la finestra Property Manager in VS, fare clic con il pulsante destro del mouse sul progetto e aggiungere una nuova finestra delle proprietà. Quindi fai clic con il pulsante destro del mouse-> Proprietà sul foglio appena creato e ora vedrai l'opzione "Macro utente" sotto "Proprietà comuni"! Spero che questo aiuti :)
Cam Jackson

1
Questa è un'opzione piuttosto nascosta. Questo è il nuovo collegamento per la pagina di supporto di MSVS ( msdn.microsoft.com/en-us/library/f2t8ztwy%28v=vs.90%29.aspx ), quasi nulla. In questa pagina ( sites.google.com/site/pinyotae/Home/visual-studio-visual-c/… ) c'è un elenco di passaggi più dettagliato, non perfetto ma che ti dà alcuni suggerimenti.
Javier Mr

1
Aggiunte ulteriori informazioni ed esempi qui: stackoverflow.com/q/25810603/398670 . Una cosa fondamentale da capire è che le schede delle proprietà possono essere allegate a tutte, alcune o solo a una combinazione di configurazione / piattaforma. A differenza del normale editor delle proprietà non ci sono valori differenti per differenti configurazioni / piattaforme; se vuoi, usi fogli diversi per ciascuno. Abbastanza flessibile una volta capito come combinare più fogli e uno fa riferimento alle macro in un altro.
Craig Ringer

Rispetto a Visual Studio 2019 e al commento di Doug Kimzey, è possibile aggiungerli in VS 2019. Le macro utente possono essere aggiunte e modificate seguendo la procedura indicata dalla risposta di Serge Rogatch. Mi ci è voluto un po 'per trovarlo. :)
Hamp

38

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

In Visual Studio devi:

  1. Fare clic nel menu principale "Visualizza", quindi "Gestore proprietà"
  2. Fare clic con il pulsante destro del mouse nello spazio vuoto della finestra "Gestore proprietà" e nel menu a comparsa fare clic su "Aggiungi nuova finestra delle proprietà del progetto"
  3. Dopo aver aggiunto la finestra delle proprietà, fare doppio clic su di essa nella finestra Gestore proprietà e nella struttura ad albero a sinistra selezionare la pagina delle proprietà "Macro utente"
  4. Quindi puoi fare clic sul pulsante "Aggiungi macro"

Ecco un tutorial sulle schede delle proprietà del progetto: http://www.dorodnic.com/blog/2014/03/20/visual-studio-macros/


6
Questa risposta richiede più voti positivi. Seleziona questa risposta accettata. L'attuale risposta accettata non risponde nemmeno alla domanda.
Mike S

1
Nel caso non fosse ovvio (non lo era per me) devi aggiungere la tua scheda delle proprietà a tutti i tuoi progetti (supponendo che tu abbia più nella stessa soluzione). Non riuscivo a capire perché non funzionasse, ma poi mi sono reso conto di averlo aggiunto a un progetto diverso.
Matt


7

Una finestra delle proprietà probabile che sia la soluzione giusta; questa risposta elabora su @ gregseth piuttosto che cercare di sostituirlo, poiché è troppo lungo per un commento.

Ho scoperto che avevo bisogno di percorsi diversi per obiettivi a 32 e 64 bit, e per farlo ci è voluto un po 'di tempo per capire, quindi ho documentato il processo in dettaglio .

Un malinteso chiave che ho avuto con i fogli delle proprietà è stato che, a differenza del solito editor di proprietà VS in cui è possibile modificare diverse combinazioni di configurazione / piattaforma, un foglio delle proprietà è solo un elenco di proprietà. Non ha sottosezioni per configurazione e per piattaforma. Ciò creava confusione perché quando aggiungevo un foglio a un progetto appariva sotto ogni nodo di configurazione / piattaforma piuttosto che sotto il nodo del progetto di livello superiore. Tutte le voci sono in realtà per lo stesso file del foglio delle proprietà, quindi modificarne una cambia tutte, ma inizialmente non lo capivo e pensavo di dover comunque modificare il valore in ogni posizione individualmente.

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

Se vuoi avere impostazioni globali, la configurazione / piattaforma ha la precedenza, puoi farlo assicurandoti che le schede delle proprietà più specifiche siano per ultime. Quindi potresti avere un foglio delle proprietà "tutte le configurazioni", quindi uno per "x86", uno per "x64", uno per "debug" e uno per "rilascio". La destinazione di debug x64 avrebbe i fogli "all", "x86", "debug". Fondamentalmente emulare ciò che l'editor di proprietà di VS fa internamente.


3

Ri: hmm .. Non mi sembra di avere l'opzione "Macro utente" in "Proprietà comuni". Sto usando VS 2010 Pro

L'opzione Macro utente non viene visualizzata se apri la finestra di dialogo delle proprietà per un file proj, come nella normale visualizzazione File. Devi passare alla visualizzazione Propery, espandere un progetto e scegliere una pagina delle proprietà (* .props) che hai aggiunto allo scopo. Le macro utente vengono visualizzate lì.

Oppure puoi semplicemente modificare l'XML direttamente. Le macro funzionano bene se definite in un file. * Proj, ma renderle una "Macro utente" è inutile se non c'è una pagina di modifica. Quindi rendilo una semplice proprietà in un <PropertyGroup>.

Come sottolineato in precedenza, richiama anche le variabili d'ambiente. Tuttavia, devi essere sicuro di impostarli in un contesto in cui Devenv li vedrà! Fallo in una shell dei comandi e quindi esegui DEVENV dallo stesso prompt dei comandi. Quando ho avuto quella situazione, ho creato un file batch per impostare le variabili corrette e avviare DEVENV e ho messo l'icona del file bat sul desktop.


1
La "Vista proprietà" può essere il "Gestore proprietà" nella tua versione VS, accessibile tramite Visualizza -> Altre finestre.
Craig Ringer

1
Immagino che diventi la vista quando ancorato come scheda insieme alle viste ad albero di file, classi e risorse.
JDługosz

2

Prova nell'altro modo senza il fastidio di aggiungere a ciascuna finestra delle proprietà

Vai a Proprietà di sistema del sistema operativo Windows > Variabili d'ambiente , solo Nuovo e inserisci la variabile, ad esempio: MY_PATH e il valore ad esempio: D: \ Dev_Path \

dopo di che devi riavviare Visual Studio, dovresti essere in grado di avere $ {MY_PATH} nell'elenco delle macro

p / s: basta notare che Jason Williams ha risposto sopra è il metodo delle variabili d'ambiente del sistema operativo


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

Quale applicazione stai utilizzando per impostare queste proprietà?
Doug Kimzey

1

Stessa risposta di @Serge Rogatch, tranne per il fatto che non sono riuscito a trovare "Property Manager" in View.

Passaggi visivi per una navigazione rapida: inserisci qui la descrizione dell'immagine


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, scegliere 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 quella finestra delle 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 la casella di controllo Imposta questa macro come variabile di ambiente nell'ambiente di compilazione.

fonte


Non c'è niente chiamato "Gestore proprietà" nel menu Visualizza di Visual Studio 2019. Non esiste una voce come "Macro utente" nelle pagine delle proprietà di Visual Studio 2019. La ricerca nella Guida è Visual Studio 2019 per "Macro utente" avvia un " Finestra di dialogo Nuovo elemento ".
Doug Kimzey

VS2019 - Visualizza -> Altre finestre -> Gestore proprietà (e sarai sulla strada giusta!)
Kirk Bates
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.