eclipse去除定义变量自动补全

2024-08-21 23:38

本文主要是介绍eclipse去除定义变量自动补全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Eclipse自动补全设置与Eclipse源代码下载

以前使用VisualStudio和Sublime写代码的时候有很完善的代码提示,但是最近开始使用Eclipse弄JAVA的时候发现它的代码提示不是很习惯。上网找了一些资料,修改了代码提示的方式,记录在博客上供大家查阅。

本文主要参考了以下文章

http://www.cnblogs.com/a-zx/p/3388041.html

本文基于

Eclipse Java EE IDE for Web Developers.

Version: Luna Service Release 2 (4.4.2)
Build id: 20150219-0600

进行解释。

设置代码提示

打开 Eclipse 依次选择 Window -> Perferences -> Java -> Editor -> Content Assist,Auto activation triggers for Java:设置框中默认是"."   

现在将它改为:

  .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_

有老版本的Eclipse不支持定义这么多触发器,可以通过修改配置文件实现,网上资料很多。

然后你就会发现Eclipse可以使用更智能的代码提示了。但是现在有一个比较大的问题是,Eclipse智能过头了,它总想帮我们完成一些我们不想要的代码补完。比如按“=”和空格以后就会自动补完代码,这对很多人真的不能忍。

幸好Eclipse是开源软件,解决办法是直接修改代码提示功能的源代码,以完成我们需要的功能。

首先打开window->show view,选择Plug-ins,再找到org.eclipse.jface.text,右键单击,选择import as-> Source Project,导入完成后,在你的workspace就可以看到这个project了。如果没有src这个文件夹,说明你使用的版本中没有带源代码,我正好也是这种情况。

源代码可以去这个地址下载(找了我好久好久)

http://archive.eclipse.org/eclipse/downloads/

在页面上选择你Eclipse版本的连接(我使用的是4.4.2),然后在新页面中下载eclipse-SDK-(*************).zip,根据自己的需要选择合适的版本下载,大概200M左右。下载完成以后解压缩,在.\eclipse\plugins\文件夹下找到  org.eclipse.jface.text.source_3.9.2.v20141003-1326.jar  (这是对应我使用的Eclipse版本的文件,实际请根据你自己的版本进行选择),将这个文件复制到你自己的Eclipse安装目录下的.\eclipse\plugins\文件夹下,然后重新启动Eclipse。重复上面的操作导入(import)org.eclipse.jface.text,此时就能够看到src文件夹了。

在src文件夹下org.eclipse.jface.text.contentassist.CompletionProposalPopup#verifyKey()”函数中有一段代码:

if(contains(triggers, key)){

...

}

将这段代码改为

if(key!=0x20&& key!='='&& key!=';'&& contains(triggers, key)){

    ...

}

还有把这段代码之上的代码

case'\t':
e.doit=false;
fProposalShell.setFocus();
returnfalse;

修改为

case'\t':
    e.doit=false;
    insertSelectedProposalWithMask(e.stateMask);
    break;

 如图:

 修改为

经过上述操作,这个辅助输入插件已经排除了空格与“=”的选中功能,增加了TAB键的选中功能。最后就是导出修改后的插件,右键点击你的workspace里的工程,选择Export->Deployable plugins and fragments,点击Next,选择Destination选项卡,选择Directory,选择一个要保存插件的目录,然后Finish。然后就会在你所选的目录下产生一个新的plugins目录,里面有一个jar文件,用它替换掉eclipse/plugins里面的org.eclipse.jface.text,记得覆盖前对原文件进行备份。然后重新启动Eclipse。

 

如果不想自己下载与修改文件,我这里直接提供修改好的jar包,直接进行覆盖就好了。我的版本是org.eclipse.jface.text.source_3.9.2.v20141003-1326.jar

百度云盘   http://pan.baidu.com/s/1kTl8r2J

GitHub    https://github.com/PelloZhang/org.eclipse.jface.text

这篇关于eclipse去除定义变量自动补全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094618

相关文章

Python之变量命名规则详解

《Python之变量命名规则详解》Python变量命名需遵守语法规范(字母开头、不使用关键字),遵循三要(自解释、明确功能)和三不要(避免缩写、语法错误、滥用下划线)原则,确保代码易读易维护... 目录1. 硬性规则2. “三要” 原则2.1. 要体现变量的 “实际作用”,拒绝 “无意义命名”2.2. 要让

JAVA实现Token自动续期机制的示例代码

《JAVA实现Token自动续期机制的示例代码》本文主要介绍了JAVA实现Token自动续期机制的示例代码,通过动态调整会话生命周期平衡安全性与用户体验,解决固定有效期Token带来的风险与不便,感兴... 目录1. 固定有效期Token的内在局限性2. 自动续期机制:兼顾安全与体验的解决方案3. 总结PS

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

基于Redis自动过期的流处理暂停机制

《基于Redis自动过期的流处理暂停机制》基于Redis自动过期的流处理暂停机制是一种高效、可靠且易于实现的解决方案,防止延时过大的数据影响实时处理自动恢复处理,以避免积压的数据影响实时性,下面就来详... 目录核心思路代码实现1. 初始化Redis连接和键前缀2. 接收数据时检查暂停状态3. 检测到延时过

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

Django中的函数视图和类视图以及路由的定义方式

《Django中的函数视图和类视图以及路由的定义方式》Django视图分函数视图和类视图,前者用函数处理请求,后者继承View类定义方法,路由使用path()、re_path()或url(),通过in... 目录函数视图类视图路由总路由函数视图的路由类视图定义路由总结Django允许接收的请求方法http