IDEA高效实践(下)

简介: 八、构建蛋变成鸡的一步,怎样处理好一个蛋,一窝蛋?


八、构建


蛋变成鸡的一步,怎样处理好一个蛋,一窝蛋?


1. 构建

  • 构建项目:Build | Build Project (Ctrl+F9
  • 重新构建项目:Build | Rebuild Project (Ctrl+Shift+F9
  • 构建Module:Build | Build Module


2. 运行

在菜单 Run 下面会有相关运行的操作,可以在 Run | Edit Configurations 中管理配置各种运行方式。

  • 运行/调试:Shift + F10/F9
  • 运行/调试当前光标所在主方法:Ctrl+Shift + F10/F9
  • 运行/调试列表:Alt+Shift + F10/F9
  • 停止/重启:Ctrl + F2/F5


2.1 Main

如果代码中存在Main方法,并以Main方法形式启动,打开Main方法所有类,除了使用 Alt+F10Alt+Shift+F10 启动之外,也可以单击类名或方法名所在的运行Gutter图标。

如果想要全屏或者分屏显示运行日志,可以把运行工具窗口的 View Mode 设置成 Window 模式。


2.2 Tomcat

如果Web项目要使用Tomcat启动,则先要配置Tomcat Server运行方式,在 Run | Edit Configurations 添加该运行方式,在添加列表中选择 Tomcat Server | Local,配置好后即可运行。

在配置之前需要在本地下载Tomcat,在 Edit Configurations 配置中可以不仅可以添加运行方式,还可以对每个运行方式进行其他配置,比如:VM Options 等。


3. 调试

使用Debug启动可以快速定位问题,打断点步进调试是每个开发人员必备的技能,这里不多说,常用快捷键:

  • 每行执行:F8
  • 进入方法:F7
  • 跳出方法:Shift+F8
  • 执行到下一个断点:F9
  • 跳转到当前执行的断点位置:Alt+F10
  • 计算表达式:Alt+F8


技巧

  • 在断点停止的时候可以使用计算表达式来调试断点前的数据。

微信图片11.gif

  • 不小心跳过了自己想要调试的断点,可以使用 Drop Frame 来删除当前栈帧,来重新执行方法。

微信图片12.jpg

  • 在栈帧窗口(Frames)右击,可以使用 Force Return 来强制返回当前方法,或使用 Throw Exception 来抛出异常,也可以右击变量(Variables)来修改变量的值以达到调试结果。


九、工具



IDEA不仅仅只是一个写代码的软件,还拥有开发过程中经常使用的工具。


1. 数据库

视图工具栏 View | Tool Windows | Database 中可以找到Database工具,点击Toolbar上的加号可以添加数据源,配置好服务器和驱动后就可以使用了,打开 Console 输入SQL,使用 Ctrl+Enter 执行。

微信图片13.jpg


2. 服务器管理

工具栏 Tools | Deployment | Browse Remote Host 菜单打开Remote Host工具,点击 ... 配置服务器,配置好了之后就可以操作 Remote Host 的文件树了。


微信图片14.png


3. HTTP客户端

在任何目录下都可以右击新建文件的时候创建 New HTTP Request 文件来编写HTTP报文来请求和测试HTTP接口,推荐在test目录下创建。创建测试文件如下:

GET http://localhost:80/api/item?id=99
Accept: application/json

点击每个请求报文左侧的运行Gutter图标就可以发送请求,同样创建POST请求:

POST http://localhost:80/api/item?id=99
Content-Type: application/x-www-form-urlencoded
id=1&name=2&gender=1&mobile=1413131212

可以在请求报文中使用环境变量,使用{{var}}来引用变量,变量可以在配置文件(http-client.env.jsonrest-client.env.json)中定义:

{
    "local": {
        "host": "http://localhost:8080",
        "x_token": "token"
    },
    "test": {
        "host": "http://10.250.1.122:8087",
        "x_token": "token"
    }
}

在运行的时候选择不同的环境使用不同的变量:

POST {{host}}/api/item
Content-Type: application/json
{
    "name": "ajn",
    "age": 24
}

变量也可以在响应脚本中使用client.global.set设置和使用client.global.get获取。

可以使用响应脚本来测试HTTP请求,脚本使用Javascript语言编写:

GET https://httpbin.org/status/404
Accept: application/json
> {%
    client.test("Request executed successfully", function() {
        client.assert(response.status === 200, "Response status is not 200");
         });
%}

响应脚本API详解:

  • client:客户端对象
  • set(string, object):设置变量
  • get(string):获取变量
  • isEmpty():判断全局变量是否为空
  • clear(string):清除某个变量
  • clearAll():清除所有变量
  • global:全局变量属性
  • test(string, function):测试函数
  • assert(boolean, string):断言函数
  • log(string):输出日志函数
  • response:响应对象
  • body:响应体
  • headers:响应头
  • status:响应状态码
  • contentType:响应的ContentType头


4. SSH会话

工具栏 Tool | Start SSH session 菜单可以新建SSH会话,在前面服务器管理中如果创建了服务器,会自动添加该服务器的SSH会话。

微信图片14.png


十、插件



强大的功能,还远远不够,一个合格的软件,都应支持功能自由地扩展。


1. Lombok

Lombok插件支持代码中使用Lombok注解编译生成Get和Set等方法,该插件不仅支持注解,它在菜单中添加了两个功能:

  • Refactor | Lombok:插入Lombok注解
  • Refactor | Delombok:将Lombok注解生成代码


2. Alibaba Java Coding Guidelines

该插件是结合阿里巴巴Java开发规约而出的,主要功能用于检测代码是否条例阿里开发规范,它结合了IDEA的纠错功能可以快速定位问题和修复问题,在菜单中添加的功能有:

  • Tool | 阿里编码规约

微信图片_20220518143004.gif

阿里规约插件提示的问题也可以使用 Alt+Enter 来寻找解决办法。


技巧

  • 根据阿里规约,快速分析代码并一键修复。


3. CamelCase

CamelCase添加一个快捷键 Alt+Shift+U来修改标识符的下划线、小驼峰、大驼峰等格式,并支持批量转换。

微信图片16.gif


按住 Alt+Shift 使用鼠标单击可以选择多选编辑。


4. Easy Code

Easy Code插件可以根据数据库表和模板来生成代码,可以解决编写重复底层代码的问题。添加的设置项有:

  • 配置编码和作者名称:Other Settings | Easy Code
  • 配置类型映射:Other Settings | Easy Code | Type Mapper
  • 配置模板:Other Settings | Easy Code | Template Setting
  • 配置全局模板:Other Settings | Easy Code | Global Config

只需在 Database 工具栏选中一个或多个表,右击 EasyCode | Generate Code 就可以生成代码,针对单表配置类型映射可以右击 EasyCode | Config Table 来配置。

微信图片17.jpg


5. GenerateAllSetter

该插件可以一键调用对象的所有Setter方法,在新建对象实例后使用 Alt+Enter 弹出面板中菜单:

  • 创建似有Setter不带默认值:Generate all setter no default value
  • 创建似有Setter带默认值:Generate all setter with default value

微信图片18.jpg


6. Maven Helper


该插件用于Maven管理,可以分析Maven依赖结构和执行Maven生命周期,添加快捷键 Ctrl+Alt+R 来运行Maven生命周期,可以在 File | Settings | Other Settings | Maven Helper 中进行设置,另外一个功能就是在pom.xml文件下方添加了一个Dependency Analyzer标签,可以用来分析Maven依赖,可以查看和解决Maven依赖冲突。

微信图片19.jpg


7. MyBatisX


MyBatisX插件主要增强了IDEA对MyBatis框架的支持,可以在 File | Settings | Other Settings | Mybatis 进行设置,它添加的功能有:

  • 检验Mapper层的代码逻辑
  • 添加Mapper层接口与XML文件跳转功能的Gutter图标
  • 快速根据接口生成XML标签
  • 接口参数生成 @Param 注解

微信图片_20220518143032.jpg


8. RestfulToolkit


该插件是管理Restful接口的工具集,它提供的功能有:

  • 使用快捷键 Ctrl+\ 来根据URL来跳转到方法定义
  • 提供了一个接口的树形窗口
  • 提供了一个简单的HTTP请求工具
  • 在请求方法上生成特殊字符串并复制的功能
  • 复制K-V形式的QueryString:Generate & Copy Query Param (Key value)
  • 复制JSON形式的请求体:Generate & Copy RequestBody (JSON)
  • 复制相对路径URL:Generate & Copy Relation URL
  • 复制全路径URL:Generate & Copy Full URL
  • 在Java类上生成JSON并复制的功能
  • 复制压缩格式的JSON:Convert to JSON(Compressed)
  • 复制JSON:Convert to JSON

微信图片21.jpg


目录
相关文章
|
4月前
|
搜索推荐 Java Maven
Netbeans入门实践类IDEA风格下
Netbeans入门实践类IDEA风格下; 配置文件模板Templates, user, date, time; 解决Open Project, 中文乱码GBK
52 1
|
4月前
|
IDE Java Apache
Netbeans入门实践类IDEA风格上
Java IDE, NetBeans, IDEA, Eclipse, Netbeans入门实践类IDEA风格上篇 遇到并解决问题1, NetBeans Error, Cannot find Java 1.8 or higher.
72 1
|
4月前
|
IDE Java 编译器
为什么IDEA建议使用“+”拼接字符串:技术背后的真相与实践
【8月更文挑战第12天】在Java编程中,字符串拼接是一个常见的操作,而关于使用“+”操作符还是StringBuilder类进行字符串拼接的讨论也从未停止。有趣的是,现代集成开发环境(IDE),如IntelliJ IDEA,有时会建议将StringBuilder的使用替换为简单的“+”拼接字符串。这一建议背后,隐藏着怎样的技术考量和实践经验呢?本文将深入探讨这一话题,为您揭示IDEA如此建议的原因。
43 0
|
Cloud Native 网络协议 Java
云原生之容器编排实践-通过IDEA连接Docker服务
云原生之容器编排实践-通过IDEA连接Docker服务
296 0
|
网络协议 Java Unix
实践一下,用IDEA自动化部署Docker镜像,并没有你想象中的那么难
1、Docker开启远程访问 [root@izwz9eftauv7x69f5jvi96z docker]# vim /lib/systemd/system/docker.service #修改ExecStart这行 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
|
XML IDE Java
一周实践终于完成IDEA安装spring,最强心得
一周实践终于完成IDEA安装spring,最强心得
302 0
一周实践终于完成IDEA安装spring,最强心得
|
IDE 前端开发 Java
IDEA高效实践(上)
IDEA(IntelliJ IDEA)是业界公认的最好开发工具之一,当然好不好也因人而异,也不要刻意去争谁强谁弱,高手往往不在乎手中的兵器是什么的。个人而言,更高效的工具适合每个开发人员,在编写代码的时候花的时间少,就有更多的时间去设计代码,当然,使用一个陌生的IDE,效率肯定是比不上自己熟练的IDE的,所以为了节省诸君的学习成本,也为了更快地去接纳和熟练IDEA,所以周末之余,故作此文。---- 一品江南
368 0
IDEA高效实践(上)
|
SQL JSON 安全
IDEA高效实践(中)
四、导航 想去哪儿就去哪儿,定位问题与查阅代码都很方便。
403 0
IDEA高效实践(中)
|
Java 程序员 API
Demo Show | 蚂蚁金服 mPaaS IDEA 插件实践
本文将结合上周在 JetBrains 开发者大会分享的《mPaaS IDEA 插件实践》,深入展开 mPaaS 在 IDEA 插件开发之路上踩过的坑和沉淀的思考,希望能够带来一些参考性。
1964 0
|
5月前
|
IDE Oracle Java
day4:JDK、IntelliJ IDEA的安装和环境变量配置
【7月更文挑战第4天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
229 0