Visual Studio: ¿dónde definir macros de ruta personalizadas?

90

Acabo de abrir el proyecto de Visual Studio de otra persona y en sus propiedades de compilación tienen algunas macros de ruta personalizadas que están usando para sus directorios include y lib. Los nombres de las macros son cosas como esta:

$(MY_WHATEVER_INCLUDE_DIR)

Podría reemplazar manualmente cada macro con la ruta real, pero sería bueno usar las macros. Mi pregunta es, ¿dónde defino estas macros de ruta personalizadas?

Jake Wilson
fuente
2
Bueno, fudge, esperaba que esto fuera realmente fácil de encontrar. Después de 10 minutos me di por vencido. . . +1 de mi parte. Parece haber cambiado desde VS 6.0 días. . . ¿Alguna posibilidad de que su usuario los haya definido directamente en su entorno?
Frank Merrow
1
La respuesta de Gregseth contiene la solución real a este problema: hay una sección de macro de usuario debajo de Propiedades comunes al editar una hoja de propiedades, pero solo si esa hoja es específica de la solución / proyecto. Entonces, si está editando las hojas predeterminadas que se comparten en todos los proyectos, las macros de usuario no se mostrarán. Vea mi comentario sobre la respuesta de Gregseth a continuación.
Cam Jackson
1
El uso de un archivo .props lo hace en Visual Studio 2010 para definir / cambiar macros. Antes de eso, la extensión del archivo era .vsprops.
Aditya Kumar Pandey
1
He escrito algunos detalles más sobre el uso de propiedad shset aquí: stackoverflow.com/q/25810603/398670
Craig Ringer

Respuestas:

47

Este enlace http://msdn.microsoft.com/en-us/library/a2zdt10t(v=vs.90).aspx podría interesarle. No me gustó la idea de cambiar la configuración de todo mi sistema solo para construir un proyecto. La parte más interesante de la página es el último comentario:

Esta página no menciona cómo llegar a este cuadro de diálogo:

Desde Property Manager, haga doble clic en una página de propiedad. Haga clic en "Macros de usuario" en "Propiedades comunes" en el control de árbol.

Gregseth
fuente
8
hmm ... Parece que no tengo la opción "Macros de usuario" en "Propiedades comunes". Estoy usando VS 2010 Pro
Jelle Vergeer
21
@Jelle ¡El comentario más grande del enlace anterior contiene la información adicional que necesita! Las 'Macros de usuario' solo se mostrarán en 'Propiedades comunes' si la hoja de propiedades que está editando es específica del proyecto / solución. Entonces, lo que debe hacer es abrir la ventana Administrador de propiedades en VS, hacer clic derecho en su proyecto y agregar una nueva hoja de propiedades. Luego, haga clic con el botón derecho -> Propiedades en la hoja recién creada, y ahora verá la opción 'Macros de usuario' debajo de 'Propiedades comunes'. Espero que eso ayude :)
Cam Jackson
1
Esta es una opción bastante oculta. Este es el nuevo enlace para la página de soporte de MSVS ( msdn.microsoft.com/en-us/library/f2t8ztwy%28v=vs.90%29.aspx ), casi como nada. En esta página ( sites.google.com/site/pinyotae/Home/visual-studio-visual-c/… ) hay una lista de pasos más detallada, no perfecta pero te da algunas pistas.
Javier Mr
1
Se agregó más información y ejemplos aquí: stackoverflow.com/q/25810603/398670 . Una cosa clave para entender es que las hojas de propiedades se pueden adjuntar a todas, algunas o solo una combinación de configuración / plataforma. A diferencia del editor de propiedades normal, no hay valores diferentes para diferentes configuraciones / plataformas; si lo desea, use hojas diferentes para cada uno. Bastante flexible una vez que descubra cómo combinar varias hojas y hacer que una se refiera a macros en otra.
Craig Ringer
Con respecto a Visual Studio 2019 y el comentario de Doug Kimzey, es posible agregarlos en VS 2019. Se pueden agregar y editar macros de usuario siguiendo el procedimiento indicado por la respuesta de Serge Rogatch. Me tomó un poco encontrarlo. :)
Hamp
38

Aquí el enfoque se describe con imágenes: https://sites.google.com/site/pinyotae/Home/visual-studio-visual-c/create-user-defined-environment-variables-macros

En Visual Studio necesitas:

  1. Haga clic en el menú principal "Ver", luego "Administrador de propiedades"
  2. Haga clic con el botón derecho en el espacio vacío de la ventana "Administrador de propiedades" y en el menú emergente haga clic en "Agregar nueva hoja de propiedades del proyecto".
  3. Después de agregar la hoja de propiedades, haga doble clic en ella en la ventana Administrador de propiedades y en el árbol de la izquierda seleccione la página de propiedades "Macros de usuario".
  4. Luego puede hacer clic en el botón "Agregar macro"

Aquí hay un tutorial sobre las hojas de propiedades del proyecto: http://www.dorodnic.com/blog/2014/03/20/visual-studio-macros/

Serge Rogatch
fuente
6
Esta respuesta necesita más votos a favor. Seleccione esta respuesta aceptada. La respuesta aceptada actual ni siquiera responde a la pregunta.
Mike S
1
En caso de que no sea obvio (no lo fue para mí), debe agregar su hoja de propiedades a todos sus proyectos (suponiendo que tenga varios en la misma solución). No pude entender por qué no funcionaba, pero luego me di cuenta de que lo había agregado a un proyecto diferente.
Matt
7

