关于eclipse的代码提示Content Assist

最近安装了Eclipse 2019-03版本,发现自动提示太奇怪,查了查发现相关资料不多,连查带试研究了下,好像是这个版本不自带Code Recommenders插件了,最好装一下,里面的字符片段匹配挺好用的。

打开Help菜单里的Marketplace搜索Code Recommenders安装;

关于eclipse的代码提示Content Assist_第1张图片

Code Recommenders里面带上面那个Snipmatch功能;

关于eclipse的代码提示Content Assist_第2张图片

它的片段匹配就像这种(eclipse自己的不能这样匹配):

关于eclipse的代码提示Content Assist_第3张图片

 

ok,下面研究下Content Assist,打开Window>>Preferences,选java>>Editor>>Content Assist;

关于eclipse的代码提示Content Assist_第4张图片

先看一下Content Assist下面的Advanced。(后面带Code Recommenders的是插件的)

关于eclipse的代码提示Content Assist_第5张图片

代码提示有两种,一种是在任意位置敲“Alt+/”打开提示,一种是输入“.”后的自动提示。不管用哪种方式打开,首次打开的页面就是default页(使用Default Proposal Kinds里的勾选的匹配),eclipse会把Default里勾选的全都匹配然后都显示在default页里。打开default页后再次按“Alt+/”会轮询到下一页(defalut页下面的“Press‘Alt+/’to show java Proposals”提示下一页是啥)。

关于eclipse的代码提示Content Assist_第6张图片

轮询顺序是根据下面那块Content Assist cycling里的配置,轮询勾选的并按照从上到下顺序,可以手动Up和Down调整顺序,轮询一遍又回到default页继续重复轮询。

 

下面看下Content Assist,分三块Insertion、Sortion and Filtering、Auto Activation。

关于eclipse的代码提示Content Assist_第7张图片

1.Insertion

a.插入的填充方式

勾选Completion inserts,插入提示的时候直接插入,后面字符后移:

关于eclipse的代码提示Content Assist_第8张图片插入后后面的ddd不覆盖。

勾选Completion overwrites,插入提示的时候把后面字符覆盖掉(后面字符有底色):

插入后后面字符都覆盖了。

有提示页的时候按住Ctrl会临时切换到另一个选项,然后选提示后回车插入。

b.候选匹配只剩一个的时候是否自动填充

勾选,当只剩一个匹配的时候Alt+/会直接填充上去:

按alt+/后

c.全部候选匹配前面字符都一致的时候是否填充一致的字符

测试:

关于eclipse的代码提示Content Assist_第9张图片

不勾选按Alt+/后关于eclipse的代码提示Content Assist_第10张图片,不会填充show里的ow;

勾选后按Alt+/后关于eclipse的代码提示Content Assist_第11张图片sh后面多了ow;

d.是否只在敲回车后填充

不勾选按“(”、“空格”、“回车”都会填充,勾选只有按“Enter”才填充。

e.导入方式

不勾选,全名方式:

按Alt+/回车

勾选,使用import导入:

Alt+/并回车后关于eclipse的代码提示Content Assist_第12张图片

f.填充的方法参数填充方式

勾选Insert parameter names,将方法定义的参数名填入:

回车

勾选Inser best guessed arguments,将从代码上下文找最匹配的参数填入,找不到会填入0或者null:

提示并回车

 

2.Sorting and Filetering

a.匹配候选排序方式

relevance按相关性排(通常用这个);

alphabetically按照字母表顺序排;

b.驼峰匹配

测试:

关于eclipse的代码提示Content Assist_第13张图片

勾选匹配:

Alt+/匹配了X___Y___(如果此时也勾选了填充common Prefixes会填充成XYy)

c.匹配子字符串

勾选:

关于eclipse的代码提示Content Assist_第14张图片

不勾选:

这里用Code Recommenders插件比较好用。

d.是否隐藏不可访问的匹配

不勾选会把私有的等访问不到的匹配也显示:

关于eclipse的代码提示Content Assist_第15张图片

e.是否隐藏不建议使用的引用

emmmm暂时没发现啥用。

 

3.auto activation

a.启用自动提示

b.延迟多少毫秒自动提示

c.啥时开始自动提示

输入“.”后自动提示default页,可以改成“.qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM”,在输入“.”或者任意字母后都自动提示(不用老按Alt+/了)

关于eclipse的代码提示Content Assist_第16张图片

d.啥时开始文档注释的自动提示

默认是在文档注释里按“@”或者“#”的时候:

关于eclipse的代码提示Content Assist_第17张图片关于eclipse的代码提示Content Assist_第18张图片

 

 

参考:

https://www.oschina.net/question/876638_2304663

https://stackoverflow.com/questions/4824168/what-does-insert-common-prefixes-automatically-do-in-eclipse

你可能感兴趣的:(其他)