当前位置: 首页 > 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. 未完待续……

相关文章:

IDEA 使用技巧

文章目录 语言支持简化编写 有问题&#xff0c;可暂时跳过 个人常用快捷键插件主题插件功能插件 碰到过的问题 除了一些在Linux上用vim开发的大佬&#xff0c;idea算是很友好的集成开发工具了&#xff0c;功能全面&#xff0c;使用也很广泛。 记录一下我的 IDEA 使用技巧&#…...

安防监控项目---web网页通过A9控制Zigbee终端节点的风扇

文章目录 前言一、zigbee的CGI接口二、请求线程和硬件控制三、现象展示总结 前言 书接上期&#xff0c;我们可以看一下前面的功能设计的部分&#xff0c;网页端的控制还有一个&#xff0c;那就是通过网页来控制zigbee上的风扇节点&#xff0c;这部分的工作量是相当大的&#x…...

Ubuntu 22.04 在登录界面循环

问题描述 https://blog.csdn.net/weixin_44023406/article/details/134092271?spm1001.2014.3001.5502 接上一篇&#xff0c;磁盘满了&#xff0c;扩展空间之后能正常开机&#xff0c;进到登录界面&#xff0c;输密码3秒后又回到登录界面 分析解决问题 命令行能登录&#…...

【C++ 系列文章 -- 程序员考试 201805 下午场 C++ 专题 】

文章目录 1.1 C 题目六1.1.1 填空&#xff08;1&#xff09;详解1.1.1.1 C 纯虚函数介绍 1.1.2 填空&#xff08;2&#xff09;详解1.1.2.1 父类声明了带参构造函数1.1.2.2 子类中构造函数的构造原则 1.1.3 填空&#xff08;3&#xff09;详解1.1.4 填空&#xff08;4&#xff…...

Python如何使用datetime模块进行日期和时间的操作

目录 一、引言 二、datetime模块的基本使用 三、日期的运算 四、注意事项 总结 本文将对Python的datetime模块进行深入探讨&#xff0c;阐述如何使用该模块进行日期和时间的各种操作。我们将介绍日期和时间的基本操作&#xff0c;以及格式化、时区处理等高级操作&#xff…...

flutter之bloc使用详解

flutter中一切皆为Widget&#xff0c;因此在我们开发中&#xff0c;往往业务和UI逻辑写在一起&#xff0c;这样不利于代码维护&#xff0c;因此状态管理框架久诞生了&#xff0c;这篇就开始讲一讲Bloc。 对于Bloc库有两个&#xff0c;如下图&#xff1a; flutter_bloc其实是对…...

记一次 .NET 某工厂无人车调度系统 线程爆高分析

一&#xff1a;背景 1. 讲故事 前些天有位朋友找到我&#xff0c;说他程序中的线程数爆高&#xff0c;让我帮忙看下怎么回事&#xff0c;这种线程数爆高的情况找问题相对比较容易&#xff0c;就让朋友丢一个dump给我&#xff0c;看看便知。 二&#xff1a;为什么会爆高 1. …...

高等数学啃书汇总重难点(九)多元函数微分法及其应用

下册最重要也是个人认为偏恶心的一节&#xff08;主要东西是真不少....&#xff09;重点在于会计算偏导、能理解全微分及隐函数求导3个核心内容&#xff0c;至于后面的关于几何层面的应用&#xff0c;建议掌握计算方法即可&#xff0c;学有余力再死磕推导过程等内容~ 1.平面点集…...

Vue3前端100个必要的知识点

为什么是必要的&#xff0c;就是这100个知识点学完后&#xff0c;能独立完成一个小项目。最终能得到一个解决方案。也算是前端知识的积累。如果后面有需要的地方可以回来查。100个其实比较多&#xff0c;我会按新手老鸟&#xff0c;大神来分成3个等级&#xff0c;话不多说&…...

CCS3列表和超链接样式

在默认状态下&#xff0c;超链接文本显示为蓝色、下画线效果&#xff0c;当鼠标指针移过超链接时显示为手形&#xff0c;访问过的超链接文本显示为紫色&#xff1b;而列表项目默认会缩进显示&#xff0c;并在左侧显示项目符号。在网页设计中&#xff0c;一般可以根据需要重新定…...

