これらのアクションに応答するXcode8テンプレートを正常に作成しました。
ステップバイステップで、それを達成する方法:
私は以下で作成しました:
/Users/*YOUR_USER_NAME*/Library/Developer/Xcode/Templates/File Templates
フォルダ名Custom/Interactor.xctemplate
そのフォルダ内のファイル:
したがって、右クリックして新しいファイルを作成するときに、カスタムファイルを選択します。
上記の例は機能し、カスタムファイルを作成します。
私が達成しようとしていること:
新しいカスタムファイルを含むグループを作成しようとしています。実際のフォルダや複雑なタスクは必要ありません。実際のファイルを含むグループだけです。
したがって、最終結果は次のようになります。
カスタムテンプレートの作成方法を説明するドキュメントがないため、多くの参照を使用しました: ref1 、 ref2 、 ref 、 ref4 。
これがTemplateInfo.plist
ファイル:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DefaultCompletionName</key>
<string>MyCustomInteractor</string>
<key>Description</key>
<string>Custom interactor</string>
<key>Kind</key>
<string>Xcode.IDEKit.TextSubstitutionFileTemplateKind</string>
<key>Options</key>
<array>
<dict>
<key>Description</key>
<string>Custom interactor</string>
<key>Identifier</key>
<string>fileName</string>
<key>Name</key>
<string>Custom name</string>
<key>NotPersisted</key>
<true/>
<key>Required</key>
<true/>
<key>Type</key>
<string>text</string>
</dict>
<dict>
<key>Default</key>
<string>___VARIABLE_fileName:identifier___</string>
<key>Identifier</key>
<string>productName</string>
<key>Type</key>
<string>static</string>
</dict>
<dict>
<key>Default</key>
<string>___VARIABLE_fileName:identifier___Interactor</string>
<key>Description</key>
<string>The interactor name</string>
<key>Identifier</key>
<string>interactorName</string>
<key>Name</key>
<string>Interactor Name:</string>
<key>Required</key>
<true/>
<key>Type</key>
<string>static</string>
</dict>
</array>
<key>Platforms</key>
<array>
<string>com.Apple.platform.iphoneos</string>
</array>
<key>SortOrder</key>
<string>99</string>
</dict>
</plist>
私が試したこと:
TemplateInfo.plistに this 回答を挿入しようとしましたが、何も起こりません。私の意見では、スコープの問題に関連している可能性があります。おそらく、Definitions
またはNodes
キーを適切な場所に挿入していません。私が苦労してきたxmlDefinitions
およびNodes
コードスニップ:
<key>Definitions</key>
<dict>
<key>___FILEBASENAME___Interactor.Swift</key>
<dict>
<key>Group</key>
<string>Custom Interactor</string>
<key>Path</key>
<string>___FILEBASENAME___Interactor.Swift</string>
</dict>
</dict>
<key>Nodes</key>
<array>
<string>___FILEBASENAME___Interactor.Swift</string>
</array>
では、これらのキーをどこに挿入する必要がありますか、または何が間違っていますか?
任意のヘルプをいただければ幸いです。
ありがとう。
これを使用して、プロジェクトディレクトリにグループとフォルダを作成できます
<key>Swift</key>
<dict>
<key>Nodes</key>
<array>
<string>ViewController.Swift:comments</string>
<string>ViewController.Swift:imports:importCocoa</string>
<string>ViewController.Swift:implementation(___FILEBASENAME___: UIViewController)</string>
<string>ViewController.Swift:implementation:methods:viewDidLoad(override func viewDidLoad(\))</string>
<string>ViewController.Swift:implementation:methods:viewDidLoad:super</string>
<string>ViewController.Swift:implementation:methods:didReceiveMemoryWarning(override func didReceiveMemoryWarning(\))</string>
<string>ViewController.Swift:implementation:methods:didReceiveMemoryWarning:super</string>
<string>Constant/CommonExtension.Swift</string>
</array>
</dict>
と定義はこのように
<key>Definitions</key>
<dict>
<key>Base.lproj/Main.storyboard</key>
<dict>
<key>Path</key>
<string>Main.storyboard</string>
<key>SortOrder</key>
<integer>99</integer>
</dict>
<key>Group</key>
<array>
<string>Singletone</string>
</array>
<key>Constant/CommonExtension.Swift</key>
<dict>
<key>Path</key>
<string>Constant/CommonExtension.Swift</string>
<key>Group</key>
<array>
<string>Constant</string>
</array>
</dict>
</dict>