解决 eclipse 自动补齐变量名时加上类型后缀的问题

November 5, 2014

很多人在使用 eclipse 的时候,会时候自动补齐变量名,这样在编码的时候,能加快编码的速度。但是默认的自动补齐有的时候很恶心,特别是在你定义变量的时候,自动在变量名的后面加上类型的后缀。其实加后缀这个提示挺好的,但是并一定符合每个人的习惯,或者每个公司的代码规范,所以还是想办法去掉。

大体的办法是修改 eclipse 的插件。

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

--- EOF ---

添加新评论