1

config.jsonの「pretty-print」ジョブキーのドキュメント1.4の例を取り上げます。

"jobs" :   {
    "pretty-print" :    { 
        "general" :     { ..... },
        "comments" :    {  ...... },
        "blocks" :    { ....... }
    },

python Generate.pyはこれを生成します:

警告: !不明なジョブ構成キー「ブロック」-無視されます。
警告: !不明なジョブ構成キー「コメント」-無視されます。
警告: !不明なジョブ構成キー「一般」-無視されます。

私はすべての人、ドキュメント、ソースを調べましたが、理由がわかりません

編集済み私はQooXdoo1.4whitPython2.6を使用しています

別のシステムから生成されたソースJavaScriptを使用していますが、ソース.jsを再フォーマットし、QooXdooが使用する標準設定を変更する必要があります。

http://manual.qooxdoo.org/1.4.x/pages/tool/generator_config_ref.htmlから例を挙げます。

"pretty-print" :
{
  "general" :
  {
    "indent-string"        : "    "
  },
  "comments" :
  {
    "trailing" :
    {
      "keep-column"        : false,
      "comment-cols"       : [50, 70, 90],
      "padding"            : "    "
    }
  },
  "blocks" :
  {
    "align-with-curlies"   : false,
    "open-curly" :
    {
      "newline-before"     : "N",
      "indent-before"      : false
    }
  }
}

そして、私のアプリのconfig.jsonに入れると
、ジョブ「pretty-print」が実行されますが、設定は無視されます

再編集このキーが「きれいに印刷」されている場合にのみ問題が発生します。config.jsonの他のバリエーションは問題ありません

4

1 に答える 1

2

あなたはそれをほぼ正しく理解しました、あなたはちょうど1つのレベルの入れ子を逃しました。

マップの全体的な構造は次のjobsとおりです(これもここに記載されています)。

"jobs" : {
     "job-name" : {
          "pretty-print" : { ... }
          ...
     }
     ...
}

したがって、「jobs」と「pretty-print」の間にジョブ名を挿入するだけです。ジョブ名は、自由に選択できる文字列です。(「jobs」マップはコンテナー、[job-name]はこのコンテナー内の個々のオブジェクト、「pretty-print」、およびgenerator_config_ref.htmlに記載されている他のすべてのキーと考えることができます。 、特定の個人のプロパティとして)。

これで、ジョブオブジェクトを最初から定義できます。たとえば、などの一意の名前を付けることができますmy-pretty-printただし、これには、ジョブを正常に実行するために必要なすべてのジョブプロパティをまとめる必要があります(これは、多くのキーの説明が記載されたピアキーのメモで示唆されています)。

むしろ、事前定義されたジョブを使用して、それを改良することをお勧めします。あなたの場合、デフォルトのジョブを使用してpretty、それを改良します。独自の構成でジョブに名前を付けることによりpretty、事前定義されたジョブからすべてのプロパティを自動的に継承します。だから追加するだけ

"jobs" : {
    "pretty" : {}
}

構成マップに追加するprettyと、同じ名前のデフォルトのジョブとまったく同じことを行うカスタムジョブが作成されます(何も変更されていないため)。これで、デフォルトのジョブとは異なる方法で必要なものを提供できるようになりました。

"jobs" : {
    "pretty" : { "general" : { "indent-string" : "    " }}
}

インデント文字列のスペースが2ではなく4になることを除いて、すべてのデフォルト設定が使用されます。

于 2011-05-07T10:25:00.693 に答える