IntelliJ Static Import Completion

2019-01-17 09:32发布

In Eclipse I was able to register a set of classes for static import auto-completion, e.g. Math., Assert., EasyMock.*

With this enabled I was able to hit ctrl-space assertEquals, pow, createMock etc. would appear as valid code completions.

I'm struggling to find this in IntelliJ but am sure it must exist. Can anyone help?

Thanks!

6条回答
Lonely孤独者°
2楼-- · 2019-01-17 09:34

In OS X you need to do a option + return.

查看更多
等我变得足够好
3楼-- · 2019-01-17 09:36

For Intellij 12 just hit <ctrl + spacebar(twice)>. Then to import the method statically hit <alt + return>. Otherwise just hitting enter will insert the fully qualified name of the method.

Update: Sometimes just using <alt + return> works too.

查看更多
混吃等死
4楼-- · 2019-01-17 09:42

If you're using IntelliJ 10, try the following:

assEq<Ctrl-Alt-Space>

Accepting a suggestion from the resulting popup list will, by default, insert a ClassName.methodName() reference (which you can convert to a static import using an Alt-Enter intention).

You can also insert a statically imported method from the completion list by choosing "Right" in the completion menu, and selecting "Import Statically":

enter image description here

Note that once you've statically imported a single method from a class (Assert.assertSame), other static methods from that class (like Assert.assertEquals) will be included in the "regular" code completion (Ctrl-Space).

查看更多
兄弟一词,经得起流年.
5楼-- · 2019-01-17 09:42

Just do the reference once, then put the caret on the class name (ie Math), press alt+enter and choose "add on demand static import for 'java.lang.Math'. Intellij will add

import static java.lang.Math.*;

to the top of the file.

查看更多
男人必须洒脱
6楼-- · 2019-01-17 09:48

Alt + Enter will do the trick. You have to have the whole expression at first, and the hit Alt + Enter on the method you want to statically import.

statically import IntelliJ

查看更多
你好瞎i
7楼-- · 2019-01-17 09:50

Version >= 11:

Settings -> Code Style -> Java -> Imports (tab).

Version < 11

Settings -> Code Style -> Imports

In the middle of the pane is the "Packages to Use Import with '*'" table. You can add an entry here of a fully-qualified class name, and tick the static box; now all static methods in this class will be available for auto-completion.

(I'm not sure how the static import works with specifying a package, as I've never tried it, but I don't see why it wouldn't. Specifying a super-package and ticking the "with subpackages" option could be even more interesting.)

查看更多
登录 后发表回答