私はMonoDevelopのアドインを作成しようとしています。これは外部ツール(例えば、Jabberからの着信メッセージのソースの更新、プロジェクトのビルド、実行)からトリガーされます。マクロを見つけることができなかったので、私はIdeApp.CommandService.DispatchCommand()を通してそれらを呼び出すことによって "コマンド"を使用します。シングルアクションの場合、これは素晴らしいですが、いくつかのコマンドを連続して実行しようとすると同時に実行されます。 コマンドキューを実装するには、1つのコマンドが前回の完了を待っていますか?MonoDevelop:マクロまたは実行中のコマンドを順番に
1
A
答えて
0
DispatchCommandは同期ですが、実行されているコマンドの一部が非同期操作を開始し、コマンドがそれらの操作に対するハンドルを返す方法がありません。
これらの特定のコマンドについては、それらをコマンドとしてディスパッチせず、それらの操作を実行するために高水準APIを直接呼び出すことをお勧めします。たとえば、IdeApp.ProjectOperations.Buildは、WaitForCompletedメソッドを使用してブロックできるIAsyncOperationハンドルを返します。 IdeApp.Workspaceを使用すると、プロジェクトを開いたり、開いているプロジェクトのハンドルを取得したり、アクティブな構成を設定したりすることができます。
関連する問題
- 1. Pythonから順番にコマンドを実行
- 2. 独立ジョブを順番に実行するためのAutosysコマンド
- 3. コマンドパターン:複数のコマンドを順番に実行
- 4. MonoDevelopの中括弧(またはブラケット)とALTキーパッド番号
- 5. スレッドプールを順番に実行
- 6. ディスパッチメインを順番に実行
- 7. エラー:コマンドの実行中に
- 8. キュウリのフィーチャーファイルを順番に実行
- 9. シェルスクリプトでコマンドを順番に実行し、実行する次のステートメントを遅らせます
- 10. コマンド実行中に 'PushSharp'
- 11. ジェンキンスでジョブを順番に実行
- 12. 順番にajaxコールを実行する
- 13. C#Oracle - 順番にストアドプロシージャを実行
- 14. アクションを順番に実行するSpriteKit
- 15. SQLコマンド実行中のエラー
- 16. java実行中のLinuxコマンド
- 17. JUnitはテストケースを順番に実行しますか?
- 18. xUnit.netでは、テストを順番に実行できますか?
- 19. Javascriptブラウザは順番にコードを実行します
- 20. マルチスレッドはメインスレッドをハングアップし、順番に実行します。
- 21. マクロ定義の昇順番号
- 22. shiny htmlOutputのループは、順番に実行されません
- 23. Jenkinsは順番にジョブを実行し、また特定のジョブを実行します
- 24. Vimマクロまたはプラグインを使用してxml要素の番号を順番に付け替えますか?
- 25. Microsoft Graphでマクロを実行中
- 26. バッチファイルで2番目のコマンドを実行
- 27. Webdriver IOはすべてのコマンドを順次実行します
- 28. VBA - マクロが中断したときにコードを実行する
- 29. Cronでコマンドを実行中にエラーが発生しました
- 30. kubectlコマンドを実行中にエラーが発生しました
答えはMichaelですが、たとえばVersionControlのコマンド(MonoDevelopインストールの一部)完了イベントでバインドする機能はありません。また、IdeApp.WorkspaceまたはIdeApp.Workbenchオブジェクトを介して到達することもできません。それらの実行を観察する既知の方法はありますか? ps:StatusBar(明らかに間違った方法です)でもメッセージを追跡しようとしましたが、いずれも成功しませんでした。 – Socratez
VersionControlServiceのIAsyncOperationsに変換するバージョンコントロールコマンド、および/または何らかの種類のバージョンコントロールイベントの機能要求を提出することをお勧めします。今の場合、FileServiceまたはProjectオブジェクトからのファイル変更イベントを監視するのが最善の方法です。 –
もう一度@mhutch! – Socratez