有没有办法让Eclipse在没有自动完成的情况下添加静态导入?

gat*_*ado 9 eclipse eclipse-jdt

Eclipse可以使用"on-save"操作添加明确的类,但它不会解析静态函数.我并不总是使用自动完成功能,并且返回触发它是很麻烦的.

例如,我经常写代码

printDebug("my value", my_obj);
Run Code Online (Sandbox Code Playgroud)

我想让它自动添加

import static util.DebugOut.printDebug;
Run Code Online (Sandbox Code Playgroud)

注意:重申一下,我不是在寻找(a)需要的任何东西ctrl+space,(b)自动导入课程

Mar*_*ers 9

我知道这并不完全符合你的要求,但我想我还是会发布它.我建议使用Eclipse模板来完成你想要完成的任务.例如,如果我想要Math.sin()像静态导入一样使用,我会使用以下模板:

${:importStatic(java.lang.Math.sin)}sin(${cursor});
Run Code Online (Sandbox Code Playgroud)

对于您,您想要按照以下步骤操作:

  • 转到Windows->首选项
  • 在Java-> Editor-> Templates下,单击"New ..."
  • 快速命名模板,例如"printDebug"或"debug".填写说明
  • 指定下面的模式,然后单击"确定","确定".
  • 要使用,请键入"debug"(或其他名称),然后键入CTRL-Space.

图案:

${:importStatic(util.DebugOut.printDebug)}printDebug(${someString},${someObject});
Run Code Online (Sandbox Code Playgroud)

说明:importStatic如果可以解析该变量并且不与现有导入冲突,则该变量将添加指定的静态导入. someStringsomeObject提示用户(您)用真实表达式替换这些值,并允许您切换到下一个值.

有了这个,你可能会发现它比最后的自动导入要快得多.

编辑

至于你的"实际"问题,你可能会发现以下内容是相关的.它本质上是重复的.


Kon*_*hik 5

请参阅Window-> Preferences-> Java-> Editor-> Content Assist-> Favorites.