Idea开发插件
Alibaba Cloud AI Coding Assistant
阿里云智能编码插件(Alibaba Cloud AI Coding Assistant)是一款AI编程助手,它提供代码智能补全和代码示例搜索能力,帮助你更快更高效地写出高质量代码。
让我觉得比较有意思的是能够通过你想实现的功能描述搜索github开源的全网优质开源代码作为参考,非常赞。
官网地址:https://alibaba-cloud-toolkit.github.io/cosy
Alibaba Java Coding Guidelines
Alibaba Java Coding Guidelines 是一个专注于Java代码规范的开发者社区项目,目的是让开发者在编写Java代码时更加规范、更加可读、更加可维护。
规范主要包括以下几个方面:
命名约定:规定了Java类、方法、变量等命名的规范,要求所有名称以小写字母开头,单词之间用下划线分隔,同时禁止使用汉语、拼音、拼英混拼等不规范的命名方式。
编码规范:规定了Java代码的格式和风格,包括代码缩进、空格使用、注释格式等,要求开发者按照统一的规范编写代码。
异常处理:规定了Java代码中异常处理的规范,要求开发者在处理异常时使用适当的语言表达式、异常对象、异常超类等,避免程序崩溃或产生不良后果。
并发编程:规定了Java并发编程的规范,包括线程安全、锁机制、并发编程技巧等,要求开发者编写出高效、安全、可靠的并发程序。
测试驱动开发:规定了Java测试驱动开发的规范,要求开发者在编写代码时始终以测试为导向,编写出高效、可靠、易于维护的代码。
相关的规范说明有具体的资源可以学习参考:https://github.com/alibaba/p3c/blob/master/Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C(%E9%BB%84%E5%B1%B1%E7%89%88).pdf
对于有些规范能够进行一键自动修复,这个功能不错,就是能自动修复的缺陷有限。
lombok
Lombok通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,如java对象的set和get函数。
使用lombok需要工程pom文件依赖lombok包和装lombok插件,装插件的原因是idea本身无法识别lombok的语法,因此在团队内使用lombok需要通知到位,最新的idea版本默认带了lombok插件,所以只需要pom文件更新依赖即可。
以下是代码示例
import lombok.Data;
@Data
public class Example {
private String name;
private int age;
public Example(String name, int age) {
this.name = name;
this.age = age;
}
public static void main(String[] args) {
Example example = new Example("John", 30);
System.out.println(example.getName());
System.out.println(example.getAge());
}
}
MyBatis-Plus
MyBatis-Plus 是一个 MyBatis 增强版工具,在 MyBatis 上扩充了其他功能没有改变其基本功能,为了简化开发提交效率而存在。
MyBatis-Plus 主要有以下特点:
简化开发:MyBatis-Plus 只做增强不做改变,为简化开发、提高效率而生。
无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。
损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作,BaseMapper 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求,简单的CRUD操作不用自己编写。
支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错。
内置性能分析插件:可输出 SQL 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询。
因此觉得以前使用MyBatis需要配置大量xml文件很繁琐,使用这个插件会非常爽,前提你对这些通用内置sql操作足够熟悉,避免因为使用通过内置sql操作出现bug。
官网地址:https://www.baomidou.com/
Maven Helper
Maven Helper 插件是一个用于排查 Maven 项目中 JAR 包冲突的插件。它提供了一些便捷的功能,可以帮助开发人员更快速、更有效地排查和解决 JAR 包冲突问题。以下是 Maven Helper 插件的一些主要特性:
快速查找和排除冲突的依赖项:Maven Helper 可以帮助开发人员快速找到和排除冲突的依赖项。只需右键点击 pom.xml 文件并选择 “Find Conflicts” 或 “Find Dependencies” 选项,即可查看项目中依赖的 JAR 包及其版本。
运行 Maven 命令:Maven Helper 可以运行 Maven 命令,以检查项目的依赖关系并解决冲突。只需右键点击 pom.xml 文件并选择 “Run Maven” 或 “Run Maven with Dependency Checks” 选项,即可运行 Maven 命令并查看输出结果。
调试 Maven 构建过程:Maven Helper 可以帮助开发人员调试 Maven 构建过程中的问题。只需右键点击 pom.xml 文件并选择 “Run Maven” 或 “Run Maven with Dependency Checks” 选项,并在输出结果中查找错误信息,即可逐步排查问题并解决冲突。
搜索 JAR 包:Maven Helper 可以帮助开发人员在项目中搜索特定的 JAR 包。只需右键点击项目中的 JAR 包并选择 “Find in Libraries” 或 “Find in Archives” 选项,即可搜索并列出项目中所有引用该 JAR 包的地方。
Rainbow Brackets
Rainbow Brackets是一个文本编辑器插件,用于帮助程序员识别代码中括号(包括圆括号、方括号和大括号)的嵌套层次。该插件通过在括号周围添加不同颜色的高亮显示来实现这一目的。在编写代码时,括号的嵌套层次很容易混淆,特别是当代码变得越来越复杂时。使用 Rainbow Brackets,程序员可以快速准确地识别括号的嵌套层次,从而更轻松地编写和维护代码。
Rainbow Brackets 支持多种文本编辑器,包括 Visual Studio Code、Sublime Text、Atom等。它是一个开源项目,可以免费下载和使用。
除了高亮显示括号嵌套层次,Rainbow Brackets 还提供了其他功能,如:
支持自定义颜色:用户可以根据自己的喜好或者需要,自定义括号的颜色。
智能提示:当程序员在括号周围输入空格或其他字符时,Rainbow Brackets 会自动提示可能的嵌套层次。
折叠功能:当程序员在括号周围输入空格或其他字符时,可以折叠括号以便更好地阅读代码。
代码高亮显示:当程序员在括号周围输入空格或其他字符时,可以将括号及其内容高亮显示,以便更好地阅读和编辑代码。
metricsreload
metricsreload 是一款开源的代码复杂度度量工具,可以用于评估代码的复杂性。它基于 Cyclomatic Complexity 算法,可以计算代码的圈复杂度、测试用例数、方法复杂度等多种复杂度指标。
追求代码极致性能/代码需要的插件。
题外话:AI辅助工具
Cursor
Cursor AI是一个基于人工智能的代码生成器,它可以根据用户的输入或需求,自动生成或修改代码,也可以和用户交流,解释或优化代码。Cursor AI支持多种编程语言,如 Python, Java, C#, JavaScript 等,并且可以在不同的操作系统上运行,如 Mac, Windows, Linux 等。
Cursor AI的工作原理是基于人工智能的自然语言处理和代码生成技术。它使用了 GPT-4 这个强大的深度学习模型,它可以根据大量的文本数据,学习语言的规律和模式,并且可以根据给定的输入,生成符合语法和逻辑的文本输出。Cursor AI利用 GPT-4 的能力,训练了一个专门用于编程的模型,它可以理解用户的输入,生成或修改相应的代码,也可以回答用户的问题,解释或优化代码。Cursor AI还可以根据用户的反馈,不断调整和改进自己的模型,提高生成代码的质量和准确性。
安装登录官网 https://www.cursor.so/ 下载安装 Cursor。笔者使用的是Mac版本,安装完成后,打开 Cursor,就可以看到一个简洁的编辑器界面。使用之前我们需要新注册一个Cursor账号使用注册后的账号登录Cursor。
使用Cursor AI的核心功能是生成或编辑代码和和代码对话。我们只需掌握两个快捷键 ⌘+K :生成或编辑代码,在弹出的对话框中输入你想要生成或修改的代码的描述。例如“写一个冒泡排序算法”或“优化这段代码” ⌘+L :和代码对话,在弹出的对话框中输入你想要问的问题。例如选中某段代码,输入 “这段代码是做什么的”或“这段代码有什么问题”。
遗憾的是目前不支持Idea,看软件框架主要依赖VS Code。