【问题标题】:Eclipse "organize imports" changes the order of existing importsEclipse“组织导入”更改现有导入的顺序
【发布时间】:2012-10-11 16:22:17
【问题描述】:

使用 Eclipse Juno (3.8/4.2),当我按 ⇧⌘O (shift+ctrl+o) 时,它会根据 Organize Imports 首选项组织导入;美好的。 现在想象一下,我正在处理从 SVN 签出的一些源代码,并且我根据新类添加了一些代码,我希望 Eclipse 添加新的导入,而不会弄乱现有的导入顺序(为了清楚起见) )

例如:

package toto;

import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Observable;
import java.util.Observer;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;

import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;

import com.sun.jersey.api.client.AsyncWebResource;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.GenericType;
import com.sun.jersey.api.client.UniformInterfaceException;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
import com.sun.jersey.api.json.JSONConfiguration;

将安排在:

package toto;

import com.sun.jersey.api.client.AsyncWebResource;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.GenericType;
import com.sun.jersey.api.client.UniformInterfaceException;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
import com.sun.jersey.api.json.JSONConfiguration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Observable;
import java.util.Observer;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;

根据我的喜好。

我想避免这种情况,我只想为我添加的新代码添加必要的导入(我不想组织已经存在的导入),除了 Organize Imports 之外,还有其他方法吗? (我知道我可以单击需要新导入的新代码左侧的错误提示来添加它,但我想要一个键盘快捷键) 感谢您的帮助!

【问题讨论】:

  • 一旦组织起来,它就会保持组织有序并按此顺序排列。就这样检查吧。
  • 如果某些团队成员以不同的方式组织它; shift+ctrl+o 将根据当前组织导入首选项重新组织所有内容
  • 它可以设置为项目特定的偏好,但如果永远无法达成一致,我只是建议没有人改变它们。否则,按照 Bananeweizen 的建议。

标签: eclipse code-generation


【解决方案1】:

在错误标记上使用 CtrlShiftM 来修复丢失的导入,重复使用 Ctrl 跳转到下一个错误.。除了组织它们(您不想要)之外,没有其他方法可以一次性修复所有导入。

【讨论】:

    【解决方案2】:

    这不是一个单一的键盘快捷键,但您可以仅使用键盘执行您在一系列步骤中描述的操作:

    • 按Ctrl+. 转到代码中的下一个错误
    • 按Ctrl+1 显示快速修复
    • 按 Enter 添加导入。

    【讨论】:

    • 感谢您的回答,但我希望能够处理所有与导入相关的错误,例如 shift+ctrl+o...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 2015-07-17
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    相关资源
    最近更新 更多