IRunConfig
とIRunConfigProvider
を実装することで、使用可能な実行コンフィギュレーションタイプを拡張できます。
IRunConfigProvider
クラスは[ShellComponent]
とマークする必要があり、RunConfigProviderBase
抽象基本クラスから派生することができます。名前を指定することができます(例: "Executable"
、タイプ識別子、例えば、。 "exe"
とアイコンID。 CreateNewメソッドもあります。このメソッドは、IRunConfig
クラスの新しいインスタンスを作成します。このインスタンスは、ほとんどの場合、未構成です。
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でエディタビューモデルを提供できます。エディタのビューがReSharperのコントロールというダイアログに表示されるWPFコントロールによって提供され
[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;
}
:あなたは、のようなものを設定するクラスが必要になります。ビューは[View]
属性で装飾する必要があり、IView<T>
を実装する必要があります。ここでT
はCreateEditor
から返された具象クラスです。これはReSharperがCreateEditor
によって返されたビューモデルのビューを見つける方法です。再び、dotPeekのRunConfigMethodView
を見て、何が起こっているのかをさらに確認してください(リソースを見ると、XAML自体を見ることができます)。
ありがとうございましたMatt!本当に役に立ちました。 – dseferlis
すでにResharperのプラグインとgithubにアップロードされています。もう一度ありがとう。 – dseferlis