我有一个基本课程,我经常延伸。我认为在创建新文件时添加扩展模板作为选择会很好。我去了Eclipse-> Preferences-> PHP-> Code Style-> Code Templates并决定复制和修改“Simple php file”。所以我导出了该模板并将其打开。它看起来像这样:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<templates>
<template autoinsert="true" context="php_new_file_context"
deleted="false" description="Simple php file" enabled="true"
id="org.eclipse.php.ui.editor.templates.php.author" name="New simple PHP file">
<?php
${cursor}
?>
</template>
</templates>
我编辑的文件看起来像这样:
<?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">
<?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__;
}
}
?>
</template>
</templates>
然后我将其保存为item.xml并尝试导入它。导入没有错误,但新模板没有显示在列表中。我唯一能想到的是我为id属性选择的字符串是有问题的。但我找不到任何关于正确创作模板的参考资料。我的google-fu失败了,或者我正在尝试做一些我不应该做的事;我不知道。
想法?
答案 0 :(得分:4)
你遇到的问题是变量名称中有一个空格,模板的第三行${enter description}
,这是eclipse不允许的,但这些变量不会被考虑自动填充。
尽管如此,它不会让你导入它们,因为它是一个不再受支持的功能,如stated in their bugtracker。您可以使用当前模板系统,这将允许您将变量添加到自动填充。要使用它,您必须转到PHP > Editor > Templates
。然后,您将创建一个新模板,其中包含您想要的名称,当您开始在新的php文件中键入它时,如果您从自动完成中选择它。