Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 如何避免在Visual Studio中使用特定于解决方案的硬编码宏? 背景_Visual Studio_Macros_Projects And Solutions - Fatal编程技术网

Visual studio 如何避免在Visual Studio中使用特定于解决方案的硬编码宏? 背景

Visual studio 如何避免在Visual Studio中使用特定于解决方案的硬编码宏? 背景,visual-studio,macros,projects-and-solutions,Visual Studio,Macros,Projects And Solutions,我有一个宏AttachToRemoteProcess,用于将调试器附加到远程计算机上正在运行的进程。宏对进程和计算机使用硬编码名称。我从自定义工具栏上的工具栏按钮使用宏。我认为这是一个低于标准的解决方案,我不喜欢在VisualStudio环境中拥有这样的宏,因为它只适用于硬编码的特定程序/环境。 我正在使用VisualStudio2008 解决 我可以想象两种解决方案,但我不知道它们是否可以实施 备选案文1 我希望宏AttachToRemoteProcess作为解决方案(.sln)的一部分或项目

我有一个宏
AttachToRemoteProcess
,用于将调试器附加到远程计算机上正在运行的进程。宏对进程和计算机使用硬编码名称。我从自定义工具栏上的工具栏按钮使用宏。我认为这是一个低于标准的解决方案,我不喜欢在VisualStudio环境中拥有这样的宏,因为它只适用于硬编码的特定程序/环境。

我正在使用VisualStudio2008

解决 我可以想象两种解决方案,但我不知道它们是否可以实施

备选案文1 我希望宏
AttachToRemoteProcess
作为解决方案(.sln)的一部分或项目(.csproj)的一部分,并在将解决方案或项目加载到Visual Studio时显示工具栏。在这种情况下,可以使用硬编码设置,如进程和计算机名

备选案文2
  • AttachToRemoteProcess
    以过程和计算机为参数,可重复使用
  • 自定义工具栏、按钮和宏在Visual Studio中始终可用。除了参数化宏之外,这与我当前的解决方案一样
  • 单击按钮时,将从解决方案或当前项目中的某个位置查找计算机名和进程名
问题
  • 有没有其他的工作可以做?我该怎么做
  • 对于我想要实现的目标,还有其他替代方案吗

  • 第二种选择似乎有效。不必从解决方案中检索参数(可能使用VBA和类
    EnvDTE.DTE.solution
    ),您可以显示一个小表单来选择流程和计算机,并将此输入用作宏的参数。该按钮将始终显示在个人工具栏中

    我不确定是否可以将宏“附加”到特定的解决方案。如果不可能,您将无法实现备选方案1