es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Argumentos de depuración dinámica en Visual Studio

Tengo un programa que acepta el nombre de una rama de git como parámetro, por lo que una ejecución normal podría verse así:

tool.exe --branch My-Feature-Branch

Cuando estoy depurando en Visual Studio, me gustaría que utilice la rama de git actual.

Sé que puedo obtener el nombre de la rama actual con el comando git rev-parse --abbrev-ref HEAD. Sin embargo, si lo uso en los argumentos de comando de depuración, siempre obtengo un valor nulo.

Argumentos de comando que he intentado:

--branch $(git rev-parse --abbrev-ref HEAD)
--branch "$(git rev-parse --abbrev-ref HEAD)"
--branch (git rev-parse --abbrev-ref HEAD) <- VS se queja de que rev-parse no es un comando
--branch $(git -C C:/repo/root rev-parse --abbrev-ref HEAD)

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para utilizar la rama de Git actual como parámetro durante la depuración en Visual Studio, puedes probar el siguiente enfoque:

    1. Abre las propiedades del proyecto en Visual Studio haciendo clic derecho en el proyecto y seleccionando “Propiedades”.
    2. Navega a la pestaña “Depuración”.
    3. En el campo “Argumentos de línea de comandos”, ingresa lo siguiente:
      --branch "$(shell git rev-parse --abbrev-ref HEAD)"
    4. Guarda los cambios y comienza la depuración.

    Este enfoque utiliza el comando shell para ejecutar el comando git y obtener el nombre de la rama actual. La sintaxis $(...) se utiliza para ejecutar el comando y devolver la salida como una cadena. El argumento de línea de comandos resultante está encerrado entre comillas dobles para asegurarse de que se trate como un único argumento.

    Ten en cuenta que este enfoque asume que git está en la ruta del sistema y se puede ejecutar desde la línea de comandos. Si este no es el caso, es posible que debas proporcionar la ruta completa del ejecutable de git.

Comments are closed.