Es probable que una hoja de propiedades sea ​​la solución adecuada; esta respuesta se basa en @ gregseth en lugar de buscar reemplazarla, ya que es demasiado larga para un comentario.

Descubrí que necesitaba diferentes rutas para objetivos de 32 y 64 bits, y hacer eso me costó un poco averiguarlo, así que documenté el proceso en detalle .

Un malentendido clave que tuve con las hojas de propiedades fue que, a diferencia del editor de propiedades de VS habitual, donde puede editar diferentes combinaciones de configuración / plataforma, una hoja de propiedades es solo una lista de propiedades. No tiene subsecciones por configuración y por plataforma. Eso fue confuso porque cuando agregué una hoja a un proyecto, apareció debajo de cada nodo de configuración / plataforma en lugar de debajo del nodo del proyecto de nivel superior. Todas las entradas son en realidad para el mismo archivo de hoja de propiedades, por lo que editar una las cambia todas, pero inicialmente no entendí eso y pensé que aún tendría que cambiar el valor en cada lugar individualmente.

Puede agregar una hoja de propiedades a solo una combinación de configuración / plataforma, a todas ellas o solo a algún subconjunto.

Si desea tener configuraciones globales, entonces la configuración / plataforma anula, puede hacerlo asegurándose de que las hojas de propiedades más específicas sean las últimas. Por lo tanto, puede tener una hoja de propiedades "todas las configuraciones", luego una para "x86", una para "x64", una para "depuración" y otra para "liberación". El destino de depuración x64 tendría las hojas "todas", "x86", "depuración". Básicamente, emula lo que hace el editor de propiedades de VS internamente.

Craig Ringer
fuente
3

Re: hmm ... Parece que no tengo la opción "Macros de usuario" en "Propiedades comunes". Estoy usando VS 2010 Pro

La opción Macros de usuario no aparece si abre el cuadro de diálogo de propiedades para un archivo de proyecto, como lo hace en la vista Archivos normales. Debe cambiar a la vista Propiedad, expandir algún proyecto y elegir una Página de propiedad (* .props) que agregó para ese propósito. Las macros de usuario aparecen allí.

O puede editar el XML directamente. Las macros funcionan bien si se definen en un archivo. * Proj, pero convertirlas en una "macro de usuario" no tiene sentido si no hay una página de edición. Así que conviértalo en una propiedad simple en un <PropertyGroup>.

Como se señaló anteriormente, también extrae variables de entorno. Sin embargo, ¡debes asegurarte de colocarlos en un contexto en el que Devenv los vea! Haga eso en un shell de comandos y luego ejecute DEVENV desde ese mismo símbolo del sistema. Cuando tuve esa situación, hice un archivo por lotes para establecer las variables adecuadas e iniciar DEVENV, y puse ese icono de archivo bat en el escritorio.

JDługosz
fuente
1
La "Vista de la propiedad" puede ser el "Administrador de la propiedad" en su versión VS, al que se accede a través de Ver -> Otras ventanas.
Craig Ringer
1
Supongo que se convierte en la Vista cuando se acopla como una pestaña junto con las vistas de árbol de Archivo, Clase y Recursos.
JDługosz
2

Intente al revés sin la molestia de agregar a cada hoja de propiedades

Vaya a Propiedades del sistema del sistema operativo Windows > Variables de entorno , simplemente Nuevo e ingrese la Variable, por ejemplo: MY_PATH y el valor, por ejemplo: D: \ Dev_Path \

después de eso, debe reiniciar su Visual Studio, debería poder tener $ {MY_PATH} en la lista de macros

p / s: solo observe que Jason Williams respondió anteriormente es el método de variables de entorno del sistema operativo

hghew
fuente
no es una buena idea, si desea que su propiedad pertenezca solo a su proyecto.
Mia Shani
¿Qué aplicación estás usando para configurar estas propiedades?
Doug Kimzey
1

Misma respuesta que @Serge Rogatch, excepto que no pude encontrar "Administrador de propiedades" en Ver.

Pasos visuales para una navegación rápida: ingrese la descripción de la imagen aquí

usuario
fuente
0

El camino para las últimas versiones de Visual Studio (2015+) es el siguiente:

Para crear una macro definida por el usuario:

  1. En la ventana Administrador de propiedades (en la barra de menú, elija Ver, Administrador de propiedades), abra el menú de acceso directo para una hoja de propiedades (su nombre termina en .user) y luego elija Propiedades.
  2. Se abre el cuadro de diálogo Páginas de propiedades para esa hoja de propiedades. En el panel izquierdo del cuadro de diálogo, seleccione Macros de usuario. En el panel derecho, elija el botón Agregar macro para abrir el cuadro de diálogo Agregar macro de usuario.
  3. En el cuadro de diálogo, especifique un nombre y un valor para la macro. Opcionalmente, seleccione la casilla de verificación Establecer esta macro como variable de entorno en el entorno de compilación.

Fuente

Fantástico señor zorro
fuente
No hay nada llamado "Administrador de propiedades" en el menú Ver de Visual Studio 2019. No existe una entrada como "Macros de usuario" en las páginas de propiedades de Visual Studio 2019. La búsqueda de Ayuda es Visual Studio 2019 para "Macros de usuario" inicia un " Cuadro de diálogo Nuevo elemento ".
Doug Kimzey
VS2019 - Ver -> Otras ventanas -> Administrador de propiedades (¡y estará en el camino correcto!)
Kirk Bates