プラグインのメタデータ
プラグインは、メタデータファイルは、プラグインを決定する、ならびに(依存関係を依存して)負荷に対する負荷順序にプラグインライブラリをロードするために必要なすべての情報を含むJSONファイルです。また、プラグイン、プラグインの使用を含む、あなたはプラグインする場所についての詳細な情報を見つけることができます。あなたがプラグインをコンパイルすると、ファイルが検索パスを含めるでなければならず、.json拡張子を持っている必要があります。JSONファイルのようにプラグインし、その後のQt Creatorのローディングプラグインによって読み取らにメタデータをコンパイル。
主キー
主キーは、プラグイン、必須のキーの名前とバージョン、およびオプションのキーCompatVersion、実験、DisabledByDefault、必須およびプラットフォームを含め、デフォルトの負荷動作を定義を識別するために使用されます。
ボンド | 値のタイプ | 意味 |
---|---|---|
名前 | ストリング | ウィジェット識別子は、他のプラグイン依存関係で使用される、例えば、参考文献です。 |
バージョン | ストリング | バージョン文字列のxyz_n形態識別するプラグこと。章「プラグインのリリースノート」を参照してください。 |
CompatVersion | ストリング | オプション。与えられていない場合、バージョンは暗黙的に同じ値に設定します。リリースノートバージョン互換性下位互換性プラグインの現在のバージョンの後には、このプラグインのためにバイナリ、および解決の依存関係とすることができます。そのVersion2.1.1とCompatVersion 2.0.0、プラグインのバイナリバージョンが2.1.1で、プラグインのすべてのバージョンと下位互換性があることを意味2.1.1 - 2.0.0(2.0.0で)。 |
実験的 | ブーリアン | オプション。デフォルトはfalseです。場合にはロードされず、かつユーザによって明示的に有効にする必要がありますウィジェット実験デフォルト。ユーザーエクスペリエンスへのマイナスの影響は、このプロパティを有効にするには、新しいプラグインであるかもしれない持っている必要があります。 |
DisabledByDefault | ブーリアン | オプション。デフォルトはfalseです。場合にはロードされず、かつユーザによって明示的に有効にする必要がありますウィジェットセット、対応するデフォルトの場合。プラグインの設定追加のリソース消費量を削減するためにあまりにも多くの人々によって使用されることを期待すべきではありません。 |
HiddenByDefault | ブーリアン | オプション。デフォルトはfalseです。ユーザーはすべてのプラグインを確認するように依頼するとき設定した場合、プラグインは、デフォルトのビューは、表示のみ「プラグインについて...」ダイアログボックスに表示されません。そこに一緒に-versionコマンドライン引数であれば、それも示しています。 |
必須 | ブーリアン | オプション。デフォルトはfalseです。プロンプトは、ユーザーが手動でプラグインを無効にすることができないかもしれないことを「プラグインについて...」プロンプトダイアログボックスとして。コア・プラグインの場合のみ。 |
プラットホーム | ストリング | オプション。実行プラグインを正規表現マッチングのプラットフォーム名、。プラグは、すべてのプラットフォームにロードすることができることを意味し、ラベルを省略します。 |
プラグインの説明キー
これらのキーは、唯一のより詳細な(ユーザ中心の)プラグインの説明のために使用されます。これらはすべてオプションです。
ボンド | 値のタイプ | 意味 |
---|---|---|
カテゴリー | ストリング | デフォルトはUtilities 。「プラグインについて...」プラグインの概要]ダイアログボックスについては、同じツリー上のノードに関連付けられたプラグイン。 |
ベンダー | ストリング | このようMyCompanyのようプラグインクリエイター/プロバイダを説明する文字列。 |
著作権 | ストリング | 例えばショート著作権表示、(C) 2016 MyCompany 。 |
ライセンス | 文字列または文字列の配列 | 可能なマルチライン・プラグインに関する情報をライセンス。UI以来、長いテキストのために設計されていないので、比較的短くする必要があります。 |
説明 | 文字列または文字列の配列 | プラグの内容は、可能な複数の行を記述提供されるべきです。UI以来、長いテキストのために設計されていないので、比較的短くする必要があります。 |
URL | ストリング | 例えば、プラグインの詳細については、へのリンクhttp://www.mycompany-online.com/products/greatplugin 。 |
頼ります
プラグインは、他のプラグインに依存することができます。これらは、これらの追加プラグインは、このプラグインの前にロードされていることを確実にするためのプラグインメタデータで指定されています。
依存関係Dependency
鍵JSONオブジェクトの配列の宣言キー、及び力を含む名バージョンキー、および任意のキータイプ。
次の式は、依存関係の情報がどのように一致して説明しています。式中、依存ウィジェット名(名前が定義され、同じオブジェクトのメタデータに依存する)で表されるDependencyName
、依存バージョンウィジェットとして示されていますDependencyVersion
。なお、以下の説明を含む指定された名前、バージョンCompatVersion及びデータ定義におけるプラグ要素を有するプラグは、正常に他のプラグイン依存関係を依存関係を一致させることができます。
- それは
Name
一致したDependencyName
と CompatVersion <= DependencyVersion <= Version
。
例えば、プラグインの依存関係
{
"Name" : "SomeOtherPlugin",
"Version" : "2.3.0_2"
}
以下のプラグと一致する、プラグは、上記依存性として使用することができます
{
"Name" : "SomeOtherPlugin",
"Version" : "3.1.0",
"CompatVersion" : "2.2.0",
...
}
3.1.0 - マッチング名、バージョン依存項目ラベルが2.3.0_2を提供するので、2.2.0の範囲内です。
ボンド | 値のタイプ | 意味 |
---|---|---|
依存関係 | オブジェクトの依存配列 | 他のプラグインの説明依存 |
JSONオブジェクトは、キーを持つ依存オブジェクトです。
ボンド | 値のタイプ | 意味 |
---|---|---|
名前 | ストリング | プラグインの名前はプラグインに依存しています。 |
バージョン | ストリング | プラグインの依存関係を設定するために使用されるバージョンとの互換性が必要フォーマットxyz_nに依存しています。バージョンは関係ない場合は、空にすることができます。 |
タイプ | ストリング | オプション。値Required 、Optional またはTest 。依存性は必須要件であるかのテストは、定義を実行するために必要なプラグインを持っている場合。デフォルトはRequired 。 |
オプションの依存関係
「オプション」:プラグインの別のプラグインに依存関係を指定することができますが、依存オブジェクト「タイプ」に追加することで、オプションです。
- 依存関係が解決できた場合は、プラグインとその依存関係のプラグインが必要な依存関係としてロードされ、初期化されます。
- 依存関係が解決できない場合は、唯一のプラグインの依存関係など一切文が存在しない場合、ロードおよび初期化されます。
プラグインは、オプションのプラグインがあるかどうかに依存してどのような方法で通知されません。ので依存プラグインがロードされるかもしれない、または、プラグインが依存するプラグインにリンクしていない場合がありないかもしれません。:: :: :: ExtensionSystem PluginManager :: getObjectByName(によるアクセスに共通の方法からプラグインオブジェクトの依存関係オプション ) からまたはExtensionSystem PluginManager getObjectByClassName()オブジェクトのグローバルプールオブジェクトを取得するために、オブジェクト上、およびコールを取得しますQMetaObjectの機能。
テストの依存関係
ユーザーがアプリケーション-testコマンドライン引数を実行すると、指定された唯一のプラグインをロードし、プラグインに依存しています。これは、このように実行速度テストをスピードアップ、不要なプラグインをロードしないようにするために行われます。
「タイプ」を用いて「テスト」文の依存関係を、プラグインは、指定されたテスト機能を実行するために必要ではなく、プラグインに頼ることができる通常の機能を実行します。試験荷重依存性が必須であり、ロードシーケンスには影響を与えません。
この依存性は送信されません。
コマンドラインパラメータ
プラグインは、アプリケーションの起動時にユーザーが提供することができ、コマンドラインパラメータを登録することができます。ユーザーがコマンドラインパラメータは、アプリケーションを実行-help使用すると、単一の行に記述コマンドラインパラメータのフォームが表示され、プラグインマネージャは、整合性チェックや情報に基づいて、コマンドラインの解析を実行します。プラグインマネージャのコマンドを挿入するために初期化()関数に渡されたプラグライン引数に一致するものを見つけるためにした場合。
keyパラメータで定義されたコマンドライン引数引数のキーは、オブジェクトの配列が含まれています。各個々のパラメータオブジェクトは、結合の名前、およびオプションの債券とパラメータの説明を余儀なくされました。
ボンド | 値のタイプ | 意味 |
---|---|---|
引数 | オブジェクトのパラメータ配列 | 説明コマンドライン引数を処理したいプラグイン |
JSONのパラメータオブジェクトは、キーを持つオブジェクトです。
ボンド | 値のタイプ | 意味 |
---|---|---|
名前 | ストリング | コマンドラインパラメータ自体は、接頭語の記号が含まれる「 - 」、例えば-my-parameter |
パラメーター | ストリング | オプション。このパラメータが指定されている場合、コマンドラインパラメータは、-MyパラメータsomeValueのような付加価値を必要とします。ユーザに提供される簡単な説明として、この属性の値は、。 |
Description | String | 可选项。参数的(单行)描述,用于命令行参数帮助。 |
Test.json示例
{
"Name" : "Test",
"Version" : "1.0.1",
"CompatVersion" : "1.0.0",
"Vendor" : "My Company",
"Copyright" : "(C) 2016 MyCompany",
"License" : [
"This is a default license bla",
"blubbblubb",
"end of terms"
],
"Category" : "My Company Additions",
"Description" : [
"This plugin is just a test.",
"It demonstrates the great use of the plugin meta data."
],
"Url" : "http://www.mycompany-online.com/products/greatplugin",
"Arguments" : [
{
"Name" : "-variant",
"Parameter" : "fancy|boring",
"Description" : "Brings up the fancy or boring user interface"
}
],
"Dependencies" : [
{ "Name" : "SomeOtherPlugin", "Version" : "2.3.0_2" },
{ "Name" : "EvenOther", "Version" : "1.0.0" }
]
}
插件版本说明
插件版本的格式为x.y.z_n,其中x,y,z和n是非负整数。 您不必以完整格式指定版本 - 任何遗漏的部分都将隐式设置为零。 因此,2.10_2等于2.10.0_2,并且1与1.0.0_0相同。