当前位置: 首页 > news >正文

IDEA 使用技巧

文章目录

  • 语言支持
    • 简化编写 有问题,可暂时跳过
  • 个人常用快捷键
  • 插件
    • 主题插件
    • 功能插件
  • 碰到过的问题

除了一些在Linux上用vim开发的大佬,idea算是很友好的集成开发工具了,功能全面,使用也很广泛。
记录一下我的 IDEA 使用技巧,以后想到什么会继续更新这个

语言支持

我主要用IDEA开发java,不知道idea对其他语言是否也有这些支持,所以感兴趣的可以看一下

简化编写 有问题,可暂时跳过

  1. sout 快速生成Java打印语句 System.out.println();

  2. 变量或字面量.var 回车可初始化变量
    这个可以起到类似类型推断的作用,对java这种强类型而且强声明的很有用

    String string = "string"
    
  3. 数字.fori 回车 快速生成fori语句

    for (int i = 1; i <= 1000; i++) {}
    
  4. 输入 list.for 回车,即可得到

    for (Object item : list) {}
    
  5. 输入 if 然后按 Tab 键,即可生成空if语句

    if () {}
    
  6. 在“System.out.println();”之后输入 .try 回车即可生成

    try {System.out.println();
    } catch (Exception e) {throw new RuntimeException(e);
    }
    

个人常用快捷键

首先我的系统是windows,所以如果是比如mac之类的其他系统,那么快捷键多多少少会发生一变化,mac用户可跳过或者自己找下对应的。
并且这里说的是idea 预设的快捷键,我没有改快捷键的习惯。虽然有些快捷键确实单手不好操作。当然其他开发工具也可以看,idea预设的快捷键应该和JetBrains其他开发工具比如pycharm、webstorm是一样的,还有vscode、hbuilder不是jb的,但是也可以设置成jb的快捷键。
0. 补充一些通用的快捷键,这些是windows应该通用的,没有什么说的必要。比如 Ctrl + A 全选,ctrlc Ctrl + C 复制, Ctrl + V 粘贴, Ctrl + Z 撤销操作,Ctrl + F文件内搜索 …… 下面正题:

  1. Ctrl + Shift + N 定位文件跳转
    这个在项目比较大的时候非常有用,当一个文件夹有一长溜文件夹或者文件,这时候你一个个看名字找,那就很难顶了,这时候我会用个快捷键去快速定位到那个文件并打开。下面贴个图看看
    在这里插入图片描述
    其实这个通配符有没有都一样,等价于.yml
    在这里插入图片描述
    可以定位某个文件夹的某个文件

  2. Ctrl + D 复制代码。
    如果没有选中内容,将当前行复制贴到下一行。如果选中内容,把选中内容贴到下一行。这个大家自己试一试就知道效果了。

  3. Ctrl + Alt + S 打开设置。
    老实说这个并没什么用,因为设置的入口很多,最有用的大概就是它是个快捷键了,如果你把菜单之类的隐藏,通过快捷键依旧可以打开设置,又保证了外观符合自己口味。

  4. Ctrl + Alt + L 格式化代码。
    这个有点类似ctrl + d,常用两种用法,直接ctrl + alt + l,此时会把整个文件格式化,第二种是如果有选中内容,只把选中的内容格式化。

  5. Ctrl + Shift + F 全局搜索。
    这个也是非常常用的功能。会在当前项目文件夹所有文件内容去搜索匹配的内容,理论上预设就是这个,如果用不了那么可能是快捷键冲突了,比如搜狗输入法有个快捷键相同,需要关闭。
    还有一些操作,见图。
    在这里插入图片描述
    首先这个是下面是文件编辑区,是可以直接编辑的,单击可以打开对应的文件编辑区,双击才会跳到该文件的该位置。
    在这里插入图片描述
    然后看这个文件掩码,它是对搜索的文件的文件名进行筛选。看我的候选历史记录就知道,它支持通配符。

  6. 暂时就这样……想到再记

插件

主题插件

主题插件可以改变外观的样式、语法的高亮、背景等等,所以考虑因数包括支持的语言、语言高亮颜色是否中意、是否全面,亮色或暗色……如下只是个人喜好。
需要注意的是,启用主题插件需要重启IDEA,而且重启之后需要到 设置 → 外观与行为 → 外观 → 主题 去选择那个插件的主题,样式才会生效。

  1. Hiberbee Theme
  2. Extra ToolWindow Colorful Icons
  3. One Dark theme
  4. Rider UI Theme Pack