vue手机项目如何控制蓝牙连接

要控制蓝牙连接&#xff0c;您需要使用Vue的蓝牙插件或库&#xff0c;例如BLE-Peripheral或cordova-plugin-ble-central。以下是一些基本步骤&#xff1a; 导入蓝牙插件或库。在Vue组件中创建一个蓝牙对象并初始化它。扫描周围的蓝牙设备并连接到所需的设备。一旦连接成功&…...

遥遥领先,免费开源的django4-vue3项目

星域后台管理系统前端介绍 &#x1f33f;项目简介 本项目前端基于当下流行且常用的vue3作为主要技术栈进行开发&#xff0c;融合了typescript和element-plus-ui&#xff0c;提供暗黑模式和白昼模式两种主题以及全屏切换&#xff0c;开发bug少&#xff0c;简单易学&#xff0c…...

视频平台跨网级联视频压缩解决方案

一、 简介 视频监控领域对带宽有着较大的需求&#xff0c;这是因为视频流需要实时占用网络带宽资源。视频监控的传输带宽是组网结构的基础保障&#xff0c;关系到视频监控的稳定性、可靠性和可拓展性等因素。例如&#xff0c;720P的视频格式每路摄像头的比特率为2Mbps&#xff…...

利用python进行数据分析 pdf

利用python进行数据分析 pdf 介绍 在现代社会中&#xff0c;随着大数据时代的到来&#xff0c;数据分析的需求越来越大。而Python作为一门简洁且易于学习的编程语言&#xff0c;具有强大的数据分析能力&#xff0c;成为了广大数据分析师的首选工具之一。本文将指导一位刚入行的…...

Day46.算法训练

518. 零钱兑换 II class Solution {public int change(int amount, int[] coins) {int dp[] new int[amount 1];dp[0] 1;// 遍历物品for (int i 0; i < coins.length; i) {// 遍历背包 从小到大for (int j coins[i]; j < amount; j) {dp[j] dp[j - coins[i]]; …...

基于YOLOv8模型暗夜下人脸目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOv8模型暗夜下人脸目标检测系统可用于日常生活中检测与定位黑夜下人脸目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的目标检测&#xff0c;另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法…...

如何在 Photoshop 中使用位图模式制作自定义音乐海报

如何在 Photoshop 中使用位图创建炫酷的音乐海报设计。 1.如何设置新的 Photoshop 文件 步骤1 在 Photoshop中&#xff0c;转到 “文件”>“新建”。将文档命名为 “音乐海报”。 将宽度设置 为 1270 px &#xff0c; 高度 设置为 1600 px。将分辨率 设置 为 72 像素/英寸…...

1 — NLP 的文本预处理技术

一、说明 在本文中&#xff0c;我们将讨论以下主题&#xff1a;1为什么文本预处理很重要&#xff1f;2 文本预处理技术。这个文对预处理做一个完整化、程序化处理&#xff0c;这对NLP处理项目中有很大参考性。 二、为什么文本预处理很重要&#xff1f; 数据质量显着影响机器学习…...

TypeScript之泛型

一、是什么 泛型程序设计&#xff08;generic programming&#xff09;是程序设计语言的一种风格或范式 泛型允许我们在强类型程序设计语言中编写代码时使用一些以后才指定的类型&#xff0c;在实例化时作为参数指明这些类型 在typescript中&#xff0c;定义函数&#xff0c;…...

一个小妙招从Prompt菜鸟秒变专家!加州大学提出PromptAgent,帮你高效使用ChatGPT!

夕小瑶科技说 原创 作者 | 谢年年、王二狗 有了ChatGPT、GPT4之后&#xff0c;我们的工作学习效率得到大大提升&#xff08;特别在凑字数方面୧(๑•̀◡•́๑)૭&#xff09;。 作为一个工具&#xff0c;有人觉得好用&#xff0c;自然也有人觉得难用。 要把大模型用得6&am…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的&#xff1a;a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...

API网关Kong的鉴权与限流:高并发场景下的核心实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中&#xff0c;API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关&#xff0c;Kong凭借其插件化架构…...