[TOC]
增强代码提示功能
找到设置位置:
Window -> Preferences -> Java -> Editor -> Content Assist
.将
Auto Activation
下的Auto activation triggers for Java
(默认为.
) 改为._abcdefghijklmnopqrstuvwsyzABCDEFGHIJKLMNOPQRSTUVWSYZ
. (若此时发现, 输入一个字符时依然没有弹出自动提示的框框, 则继续执行下一步)转到:
Window -> Preferences -> Java -> Editor -> Content Assist -> Advanced
.在上边那个大框中, 将
Java Proposals
与Java Proposals (Task-Focused)
勾选上.
PS: 介绍一下 Java Proposals
这些选项的含义:
选项 | 含义 |
---|---|
Java Type Proposals |
类名, 关键字的提示 |
Java Non-Type Proposals |
其实就是变量名的提示 |
Java Proposals |
Java Non-Type Proposals 与 Java Type Proposals 的并集 |
Java Proposals (Task-Focused) |
不太清楚, 感觉和 Java Proposals 差不多 |
(当同时勾选Java Type Proposals
Java Non-Type Proposals
Java Proposals
时, 重启 Eclipse 会发现 Java Non-Type Proposals
与 Java Type Proposals
被取消勾选, 验证了三者关系)
此时代码补全提示应该如下图正常显示:
解决自动变量命名问题
增强代码提示后有个 bug, 即给变量命名时亦会自动补全, 就很蠢. 如下图:
此时不论按 =
还是 ;
, 变量都会自动补全, 被命名为 abcdBigInteger
.
解决方案:
这个 bug 产生于 Eclipse 自带的 org.eclipse.jface.text
插件. 我们可以在 Window -> Show View -> Other... -> Plug-in Development -> Plug-ins
视图下找到这个插件.
网上有的教程的做法是, 在 Plug-ins
视图下右键该插件然后 Import As -> Source Project
. 但该方法已经无法使用, 因为导入的工程现在没有源码只有 .jar
文件.
1. 获取工程
所以我们要去官网下载插件源码. 插件官网, 插件下载(eclipse.platform.text-I20190325-1800.zip).
在下载的压缩包中找到 org.eclipse.jface.text
工程文件夹, 解压到工作区并打开.
2. 修改代码
在 src
下找到 CompletionProposalPopup.java
(如图)并打开.
Ctrl+F
搜索 if (contains(triggers, key)) {
, 并将其修改: 1
2
3
4将
if (contains(triggers, key)) {
修改为
if (key != '=' && key != ' ' && key != ';' && contains(triggers, key)) {
目的很明显, 当我们输入 =
;
时不再自动补全. 以此曲线救国达到命名变量时不补全的目的...
3. 导出插件
File -> Export -> Deployable plug-ins and fragments
桌面上产生了一个 plugins
文件夹. 打开该文件夹, 即是插件文件.
打开 Eclipse 安装目录下的 plugins
文件夹. 搜索 org.eclipse.jface.text
, 把搜索得的老插件删了, 把刚导出的修改版插件放进去.
重启 Eclipse 即可.
法二(更方便)
打开window -> Preference ->Java -> Editor -> Content Assist
.
勾选 Disable insertion triggers except 'Enter'
.