如何注冊(cè)一個(gè)CDT項(xiàng)目模板(project template)

How to register a project template with CDT

如何注冊(cè)一個(gè)CDT項(xiàng)目模板(project template)


Once the project template is ready, you need to register it with Eclipse to make the template available for use. It is a good practice to group all the files and resources related to the project template together in one folder. For example, if you are writing a project template for a Hello World Application, group all the resources required for this application in a folder "HelloWorld".

項(xiàng)目模板做好以后,你需要把它注冊(cè)到Eclipse環(huán)境才能使模板生效以便使用.一個(gè)好的辦法是把所有和項(xiàng)目模板相關(guān)的文件和資源放在一個(gè)文件夾下.例如,如果你正在寫一個(gè)"HelloWorld"應(yīng)用程序的項(xiàng)目模板,把所有這個(gè)應(yīng)用程序所需的資源放在一個(gè)"HelloWorld"文件夾下.

To register a project template with CDT follow the steps given below:

按下列步驟注冊(cè)一個(gè)CDT項(xiàng)目模板:

1.????Create an empty plug-in project from the Eclipse workbench without the source folders.

在Eclipse workbench中創(chuàng)建一個(gè)不帶source文件夾的空的plug-in項(xiàng)目.


2.????Create a new folder to contain the template project's content e.g. "MyExampleProject/templates/MyExampleTemplate". Copy the project template.xml along with all the resources required to create the project. For example, all the header files, source files, resource files etc.

創(chuàng)建一個(gè)新文件夾以包含模板項(xiàng)目的內(nèi)容,例如"MyExampleProject/templates/MyExampleTemplate".拷貝項(xiàng)目模板.xml文件以及所有創(chuàng)建項(xiàng)目所需的關(guān)聯(lián)資源.例如,所有的頭文件,源文件,資源文件等.


3.????Open the plug-in manifest editor and select the?Dependencies?page. For more information on plug-in manifest editor, refer to?PDE Guide > Getting Started > Basic Plug-in Tutorial > Plug-in manifest editor.

打開plug-in manifest編輯器,選中"Dependencies"頁.要了解更多關(guān)于plug-in manifest編輯器的內(nèi)容,可以參考PDE Guide > Getting Started > Basic Plug-in Tutorial > Plug-in manifest editor.


4.????Click?Add?to select?org.eclipse.cdt.core?and?org.eclipse.cdt.ui?plug-ins from the list.

點(diǎn)擊Add并從列表中選中org.eclipse.cdt.core和org.eclipse.cdt.ui插件.


5.????Select the?Extensions?page in the plug-in manifest editor.

在plug-in manifest編輯器選中"Extensions"頁面.


6.????Click?Add?to create an extension to the extension-point.

點(diǎn)擊Add創(chuàng)建一個(gè)針對(duì)擴(kuò)展點(diǎn)(extension-point)的擴(kuò)展(extension).


7.????Select the extension-point with ID?org.eclipse.cdt.core.templates?from the list of extension-points.

在擴(kuò)展點(diǎn)列表中選中ID為"org.eclipse.cdt.core.templates"的擴(kuò)展點(diǎn).


8.????Right-click on the newly added extension, and select?New?>?template?from the context menu. The first one has already been added for you,?"(template)".

右擊剛添加的擴(kuò)展,在右鍵菜單中選擇"New?>?template".第一項(xiàng)(template)已經(jīng)為你添加好了.

譯注:如果右鍵菜單New里只有Generic,需要在Eclipse→Help→Install New Software安裝CDT相關(guān)的組件.



9.????Select the new template added in the previous step from the?All Extensions?list. Its name is initially?"(template)".

在所有擴(kuò)展列表中選中上一步添加的新模板.初始名是"(template)".


10.????Specify the?id?attribute of this template contribution, for example "com.foobar.templates.contrib.MyTemplate1". This attribute is mandatory. The id need not be the same as the template id (from template.xml). This allows contributing the same template.xml multiple times. It will replace?"(template)"?in the list.

指定提供模板的id屬性,例如"com.foobar.templates.contrib.MyTemplate1",該屬性是必須的.這個(gè)id不需要跟模板id(template.xml中的id)一樣.這樣就可以多次提供同一個(gè)模板.這個(gè)id將替換列表中初始的的"(template)".


11.????Specify the location of the template XML file, relative to the plug-in created in step 1. This attribute is mandatory.

指定模板XML文件的位置,路徑相對(duì)于第一步創(chuàng)建的plug-in項(xiàng)目.這個(gè)屬性是必須的.


12.????Specify a?filterPattern?to indicate the build Configurations for which the template is created. It is a regular expression used to filter the build Configurations. If the template is designed for a particular Configuration, it is recommended to specify the filter pattern. For example, If the template is designed for GCC Configurations, the filter pattern can be ".*gcc". If the template is designed for multiple ????build Configurations, you can specify the filter patterns delimited by "|" .

指定一個(gè)過濾器模式(filterPattern)以表明創(chuàng)建這個(gè)模板所針對(duì)的構(gòu)建配置(build Configurations).它是一個(gè)用于過濾build Configurations的正則表達(dá)式.如果模板是針對(duì)特定配置的,推薦指定過濾器模式.例如,如果模板是針對(duì)GCC配置的,那么過濾模式可以是".*gcc".如果模板是針對(duì)多種構(gòu)建配置的,可以使用"|"區(qū)分以指定多個(gè)過濾模式.

