是否可以编辑Eclipse命令

时间:2017-04-06 20:30:50

标签: java eclipse

在我的java类中,有一些部分称为保留部分,由我们的代码生成器生成。

我需要编辑eclipse 组织导入(ctrl + shift + o),以便将添加的所有导入添加到这些部分。

以下是我的代码中导入保留部分的示例:

// ---------- <preserved_begin id="fF2sdA.imports" />
// ---------- <preserved_begin id="fF2sdA.imports" />

我需要在这两行之间添加所有新的导入。

所以,例如我有以下情况:

import java.util.*;
// ---------- <preserved_begin id="fF2sdA.imports" />
// ---------- <preserved_begin id="fF2sdA.imports" />
Customer customer = new Customer();

当我使用组织导入命令时,我得到:

import java.util.*;
import com.example.Customer
// ---------- <preserved_begin id="fF2sdA.imports" />
// ---------- <preserved_begin id="fF2sdA.imports" />
Customer customer = new Customer();

而且,我想:

import java.util.*;
// ---------- <preserved_begin id="fF2sdA.imports" />
import com.example.Customer
// ---------- <preserved_begin id="fF2sdA.imports" />
Customer customer = new Customer();

我发现你可以创建新的命令但是,有没有办法编辑或扩展eclipse命令,如果可以的话,你能指出一些很好的文献来解释这个过程。

1 个答案:

答案 0 :(得分:0)

如eclipse help page中所述,

  

Ctrl + Shift + O

     

目前在编译单元中组织导入声明   打开或选择。删除不必要的导入声明,并且   必需的导入声明按照组织中的指定进行排序   导入首选项页面(窗口&gt;首选项&gt; Java&gt;组织   进口)。组织导入可以在不完整的源和意志上执行   当引用的类型名称无法唯一映射到a时提示您   输入当前项目。您还可以组织多个   通过在包上调用操作或选择一个来编译单元   编译单元集。

默认情况下,排序如下 enter image description here

Ctrl + Shift + o

之前考虑以下代码段
package com.somepackage.test;
// comment 1

import java.util.HashMap; // redundant

//comment 2

import java.util.Map; // redundant

//comment 3

import java.util.Scanner;
import java.util.StringTokenizer;

//comment 4

import org.xml.*; // redundant

//comment 5

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

//comment 6

Ctrl + Shift + o之后的片段

package com.somepackage.test;

import java.io.IOException; // required and newly added
import java.util.ArrayList; // required and newly added
import java.util.LinkedList; // required and newly added

//comment 3

import java.util.Scanner;
import java.util.StringTokenizer;

//comment 5

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.somepackage.hello.Hello2;  // required and newly added

//comment 6

正如您必须注意到的,Organize imports首先搜索所有冗余导入,并逐行删除无效导入以及注释,直到它达到有效导入。
在此之后,它按照preferences中提到的顺序添加所有必需的导入(参见图像)。

所以,请回答您的问题,无法在某些评论部分之间添加导入。你必须手动完成。