功能插件

其实还有更多的插件是很好用的,但是收费,穷人支持不起,或者有人不介意收费也行,比如mybatisx可以换成mybatiscodehelper,还有个Restful Fast Request-API Buddy,这个能在idea里面对接口一键添加参数,然后请求该接口,也就是postman的idea版。

  1. Chinese (Simplified) Language Pack/中文语言包 官方的翻译插件
  2. GitHub Copilot GitHub的ai生成插件,需要学生认证或者交钱,当然用其他的ai插件也可以
  3. Grep Console 控制台过滤器,支持高亮,但是全英文。讲道理我也没仔细使用过
  4. GsonFormatPlus 在实体类中alt + s?大概是这个快捷键,贴一个接口的返回结果,解析出接口的类型和字段写在实体类里
  5. MyBatisX 写在mapper.java里可以生成查询到mapper.xml中,二者可以互相跳转,好像还有表结构生成mvc文件的功能,具体也不太会用。
  6. Translation 这个也是国人的,用处是在控制台、英文文件之类的地方右键会有一个翻译,可以选中内容右键翻译
  7. 未完待续……

碰到过的问题

这里仅说一下我碰到过的问题,做个记录。当然,很多也忘了。

  1. IDEA 运行卡顿
    在这里插入图片描述
    如上图中,idea的项目页面,设置有一个编辑自定义vm选项,里面可以做一些配置,当然我的idea还算新的,不记得以前是否也有这个了,如果没有那么需要去安装文件夹找idea.vmoptions,一般是编辑64位的那个文件,现在电脑应该都是64位,具体怎么配置就不说了,搜可以搜到很多

  2. 未完待续……

相关文章:

  • javaEE -15( 13000字 JavaScript入门 - 2)
  • 【Linux】服务器间免登陆访问
  • docker安装Kafka,SpringBoot整合Kafka
  • IOC课程整理-11 Spring 资源管理
  • Failed to launch task: 文件”Setup”不存在 Mac安装Adobe软件报错解决方案
  • 微服务的定义
  • string【C++】
  • 数据库 | 看这一篇就够了!最全MySQL数据库知识框架!
  • Spring MVC(Next-2)
  • 十种排序算法(1) - 准备测试函数和工具
  • 生态扩展Spark Doris Connector
  • 突破防火墙的一种方法
  • linux下构建rocketmq-dashboard多架构镜像——筑梦之路
  • AM@二阶线性微分方程 @二阶常系数齐次线性微分方程的解@n阶推广
  • C语言 指针
  • JavaScript 如何正确处理 Unicode 编码问题!
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • Angular6错误 Service: No provider for Renderer2
  • Effective Java 笔记(一)
  • Netty 4.1 源代码学习:线程模型
  • 服务器之间,相同帐号,实现免密钥登录
  • 面试总结JavaScript篇
  • 判断客户端类型,Android,iOS,PC
  • 一份游戏开发学习路线
  • 组复制官方翻译九、Group Replication Technical Details
  • ​力扣解法汇总946-验证栈序列
  • #{}和${}的区别是什么 -- java面试
  • #Linux(权限管理)
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (13):Silverlight 2 数据与通信之WebRequest
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (十一)c52学习之旅-动态数码管
  • (学习日记)2024.01.19
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET 服务 ServiceController
  • @Controller和@RestController的区别?
  • @开发者,一文搞懂什么是 C# 计时器!
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [ 手记 ] 关于tomcat开机启动设置问题
  • []我的函数库
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [22]. 括号生成
  • [BIZ] - 1.金融交易系统特点
  • [ccc3.0][数字钥匙] UWB配置和使用(二)
  • [ITIL学习笔记]之事件管理(2)
  • [jQuery]使用jQuery.Validate进行客户端验证(中级篇-上)——不使用微软验证控件的理由...
  • [linux运维] 利用zabbix监控linux高危命令并发送告警(基于Zabbix 6)
  • [Loadrunner参数化]一个文件输两列参数的取值
  • [NKCTF 2024]web解析
  • [nlp] id2str的vocab.json转换为str2id
  • [Vue] TodoList 案例