The New Project wizard filters the available build Configurations based on the filter pattern for the selected template. The filter patterns are matched against the available Configurations' ID to get a list of matching SDKs. This is an optional attribute.

新項(xiàng)目向?qū)?New Project wizard)為選中的模板過濾可用的構(gòu)建配置(build Configurations).過濾模式(filter patterns)通過匹配可用配置的ID取得匹配的SDK的列表.這個(gè)屬性是可選的.

For more information on regular expression patterns, refer to Java API document for?java.util.regex.Pattern.

更多關(guān)于正則表達(dá)式模式的信息,請(qǐng)參閱Java API文檔java.util.regex.Pattern.


13.????Specify the project type you wish the template to be associated with. The project type id can be found by looking at the project types contributed to the buildDefinitions extension point. For more information about project types, see?New project information in the What's New in CDT Build section, especially the section "What are the general project type entries?". This attribute is mandatory.

指定模板將要關(guān)聯(lián)的項(xiàng)目類型(project type),項(xiàng)目類型id可以從提供給buildDefinitions擴(kuò)展點(diǎn)的所有項(xiàng)目類型中找到.更多關(guān)于項(xiàng)目類型的信息,請(qǐng)參照New project information in the What's New in CDT Build section,特別是"What are the general project type entries?"這部分.這個(gè)屬性是必須的.


14.????Specify the?pagesAfterTemplateSelectionProvider, which is a fully qualified name of the class that implementsorg.eclipse.cdt.ui.templateengine.IPagesAfterTemplateSelectionProvider?interface. This is an optional attribute.

指定pagesAfterTemplateSelectionProvider,這是一個(gè)完整實(shí)現(xiàn)了org.eclipse.cdt.ui.templateengine.IPagesAfterTemplateSelectionProvider接口的類名.這是一個(gè)可選屬性.

譯注:既然是可選的,這個(gè)類我就暫時(shí)空著沒填,不知道如何實(shí)現(xiàn)這個(gè)接口類.

After creating the plug-ins and registering the templates, launch a runtime workbench and invoke the New Project wizard to check that the template you added is listed.

在創(chuàng)建了插件并注冊(cè)了模板以后,啟動(dòng)一個(gè)runtime workbench并觸發(fā)新項(xiàng)目向?qū)б则?yàn)證新添加的模板在列表中.

File → New → Project... → C Project

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末法焰,一起剝皮案震驚了整個(gè)濱河市腋腮,隨后出現(xiàn)的幾起案子僵朗,更是在濱河造成了極大的恐慌,老刑警劉巖邻悬,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異耕渴,居然都是意外死亡拘悦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門橱脸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來础米,“玉大人,你說我怎么就攤上這事添诉∑ㄉ#” “怎么了?”我有些...
    開封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵栏赴,是天一觀的道長(zhǎng)蘑斧。 經(jīng)常有香客問我,道長(zhǎng)须眷,這世上最難降的妖魔是什么竖瘾? 我笑而不...
    開封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮花颗,結(jié)果婚禮上捕传,老公的妹妹穿的比我還像新娘。我一直安慰自己扩劝,他們只是感情好庸论,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開白布职辅。 她就那樣靜靜地躺著,像睡著了一般聂示。 火紅的嫁衣襯著肌膚如雪域携。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天鱼喉,我揣著相機(jī)與錄音秀鞭,去河邊找鬼。 笑死扛禽,一個(gè)胖子當(dāng)著我的面吹牛气筋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播旋圆,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼宠默,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了灵巧?” 一聲冷哼從身側(cè)響起搀矫,我...
    開封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎刻肄,沒想到半個(gè)月后瓤球,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡敏弃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年卦羡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片麦到。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绿饵,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瓶颠,到底是詐尸還是另有隱情拟赊,我是刑警寧澤,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布粹淋,位于F島的核電站吸祟,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏桃移。R本人自食惡果不足惜屋匕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望借杰。 院中可真熱鬧过吻,春花似錦、人聲如沸第步。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽粘都。三九已至廓推,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間翩隧,已是汗流浹背樊展。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留堆生,地道東北人专缠。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像淑仆,于是被迫代替她去往敵國(guó)和親涝婉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,308評(píng)論 0 10
  • Be True蔗怠,Be Mate......
    TrueMate閱讀 142評(píng)論 0 1
  • 25歲已成年 心里無瀲滟 手間泛金錢 夢(mèng)里全是情 活著易覺累 這樣的我啊 到底想點(diǎn)啥 25歲已熟練 肩上是責(zé)任 懷...
    一米白楊閱讀 443評(píng)論 3 11
  • 走到超市的酸奶柜墩弯,各種各樣的酸奶琳瑯滿目,每個(gè)人到這里都能買到自己理想價(jià)位的酸奶寞射。每次買的時(shí)候渔工,我就在想:“到底兩...
    大張冰閱讀 169評(píng)論 0 1
  • 藝術(shù)作品沒有實(shí)效性 繪畫作品被界定為藝術(shù)作品我認(rèn)為必須具備幾個(gè)方面的條件:1、繪畫作品必須是手工繪制或特殊工具創(chuàng)作...
    戴建華油畫閱讀 329評(píng)論 0 0