代码之家  ›  专栏  ›  技术社区  ›  Betlista

Eclipse中项目的Java模板

  •  5
  • Betlista  · 技术社区  · 11 年前

    是否可以使在Eclipse中创建(Java)文件更容易/更快。

    我知道有“创建新类向导”,但它对于我的“特殊”需求来说很慢。。。

    我有一个特定的项目,我经常在其中创建新的类,但这些类的结构是相同的。假设我想创建类 A ,所以我想要文件 A.java 将创建为

    class A {
        public static void main(String[] args) {
        }
        static int solve() {
        }
    }
    

    这也是完美的 ATest.java 例如,为该类创建

    class ATest {
        @Test
        int test1() {
            Assert.assertEquals(0, A.solve());
        }
    }
    

    或者Eclipse有这样的插件吗?

    3 回复  |  直到 10 年前
        1
  •  2
  •   LeenaLatesh    11 年前

    是的,您可以尝试使用 FastCode 插件,您可以根据需要创建新模板。由于FastCode插件支持自定义模板,下面是如何一起创建上述类和测试类的示例:

    <template name="CREATE_NEW_CLASS">
            <description>Used to Create class in the specified package.</description>
            <allowed-file-names>*.*</allowed-file-names>
            <first-template-item>package</first-template-item>
            <second-template-item>none</second-template-item>
            <additional-parameters>className</additional-parameters>
            <template-body>
                <![CDATA[
                <fc:class type="class" name="${className}" package="${package.name}" project="${package.javaProject}">
                public class ${className} {
                public static void main(String[] args) {
                    }
                    static int solve() {
                    }
                }
                </fc:class>
                <fc:class type="test" name="${className}Test" package="${package.name}" project="${package.javaProject}">
                public class ${className}Test {
                @Test
                    int test1(){
                        Assert.assertEquals(0, ${className}.solve());
                    }
                }
                </fc:class>
            ]]>
        </template-body>
    </template>
    

    添加模板后,需要使用中的import选项进行导入 template preference page 如文件中所述。

        2
  •  1
  •   E-Riz    11 年前

    是的,这是相对简单的设置。打开项目财产并导航到 Java代码样式 > 代码模板 部分完成后,选中该框以启用项目特定的设置。所需的生成模板位于 密码 树的一部分;你想要的 类正文 。它可能为空,但单击 编辑 按钮进行修改。

    enter image description here

    使用“新建类”向导时,在“编辑”对话框中输入的任何内容都将插入到类的括号之间。

    我不知道如何自动创建另一个类(在您的例子中是Test)。但是Eclipse有一个JUnit向导,它使这项工作非常容易。只需右键单击一个类并选择 > 另外 然后找到 Junit测试用例 在列表中。该向导将指导您创建测试类,包括选择要测试的方法。

    注意:这些说明仅为您选择的项目设置模板。您也可以为整个工作区的首选项设置相同的设置,但这样做无法共享该配置,因此签出到另一个工作区的同一项目将使用该配置。我通常建议在每个项目的基础上进行这些设置。

        3
  •  0
  •   mattbdean    11 年前

    我不确定您是否需要一个特定于IDE的模板。当我通过欧拉项目时,我有一个这样的设置:

    public interface Problem {
        public Object solve();
    }
    
    public class MyProblem implements Problem {
        @Override
        public Object solve() {
            // do some stuff
            return result;
        }
    }
    

    然后在(JUnit?)测试中,可以使用

    Assert.assertEquals(expected, myProblemInstance.solve());
    

    你可以看到我的实现 here


    如果你 使用IDE模板,您将无法使用泛型 solve() 方法,因为不能保证该类具有该方法。我强烈建议使用接口。