IntelliJ IDEA 详细使用教程 – 主题,字体,类和方法注释设置

2023-11-05

IDEA是Java开发者最喜爱的开发工具之一,高端大气,智能化,个性化,每个开发者都喜欢设置自己喜欢的主题,字体,打造一个属于自己的IDE,本次介绍在IDEA中,如何设置主题,字体等样式,和添加类,方法注释,

  • Windows用户直接点击菜单看栏,File -> Setting,打开设置。

  • Mac用户点击IntelliJ IDEA -> Preferences,打开偏好设置。可以看到有如下设置项:

一、主题样式设置

1. 通过自带主题修改(系统自带4款,个人比较喜欢默认的这款Darcula)

2. 从官网下载主题插件

如果系统自带的没有你喜欢的,你可以去官网主题区选择自己喜欢的。

主题插件下载地址:https://plugins.jetbrains.com/search?tags=Theme

有付费和免费的主题,大家可以看看自己喜欢那个主题,直接复制主题名称,去IDEA插件下搜索,也可以直接下载下来,导入到IDEA中(后续文章有关于插件本地导入的方式演示)。

比如我想要使用“One Dark Theme”这个主题,可以通过IDEA中搜索,安装。安装完成后,点击Apply应用,Ok。

二、字体大小修改

打开设置窗口,Windows用户选择File -> Settings -> Editor -> Font,可以对我们的程序源码进行字体和行高进行设置。根据自己的习惯设置即可。

三、类和方法注释设置

类注释设置:打开设置,选择Editor -> File And Code Templates -> Files,选择Class,设置类注释模版。

如果不知道选择哪些,可以看右下角的Description红圈内,IDEA提供了哪些变量信息。同样,你还可以设置Inteface,HTML File,CSS File等注释信息。设置完,勾选 Enable Live Templates,点击Apply,Ok。

一般类常用的可以设置如下信息:

(1)@BelongsProject:当前项目的名称

(2)@BelongsPackage:当前包的名称

(3)@Author:作者姓名(可以写死,写成你的名字)

(4)@CreateTime:该类创建的时间

(5)@Description:对该类的描述(该类的功能)

(6)@Version:设置版本号,一般新创建的类都是1.0版本,这里写死就可以了

  1. /**

  2. *@BelongsProject: ${PROJECT_NAME}  

  3. *@BelongsPackage: ${PACKAGE_NAME}

  4. *@Author: yanhongwei

  5. *@CreateTime: ${YEAR}-${MONTH}-${DAY}  ${HOUR}:${MINUTE}

  6. *@Description: TODO

  7. *@Version: 1.0

  8. */

另外,如果想统一类,接口,CSS等注释格式,可以设置Includes,设置File Header,编写注释格式,勾选Enable Live Templates,点击Apply,Ok。

方法注释设置:打开设置,选择Editor -> File Templates,点击右侧的“+”号按钮,选择2,Template Group…,创建一个新的分组,并命名为:“MyMonthTemp”。如下:

选择刚刚创建的模版“MyMonthTemp”,再次点击右侧的“+”号按钮,选择1,“Live Template”。进行开始编辑。如下:

Abbreviation:添加快捷操作 “*”,结合默认的tab键使用

Description:模版描述

Template text:注释模版内容

  1. /**

  2. * Description:$description$

  3. * @Author:Lx

  4. * @Date:$date$ $time$

  5. * @Version 1.0.0

  6. $params$

  7. * @return $return$

  8. */

点击右侧的按钮“Edit variables”对参数注释进行动态设置。

date和time可以在Expression列进行下拉选取。

params和return则可以通过添加脚本,进行动态的返回。

  • 填写params内容为:

  1. groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); result=' * @param ' + params[0]; for(i = 1; i < params.size(); i++) {result+='\\n     * @param ' + params[i] + ((i+1 < params.size() - 1) ? '\\n' : '')};return result", methodParameters())

  • 填写return内容为:

  1. groovyScript("def result='';  def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split('<').toList(); for(i = 0; i < params.size(); i++) {if(i!=0){result+='<';};  def p1=params[i].split(',').toList();  for(i2 = 0; i2 < p1.size(); i2++)  { def p2=p1[i2].split('\\\\.').toList();  result+=p2[p2.size()-1]; if(i2!=p1.size()-1){result+=','}  } ; };  return result", methodReturnType())

  • kip if defined一列中”description”处未勾选,是为了键入快捷键生成方法注释的时候可以将鼠标聚焦至改行,方便添加注释方法描述信息;

  • 点击”OK”,返回上一设置页,选择应用此模板的对象(操作的位置在中下部位),如下图:

添加好模版,设置在哪些地方生效,返回到上一页,点击Define,

设置前:

设置后:这里只设置了Java相关添加方法注释模版。

最后,测试效果如下:

说明:上面生成注释的时候需要先输入”*”,然后按”Tab”键,所以在设置模板的时候第一行的设置为一个*,为了和输入的字符组合起来,以生成完整、规范的注释信息;

