如何使用Eclipse模板插入包声明?

时间:2014-01-16 12:27:01

标签: java eclipse templates

我的模板

package ${enclosing_package};
${is:importStatic('org.junit.Assert.*')}
${i:import( org.junit.Test)}
public class ${primary_type_name} {

    @Test
    public void test() {
        fail();
    }
}

我希望它产生什么

package com.example;

import static org.junit.Assert.*;
import org.junit.Test;

public class ExampleUTest {

    @Test
    public void test() {
        fail();
    }
}

实际产生的内容(导入下面的包声明,编译失败)

import static org.junit.Assert.*;
import org.junit.Test;

package com.example;

public class ExampleUTest {

    @Test
    public void test() {
        fail();
    }
}

我在空白的java文件中使用此模板。似乎模板总是将 import 语句放在文件顶部,如果有的话,在包声明下面,这确实有意义。

我想我的模板不能正常工作,因为它不知道我正在那条顶线上做一个包装声明,所以它就像任何其他代码行一样对待并把它放在之下进口

如何让它工作 - 是否存在明确执行包声明的变量,还是有另一种方式?

2 个答案:

答案 0 :(得分:0)

Code TemplatesNew Java files之类的内容有Preferences > Java > Code Style > Code Templates。新文件是Code部分New Java files

答案 1 :(得分:0)

看来,您无法在单个代码模板中同时创建“包”和“导入”模板。你可以做的是,创建两个单独的模板,因为import和package都是两个不同的上下文。