2011-04-01 52 views
2

我有一個基本的類,我經常進行擴展。我認爲在創建新文件時添加擴展模板作爲選擇會很好。我去了Eclipse-> Preferences-> PHP-> Code Style-> Code Templates,並決定複製並修改「Simple php file」。所以我導出了該模板並將其打開。它看起來像這樣:使用context = php_new_file_context編寫Eclipse PDT的代碼模板

​​

我編輯的文件,看起來像這樣:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<templates> 
    <template autoinsert="true" context="php_new_file_context" 
     deleted="false" description="PHP Item subclass file" enabled="true" 
     id="org.eclipse.php.ui.editor.templates.php.itemclass" name="Item subclass file"> 
     &lt;?php 
     /** 
     * ${enter description} 
     * @author: My Name 
     * @version: 
     **/ 
     class ${classname} extends Item { 
      const PKEY='${pkey}'; //name of primary key variable 
      const TABLE='${table}'; //name of db table 

      //db table vars 
      $${pkey}; 
      $${name}; 

      //history vars 


      public static function who() { 
       return __CLASS__; 
      } 

     } 
     ?&gt; 
    </template> 
</templates> 

然後我保存爲item.xml,並試圖將其導入。導入沒有發生錯誤,但新的模板沒有顯示在列表中。我唯一能想到的是,我爲id屬性選擇的字符串是有問題的。但是我無法找到正確創作模板的任何參考。要麼我的google-fu失敗,要麼我試圖做我不應該做的事情;我不知道。

想法?

回答

4

您在這裏遇到的問題是變量名稱中存在空格,模板的第三行${enter description}這是eclipse不允許的,但這些變量將不會被考慮用於自動填充。

儘管它不會讓你導入它們,因爲它是一個不再受支持的功能,如stated in their bugtracker。您可以使用當前的模板系統,這將允許您將變量添加到自動填充。要使用它,你必須去PHP > Editor > Templates。然後,您將創建一個新的模板,其中包含您想要的名稱,當您開始在新的php文件中輸入時,如果您從自動完成中選擇它。

+0

感謝您的錯誤鏈接。我最終會按照你的建議來做,但我認爲這是一種解決方法,而不是一種新的做事方式。我希望他們儘快消除以舊的方式做事的可能性;它只是混淆了事情。 – dnagirl 2011-06-14 13:08:16

+0

謝謝你。我想知道爲什麼我不能添加自己的模板。 – 2014-02-19 04:39:16

+0

想要看到此功能的用戶請回到eclipse的網站上投票。 – Meogi 2016-05-11 17:47:21