我个人设置的是“/*”,结合“Enter”键快速生成方法注释。大家根据自己的习惯设置即可。

好了,大家可以尝试下,如果有什么问题,可以给我留言。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IntelliJ IDEA 详细使用教程 – 主题,字体,类和方法注释设置 的相关文章

  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • .properties 中的通配符

    是否存在任何方法 我可以将通配符添加到属性文件中 并且具有所有含义 例如a b c d lalalala 或为所有以结尾的内容设置一个正则表达式a b c anything 普通的 Java 属性文件无法处理这个问题 不 请记住 它实际上是
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • 如何使用assertEquals 和 Epsilon 在 JUnit 中断言两个双精度数?

    不推荐使用双打的assertEquals 我发现应该使用带有Epsilon的形式 这是因为双打不可能100 严格 但无论如何我需要比较两个双打 预期结果和实际结果 但我不知道该怎么做 目前我的测试如下 Test public void te
  • 如何在 Spring 中禁用使用 @Component 注释创建 bean?

    我的项目中有一些用于重构逻辑的通用接口 它看起来大约是这样的 public interface RefactorAwareEntryPoint default boolean doRefactor if EventLogService wa
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 如何更改javaFX中按钮的图像?

    我正在使用javaFX 我制作了一个按钮并为此设置了图像 代码是 Image playI new Image file c Users Farhad Desktop icons play2 jpg ImageView iv1 new Ima
  • 谷歌应用程序引擎会话

    什么是java应用程序引擎 默认会话超时 如果我们将会话超时设置为非常非常长的时间 会不会产生不良影响 因为谷歌应用程序引擎会话默认情况下仅存储在数据存储中 就像facebook一样 每次访问该页面时 会话仍然永远存在 默认会话超时设置为
  • java.lang.IllegalStateException:应用程序 PagerAdapter 更改了适配器的内容,而没有调用 PagerAdapter#notifyDataSetChanged android

    我正在尝试使用静态类将值传递给视图 而不是使用意图 因为我必须传递大量数据 有时我会收到此错误 但无法找出主要原因是什么 Error java lang IllegalStateException The application s Pag
  • Java 集合的并集或交集

    建立并集或交集的最简单方法是什么Set在 Java 中 我见过这个简单问题的一些奇怪的解决方案 例如手动迭代这两个集合 最简单的单行解决方案是这样的 set1 addAll set2 Union set1 retainAll set2 In
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • 将 MOXy 设置为 JAXB 提供程序,而在同一包中没有属性文件

    我正在尝试使用 MOXy 作为我的 JAXB 提供程序 以便将内容编组 解组到 XML JSON 中 我创建了 jaxb properties 文件 内容如下 javax xml bind context factory org eclip
  • 像 Java 这样的静态类型语言中动态方法解析背后的原因是什么

    我对 Java 中引用变量的动态 静态类型和动态方法解析的概念有点困惑 考虑 public class Types Override public boolean equals Object obj System out println i
  • volatile、final 和synchronized 安全发布的区别

    给定一个带有变量 x 的 A 类 变量 x 在类构造函数中设置 A x 77 我们想将 x 发布到其他线程 考虑以下 3 种变量 x 线程安全 发布的情况 1 x is final 2 x is volatile 3 x 设定为同步块 sy
  • Spring Boot Data JPA 从存储过程接收多个输出参数

    我尝试通过 Spring Boot Data JPA v2 2 6 调用具有多个输出参数的存储过程 但收到错误 DEBUG http nio 8080 exec 1 org hibernate engine jdbc spi SqlStat
  • Intellij Android Studio打开localhost页面登录github

    我正在使用 android studio 版本 4 2 beta 3 当我使用 GUI 推送 获取工作室提示时登录 github 同时我已经设置了一个帐户 奇怪的是 我可以在终端上使用 git 但不能在 GUI 上使用 我选择第一个选项 我
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 双枢轴快速排序和快速排序有什么区别?

    我以前从未见过双枢轴快速排序 是快速排序的升级版吗 双枢轴快速排序和快速排序有什么区别 我在 Java 文档中找到了这个 排序算法是双枢轴快速排序 作者 弗拉基米尔 雅罗斯拉夫斯基 乔恩 本特利和约书亚 布洛赫 这个算法 在许多数据集上提供

随机推荐

  • grep 参数使用和实例

    一 grep 参数使用 Gun grep 选项 b 在搜索到的行的前面打印该行所在的块号码 c 只显示有多少行匹配 而不具体显示匹配的行 h 不显示文件名 i 在字符串比较的时候忽略大小写 l 只显示包含匹配模板的行的文件名清单 不同项目之
  • 怎么解决Ubuntu14.04不能打正确拼音

    重启一下
  • js dom节点类型

    目录 节点树方法 1 parentNode父节点 2 childNodes字节点们 3 firstChild lastChild 字节点 4 previousSibling nextSibling 兄弟节点 5 nodeName 6 nod
  • Qt中IPC(进程间通信)的方式一:WM_COPYDATA消息

    数据复制消息WM COPYDATA是Windows中一个特殊的消息 通过这个消息能够在进程间传递数据 WM COPYDATA消息含两个參数WPARAM wParam和LPARAM lParam WPARAM和LPARAM是匈牙利命名法 历史
  • jQuery 改变样式

    1 要先引入jQuery js jQuery JavaScript Library v1 4 4 http jquery com Copyright 2010 John Resig Dual licensed under the MIT o
  • 参数非空校验

    参数非空校验 全为空返回true 否则返回false function checkParam var argLengthInit arguments length var argLength argLengthInit var count
  • Visual Studio 2019的安装教程

    注意 部分内容只面向学习C语言的同学 1 打开浏览器搜索 Microsoft官网 2 进入网站 3 点击右上角的 所有Microsoft 4 找到 开发人员与IT 一列中的 Visual Studio 并点击进入 5 点击下载 Visual
  • Linux之Docker环境搭建

    Docker 是一个开源的应用容器引擎 让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中 然后发布到任何流行的 Linux或Windows 机器上 也可以实现虚拟化 容器是完全使用沙箱机制 相互之间不会有任何接口 搭建开始 官方网址
  • 微信小程序隐私指引完整填写范本(开发者收集你选中的照片或视频信息,用于?)

    为了分辨用户 开发者将在获取你的明示同意后 收集你的微信昵称 头像 为了显示距离 开发者将在获取你的明示同意后 收集你的位置信息 开发者收集你的地址 用于获取位置信息 开发者收集你的发票信息 用于维护消费功能 为了用户互动 开发者将在获取你
  • TCP报文格式详解

    TCP报文由俩部分组成 TCP报头和TCP数据 TCP报文是TCP传输的数据单元 端口号 用来标识一台主机的不同进程 1 源端端口号 源端口和IP层解析出来的IP地址标识报文的发送地 同时也确定了报文的返回地址 2 对端端口号 表明了该数据
  • 《移动浪潮》读书笔记

    移动浪潮 一书深入浅出地解读了信息革命第五次浪潮即将为人们生活带来的巨变 首先论述移动的力量 它是一股无法阻挡的浪潮 将引发颠覆性的革命 随后从电脑逐渐小型化 纸张的消失 娱乐的自由 钱包 社交网络 医疗 教育乃至工农业等方方面面论述移动互
  • 线程池参数

    一 ThreadPoolExecutor核心参数说明 1 corePoolSize 核心线程数 核心线程会一直存活 及时没有任务需要执行 当线程数小于核心线程数时 即使有线程空闲 线程池也会优先创建新线程处理 设置allowCoreThre
  • shell判断一个变量是否为空

    shell判断一个变量是否为空 author 润明 2012 2 1 QQ 226399587 http blog csdn net runming918 判断一个变量是否为空 1 变量通过 引号引起来 如下所示 可以得到结果为 IS NU
  • 数据库管理系统

    1 数据库 DB 指长期保存在计算机的存储设备上 按照一定规则组织起来 可以被各种用户或应用共享的数据集合 2 数据库管理系统 DBMS 指一种操作和管理数据库的大型软件 用于建立 使用和维护数据库 对数据库进行统一的管理和控制 以保证数据
  • 工具使用 [ idea远程服务断点调试 ]

    目录 1 概述 1 1 远程代码调试 1 1 1 idea配置 1 1 2 准备HTTP接口 1 1 3 启动远程服务 1 概述 在开发的过程当中 断点调试是我们比较常用的操作 不管是用来解析代码流程 还是用来排查程序错误 都会去使用到断点
  • 高校俱乐部审核期长安大学星辰同学参观CSDN总部

    7月15日早上北京大雨瓢泼 一大早就接到长安大学星辰同学的消息 要来CSDN与我们交流学习 星辰同学填完加入高校俱乐部申请信息后 我们是通过电话和qq与他联系的 据他所说是他的家人推荐他申请加入CSDN高校俱乐部 并且能够增加经验和锻炼能力
  • echarts饼图,自定义legend,解决legend字数太多和太长的问题,翻页处理

    echarts饼图 自定义legend 解决legend字数太多和太长的问题 翻页处理 https blog csdn net weixin 43899935 article details 107185591 版权 tooltip tri
  • 测试中遇到的问题总结

    一 后端问题 数据库存储相关 1 做更新操作后 发现数据没更新 根因 先读取后更新 解决方案 更新再读取 2 缓存数据未及时更新 导致操作不成功 及时更新缓存数据 正常情况在 一分钟内会将数据库数据同步到缓存 如果用户在一分钟之内同时操作了
  • mmdetection 环境配置mmcv和pytorch对照

    版本一 old mmdetection v1 1 0 python 3 7 9 Driver Version 440 33 01 CUDA Version 10 2 mmcv 0 4 3 mmdet 1 1 0 51df8a9 root d
  • IntelliJ IDEA 详细使用教程 – 主题,字体,类和方法注释设置

    IDEA是Java开发者最喜爱的开发工具之一 高端大气 智能化 个性化 每个开发者都喜欢设置自己喜欢的主题 字体 打造一个属于自己的IDE 本次介绍在IDEA中 如何设置主题 字体等样式 和添加类 方法注释 Windows用户直接点击菜单看