jetbrains 从 2021.2.3 版本开始需要用户登录之后才能使用,2021.2.2 版本以及之前的版本不用登录 ## 安装破解 1. 下载IDEA20210202 Ultimate 版本并安装 [IDEA官网下载地址](https://www.jetbrains.com/idea/download/other.html) 2. 打开IDEA,选择 Evaluate for free,点击 Evaluate 3. 之后安装插件 ide-eval-resetter,它会自动无限重置免费试用期限。 链接:https://pan.baidu.com/s/1Ro41Iwc7vKIlpOCmIs5haw?pwd=oe7o 提取码:oe7o ## 导出导入配置 ![image-20210821163628811](imgs/image-20210821163628811.png) ## 必备插件 插件可在IDEA官网搜索 https://plugins.jetbrains.com/ * [Lombok](https://github.com/mplushnikov/lombok-intellij-plugin) * 支持lombok的各种注解,从此不用写getter setter > idea2020.3之后,idea已经内置了lombok的功能 * **Free MyBatis plugin:**free-idea-mybatis 是一款增强idea对mybatis支持的插件,主要功能如下: - 生成mapper xml文件 - 快速从代码跳转到mapper及从mapper返回代码 - mybatis自动补全及语法错误提示 - 集成mybatis generator gui界面 * [MyBatis Log Plugin](https://plugins.jetbrains.com/plugin/10065-mybatis-log-plugin) * 把 mybatis 输出的sql日志还原成完整的sql语句。 * 将日志输出的sql语句中的问号 ? 替换成真正的参数值。 * 通过 "Tools -> MyBatis Log Plugin" 菜单或快捷键 "Ctrl+Shift+Alt+O" 启用。 * 点击窗口左边的 "Filter" 按钮,可以过滤不想要输出的sql语句。 * 点击窗口左边的 "Format Sql" 按钮,可以格式化输出的sql语句。 * 选中console的sql日志,右击 "Restore Sql from Selection" 菜单可以还原sql语句。 前提条件:输出的sql日志必须包含"Preparing:"和"Parameters:"才能正常解析。 * **Alibaba Java Coding Guidelines:** * 一款阿里巴巴公司试行的开发设计规范~,规范参考《阿里巴巴Java开发手册》 * **RestfulToolkit**:一套 RESTful 服务开发辅助工具集 1. 根据 URL 直接跳转到对应的方法定义,按 Ctrl+\ 或者 Ctrl+Alt+N 2. 提供了一个 Services tree 的显示窗口; 3. 一个简单的 http 请求工具; 4. 在请求方法上添加了有用功能: *复制生成 URL*;,*复制方法参数*... 5. 其他功能: java 类上添加 *Convert to JSON* 功能,*格式化 json 数据* ( *Windows: Ctrl + Enter; Mac: Command + Enter* )。 * **SonarLint**:是一个代码质量检测插件,可以帮助我们检测出代码中的**坏味道** * **关闭SonarLint的自动扫描:**File -> Settings -> Other Settings 的 SonarLint General Settings 中,勾掉 Automatically trigger analysis * **关闭4.6版本SonarLint的自动扫描**:File -> Settings -> Tools -> SonarLint ,勾掉 Automatically trigger analysis * **SequenceDiagram** 生成时序图 * 根据代码生成时序图 - 通过生成的时序图导航到代码 - 从时序图中删除某个类(不影响实际代码) - 将时序图导出为图像或 PlantUML 文件 * [.ignore](https://github.com/JetBrains/idea-gitignore) 各类版本控制忽略文件生成工具 * Rainbow Brackets:对各个对称括号进行着色,方便查看 * **GenerateAllSetter** * 一键调用一个对象的所有的set方法 * **CheckStyle-IDEA** * 检测无用导入、没写注释、语法错误、方法太长等等代码规范 * GsonFormat * JSON 转为bean ### 在线安装 File -> Settings -> Plugins 的 marketplace 直接搜索插件名称 ![IDEA插件在线安装](./imgs/idea插件在线安装.png) ### 离线安装 1. 在 [IDEA 官网搜索插件](https://plugins.jetbrains.com/) ![image-20201019163504966](imgs/image-20201019163504966.png) 2. 在 Versions 中选择适合的版本下载 ![image-20201019165512107](./imgs/image-20201019165512107.png) 3. IDEA离线安装插件 ![IDEA离线安装插件](imgs/image-20201019165421519.png) ### 使用说明 #### SonarLint >参考: >* https://www.cnblogs.com/it-deepinmind/p/13049913.html 1. **Method has 15 parameters, which is greater than 7 authorized.** 方法里有15个参数,最好不要超过7个 2. **Use static access with "com.alibaba.fastjson.JSON" for "parseObject".** 父类的静态成员不应该使用子类访问 :使用 com.alibaba.fastjson.JSON 访问静态方法 parseObject ```java JSONObject.parsetObject(jsonStr); ``` 原因:parseObject 是 JSONObject 父类 JSON 的静态方法 3. **Refactor this method to reduce its Cognitive Complexity from 22 to the 15 allowed.** 方法复杂度太高了 :重构该方法,降低它的复杂度,从22降低到建议的15 4. **Define a constant instead of duplicating this literal "total" 3 times.** 重复的字符串要定义常量 :定义一个常量,替换重复的字面值 total 5. **Rename this local variable to match the regular expression '^\[a-z\]\[a-zA-Z0-9\]*$'** 局部变量应该遵守命名规则。 ```java //错误例子 int a_b = 15; ``` 6. **Define and throw a dedicated excepiotn instead of using a generic one** 使用自定义异常替换一般异常 ```java //错误例子 throw new RuntimeException("参数错误"); //正确例子 throw new ParameterException("参数错误"); ```