打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
解决 eclipse 启用增强的自动补全后, 在声明变量时对变量名称进行的扰人的补全行为

一直在 Visual Studio 下混, 最近开始写 java, 于是用起了 eclipse, 很多地方都不错

但是因为习惯了 vs 下的 "intellisense", 于是在 eclipse 下把补全的触发(Auto activation triggers for Java)由 '.' 改为 'a-zA-Z.', 以模拟之

总的来说, 表现与预期一致, 只有一个地方很别扭, 即在声明变量时, ide 会对变量名称触发补全, 而且该补全很容易被误选中, 在实际使用中非常让人困扰.

 

幸好 eclipse 是一个开源项目, 而且基于插件机制, 为定制行为提供了很好的支持, 于是花了两天时间, 研究了一下, 找到了解决方案, 提供如下, 献给跟我一样困扰的朋友:

 

1. 下载带完整 source 的 eclipse, 比如 eclipse-SDK-3.6-win32
2. 进入 Plug-in Development 视图
3. 找到 org.eclipse.jdt.core 包, 右键 Import As ... Source Project
4. 转到导入的项目: org.eclipse.jdt.core, 找到类 org.eclipse.jdt.internal.codeassist.CompletionEngine, 其中方法 completionOnFieldName 跟 completionOnLocalOrArgumentName 是跟声明变量时变量名补全有关, 它们最终会调用到方法 findVariableName, 在该方法中定义有内部接口对象 INamingRequestor, 修改这个对象的 accept 方法可以影响到 JDT 对补全的最终处理
5. 我做了一个简单的转换, 即在 accept 函数头插入一句 name = new char[] {}; 清除 JDT 传入的补全结果, 从而取消了变量声明时扰人的补全的提示
6. 修改完毕后, 在项目 org.eclipse.jdt.core 上右键 Export ... Deployable plug-ins and fragments, 把导出的定制过的 org.eclipse.jdt.core 包覆盖到 eclipse 的 plugins 下即解决问题

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
eclipse遇到Anerrorhasoccurred.Seethelogfile
Eclipse插件开发中创建java工程的代码
了解 Eclipse 插件如何使用 OSGi
java--遇到NoSuchMethodError通用解决思路
Eclipse扩展点介绍
Hadoop2.x eclipse plugin插件编译安装配置【转】
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服