メインコンテンツまでスキップ

コマンドラインエクステンションサービス

NDCLI ではデスクトップ版エクステンションでのみ利用可能な NextDesign.Core.Desktop 名前空間に属する API が利用できません。代表例として IWorkspace.OpenProject() メソッドもその一つです。(利用可能なAPIについては こちら を参照ください)

NDCLI のコマンドラインエクステンション開発時にそれらの代わりとなる API を提供するのが、コマンドラインエクステンションサービスです。

一覧

サービス API概要
IProjectServiceプロジェクトに対する各操作を提供します。
IModelCopyServiceモデルのコピー&ペースト操作を提供します。
IModelDuplicateServiceモデルの複製操作を提供します。
IDiffServiceプロジェクトの比較機能を提供します。
IErrorsServiceプロジェクトのエラー情報へアクセスする機能を提供します。
ISearchServiceプロジェクトの検索結果情報へアクセスする機能を提供します。

補足

IProjectService

  • モデルファイルの手動ロード設定は適用されません。
  • 作成できるモデル数に制限のあるエディションでは上限を超えるモデルをもつプロジェクトを開いたときにモデルの新規作成を制限します。
  • プロジェクトを開くときに、フィーチャ(プロダクトラインモデルの一クラス)のもつ「割当先モデル」の getter のオーバーライドを登録します。

IModelCopyService

  • Next Design 本体の CopyPasteService に処理を委譲します。
  • Next Design 本体と違い、クリップボードアクセスをせず ICopyContext インタフェースを参照して処理します。