IRunConfig
및 IRunConfigProvider
을 구현하여 사용 가능한 실행 구성 유형을 확장 할 수 있습니다.
IRunConfigProvider
클래스는 [ShellComponent]
으로 표시되어야하고 RunConfigProviderBase
추상 기본 클래스에서 파생 될 수 있습니다. 이름을 지정하면됩니다 (예 : "Executable"
, 유형 식별자. "exe"
및 아이콘 ID. 또한이 단계에서 대부분 구성되지 않을 IRunConfig
클래스의 새 인스턴스를 만드는 CreateNew 메서드가 있습니다.
IRunConfig
인터페이스 구성 요소로 표시 할 필요가 없습니다, 또한 RunConfigBase
에서 파생한다 - 구현하는 방법의 예를 볼 dotPeek에서 RunConfigExe
를보십시오. 실행할 필요가있는 것이 무엇이든지 실제로 실행하려면 Execute
을 무시해야합니다. RunConfigContext
클래스를 사용하여 ProcessStartInfo
또는 IProject
에서 실제로 프로세스를 실행하면 프로세스를 실행하거나 디버깅하거나 코드 범위 또는 프로파일 링과 같은 다른 프로세스를 실행하여이 프로세스를 실행합니다. 이 .exe 들어
이 같이 간단하다 :
public override void Execute(RunConfigContext context)
{
context.ExecutionProvider.Execute(GetStartInfo(context), context, this);
}
그러나 더 복잡한 예를 들어
는, 자신의 독립 실행 실행 파일을 사용하는,
RunConfigMethod.Execute
보고하고로드하는 명령 줄 매개 변수에 전달 어셈블리를 수정하고 주어진 정적 메소드를 실행하십시오.
설정은 ReadSpecific
/SaveSpecific
으로 구현되며 CreateEditor로 편집기보기 모델을 제공 할 수 있습니다.
[SettingsKey(typeof (ConfigSettings), ".exe config")]
public class ExeSettings
{
[SettingsEntry(null, "Path to .exe")] public string Executable;
[SettingsEntry(null, "Working directory")] public string WorkingDirectory;
[SettingsEntry(null, "Command line arguments")] public string Arguments;
}
편집기에 대한 뷰가 ReSharper에서 컨트롤이 대화 상자에 표시되는 WPF 컨트롤에 의해 제공됩니다 : 당신은 설정 클래스, 같은 것을해야합니다. 보기는 [View]
속성으로 꾸며져 야하며 IView<T>
을 구현해야합니다. 여기서 T
은 CreateEditor
에서 반환 된 구체적인 클래스입니다. ReSharper가 CreateEditor
에 의해 반환 된 뷰 모델에 대한 뷰를 찾는 방법입니다. 다시 한 번, dotPeek에서 RunConfigMethodView
을 살펴보고 어떤 일이 벌어지고 있는지 더 자세히 알 수 있습니다 (리소스를 살펴보면 XAML 자체를 볼 수 있습니다).
감사합니다. Matt! 정말 도움이되었습니다. – dseferlis
그리고 이미 Resharper 플러그인과 github에 업로드되었습니다. 다시 한번 고마워. – dseferlis