Всем привет.
Есть задача запускать по F5 команду Test Explorer->Run All
Как переопределить шорткат только для одного проекта я не нашёл.
Придумал написать add-in — задать ему shortcut F5, и уже внутри него смотреть:
если в солюшине стартовый проект он же тестовый, то _applicationObject.ExecuteCommand("TestExplorer.RunAllTest");
else
_applicationObject.ExecuteCommand("Debug.Start");
В принципе это работало бы, если бы не одно НО — в процессе отладки F5 выполняет функцию Continue.
А такой команды, что то вроде "Debug.Continue" я не нашёл..
В общем кто, что думает по этому поводу?
Вот псевдокод метода Exec моего add-in:
public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled)
{
handled = false;
if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault)
{
if(commandName == "MyAddin1.Connect.MyAddin1")
{
handled = true;
if(_applicationObject.IsDebugging)
{
_applicationObject.ExecuteCommand("Debug.Continue"); //! вот этой команды и нет :(
}
else
{
SolutionBuild2 sb = (SolutionBuild2)_applicationObject.Solution.SolutionBuild;
if(sb[0] is TestProjectType)
_applicationObject.ExecuteCommand("TestExplorer.RunAllTest");
else
_applicationObject.ExecuteCommand("Debug.Start");
}
return;
}
}
}