这是我要移植的Eclipse模板:
${:import(org.apache.log4j.Logger)}
private static final Logger LOG = Logger.getLogger(${enclosing_type}.class);
我在IDEA的当前版本如下:
private static final Logger LOG = Logger.getLogger($CLASS_NAME$.class);$END$
where $CLASS_NAME$配置为className()用作其表达式.
不幸的是,我没有找到任何关于添加import语句的文档.有没有相当于Eclipse的东西${:import(...)}?
如何设置可以在Eclipse模板中使用的$ {date}变量的格式?
我需要在IntelliJ IDEA项目中创建一个示例代码模板,以便团队中的每个人也可以在IDE中导入它并使用它.
我可以通过自己更改"类"模板在我自己的机器上完成它,但我没有办法让它可供我的团队使用,例如将其导出到可以使用的文件,在Eclipse中它是可以有一个sampleCodeFormatter.xml文件,每个人都可以在他们的eclipse工作区中导入.
IntelliJ IDEA中的相同功能如何?
是否有一些模板或东西来实现iterface方法访问包装成员?
例如,假设我有
public class MyClass implements List<Something> {
    private final List<Something> core;
...
}
现在我想List<Something>通过将调用传递给包装来实现
@Override
public int size() {
    return core.size();
}
等等.
我在Eclipse中有这个代码模板
@since $ {date}
输入时我得到这样的东西:
@since 4.8.2009
但是当我向NetBeans 添加相同的模板(@since $ {date})时,它会输出
@since日期
有人可以帮忙吗?
还没有答案?这在Netbeans中是不可能的???
我已经在Delphi中编程了两年多了,而且我只有5个自定义模板,我觉得我应该有更多.
如果有人有任何特别有用的,那么在stackoverflow上有一个很好的存储库就好了.
我不在乎您是使用Delphi 2009语法还是Delphi 7,但如果您生成的代码仅适用于特定版本,请提及.
T4是C#/ VB.NET的"官方"代码生成引擎.但F#不支持它(这是从四月开始,但我找不到任何新的提及).那么生成F#代码的好方法是什么?
编辑:
我想在F#中实现2-3个手指树.我已经在C#中实现了它们,所以这应该是一个很好的比较.树的"数字"和节点可以表示为数组,因此
type 't FingerTree = Empty | Single of 't | Deep of 't array * (('t FingerTree) array) lazy * 't array
但是,这些数组的最大大小非常小,所以很高兴
type 't Digit = Digit1 of 't | Digit2 of 't*'t | Digit3 of 't*'t*'t | Digit4 of 't*'t*'t*'t
type 't Node = Node2 of 't FingerTree * 't FingerTree | Node3 of 't FingerTree * 't FingerTree * 't FingerTree 
type 't FingerTree = Empty | Single of …假设我有一个Erlang函数,带有spec.
-spec foo(integer(), string()) ->
      boolean().
foo(_Integer, _String) ->
      true.
我的梦想是自动从Emacs中的这些信息中生成edoc.生成的代码应如下所示:
%%--------------------------------------------------------------------
%% @doc
%% Your description goes here
%% @spec foo(_Integer::integer(), _String::string()) ->
%%%      boolean()
%% @end
%%--------------------------------------------------------------------
-spec foo(integer(), string()) ->
      boolean().
foo(_Integer, _String) ->
      true.
是否存在类似的功能?
不同的Delphi版本(在我的情况下,2007,XE和XE2)似乎使用相同的代码模板存储库,例如..\Documents\RAD Studio\code_templates.由于XE2使用命名空间单元,因此当必须在模板中使用单元名称时,这会导致问题.
例如,当我写入时winbeep,我有一个模板,它完成windows.Beep(300, 100);并选择和停止频率等.这不会在XE2上编译,除非我删除uses子句Winapi.中的Windows单元部分(或者当然手动添加前缀).我必须有单位名称,因为否则SysUtils.Beep会被引用.
我找不到选项条目或注册表项或指定模板位置的环境变量.它甚至没有关系BDSUSERDIR,事实上我甚至没有在我的计算机中有一个目录BDSUSERDIR(这是..\Documents\RAD Studio\9.0).这是我的疏忽,实际上有重新定位代码模板的选项吗?如果没有,是否可以让IDE在新表单的uses子句中使用单元别名?
编辑:
此处声明(我强调)"您创建的模板(以及第三方加载项提供的模板)默认保存在\ My Documents\RAD Studio\code templates \目录中." 这意味着应该有办法将它们保存在非默认的地方.但文章没有提到如何.
我创建了一个代码模板来添加记录器和相应的导入:
${:import(org.apache.log4j.Logger)}
private static final Logger logger = Logger.getLogger(${enclosing_type}.class);
如果我现在添加它,记录器总是从行的开头开始,即使我的光标已经缩进了。有没有办法强制放置在光标位置?
这是一个屏幕截图来显示我的意思:

====>>>>

编辑:格罗夫的回答在这个特定案例中有所帮助。但是这个例子怎么样呢?我还想向记录器添加评论。如果我在同一行中定义这样的模板,那么记录器实际上会与注释出现在同一行中。
${:import(org.apache.log4j.Logger)}
/**
 *  Logger
 */ private static final Logger logger = Logger.getLogger(${enclosing_type}.class);
code-templates ×10
eclipse ×4
java ×3
delphi ×2
code-assist ×1
date ×1
delphi-xe2 ×1
emacs ×1
erlang ×1
f# ×1
indentation ×1
netbeans ×1
php ×1
t4 ×1
variables ×1
wrapper ×1