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

news2024/11/15 13:36:23

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”键快速生成方法注释。大家根据自己的习惯设置即可。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/129584.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

聊聊AQS

Java中 AQS 是 AbstractQueuedSynchronizer 类&#xff0c;AQS 依赖 FIFO 队列来提供一个框架&#xff0c;这个框架用于实现锁以及锁相关的同步器&#xff0c;比如信号量、事件等。 在 AQS 中&#xff0c;主要有两部分功能&#xff0c;一部分是操作 state 变量&#xff0c;第二…

调用html5播放器时,出现播放器按钮太小的问题

用手机浏览器打开视频&#xff0c;有时会出现播放器按钮太小的情况&#xff0c;此时只需在<head>中加入下面这段viewport代码即可解决&#xff1a; <meta name"viewport" content"widthdevice-width, initial-scale1, maximum-scale1,minimum-scale1…

Docker下Mysql应用部署

目录 环境搭建 进入mysql 外部连接mysql 外部插入数据 查询容器数据 环境搭建 docker pull mysqlmkdir /root/mysql cd /root/mysqldocker run -id \ -p 3307:3306 \ --name my_sql \ -v $PWD/logs:/logs \ -v $PWD/data:/var/lib/mysql \ -v $PWD/conf:/etc/mysql/conf…

【开源项目】任务调度框架PowerJob介绍及源码解析

项目介绍 PowerJob&#xff08;原OhMyScheduler&#xff09;是全新一代分布式调度与计算框架&#xff0c;能让您轻松完成作业的调度与繁杂任务的分布式计算。 项目地址 源码&#xff1a;https://gitee.com/KFCFans/PowerJob官网&#xff1a;http://www.powerjob.tech/index…

前端期末考试试题及参考答案(01)

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 一、 填空题 ______表示页面中一个内容区块或整个页面的标题。______表示页面中一块与上下文不相关的独立内容&#xff0c;比如一篇文章。CSS的引入方式有3种&#xff0c;分…

Python数据分析案例15——超市零售购物篮关联分析(apriori)

啤酒和纸尿裤的故事大多数人都听说过&#xff0c;纸尿裤的售卖提升了啤酒的销售额。 关联分析就是这样的作用&#xff0c;可以研究某种商品的售卖对另外的商品的销售起促进还是抑制的作用。 案例背景 本次案例背景是超市的零售数据&#xff0c;研究商品之间的关联规则。使用的…

移植SFUD,驱动SPI FLASH ZD25WQ80

1、关于SFUD SFUD (Serial Flash Universal Driver) 串行 Flash 通用驱动库&#xff0c;支持众多spi flash&#xff0c;关于SFUD的详细资料可参考&#xff1a;https://github.com/armink/SFUD。 2、为什么会有通用驱动 JEDEC &#xff08;固态技术协会&#xff09;针对串行 …

Python的22个万用公式,你确定不看看吗

前言 在大家的日常python程序的编写过程中&#xff0c;都会有自己解决某个问题的解决办法&#xff0c;或者是在程序的调试过程中&#xff0c;用来帮助调试的程序公式。 小编通过几十万行代码的总结处理&#xff0c;总结出了22个python万用公式&#xff0c;可以帮助大家解决在…

TypeScript中type和interface区别

typescript中interface介绍&#xff1a;TypeScript 中的接口 interface_疆~的博客-CSDN博客通常使用接口&#xff08;Interface&#xff09;来定义对象的类型。https://blog.csdn.net/qq_40323256/article/details/128478749 type type关键字是声明类型别名的关键字。用来给一…

windows 编译C++ boost库(超详细)

系列文章目录 文章目录系列文章目录前言一、windows二、b2.exe 参数前言 boost库其实不进行编译&#xff0c;大部分库也是可以正常使用的 而且也有一个开源工具vcpkg可以帮组我们下载编译&#xff0c;只是在国内用起来比较麻烦&#xff0c;而且还时常出bug 所以这里详细记录…

mac下,使用 docker 搭建,单机机器集群

背景&#xff1a; 在 Mac本下&#xff0c;通过 docker 完成一个 es 集群&#xff08;3台-或许可多台&#xff09;搭建。&#xff08;后续如果有真实的机器&#xff0c;只需要又该对应的 ip 地址即可&#xff0c;需要关注的是&#xff0c;机器间是可以互相 ping通的&#xff0c;…

4.3.5、IPv4 地址的应用规划

给定一个 IPv4 地址块&#xff0c;如何将其划分成几个更小的地址块&#xff0c;并将这些地址快分配给互联网中的不同网络&#xff0c; 进而可以给各网络中的主机和路由器接口分配 IPv4 地址。 一般有两种方法&#xff1a; 定长的子网掩码 FLSM &#xff08;Fixed Length Sub…

线程,进程以及Java中创建线程的多种方式

1. 前言 今天的这篇文章的目的还是为了讲述下什么叫线程&#xff0c;什么是进程。可能之前很多人都是通过背书得来的&#xff0c;今天就从通俗易懂的角度来分析下 2. 适合人群 线程以及进程的初学者 3. 开始 3.1 什么是程序 其实不管是程序/ 进程/ 线程都是基于操作系统而言…

141.环形链表

给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&#xff08;…

SuperMap iDesktop地质体模型匹配地形——精修地质体模型路线

作者&#xff1a;超图研究院技术支持中心-于丁 地质体模型匹配地形——精修地质体模型路线 相信大家开展地质体业务时&#xff0c;常常会遇到构建的精模地质体与DEM地形数据的交界面&#xff0c;嵌合效果不佳、相互压盖、渲染冲突不稳定&#xff08;闪面&#xff09;、掩盖、漂…

前端期末考试试题及参考答案(03)

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 一、 填空题 transition属性中______规定应用过渡的CSS属性的名称。transition属性中______定义过渡效果花费的时间。transition属性中______属性规定过渡效果的时间曲线。…

GitHub入门指南(上)

前言 我去年入门 GitHub&#xff0c;一开始不知道从哪开始学&#xff0c;在网上查找了很多文章、教程学习。这篇文章就是以我刚学习时的小白视角写的&#xff0c;希望能帮助到想开始学习 GitHub 又不知如何上手的学习者。因为我也是初级水平&#xff0c;文中介绍的知识基于我自…

6.移动端布局-rem布局

1.rem基础 优点&#xff1a;可以通过修改html里边文字的大小来改变页面中其他元素的大小&#xff0c;可以实现整体控制 1.1 rem单位 rem(root em)是一个相对单位&#xff0c;类似于em。 em是相对于自身元素字体大小&#xff08;若自身没有设置font-size则基础父元素的字体大…

一次SQL调优 聊一聊 SQLSERVER 数据页

一&#xff1a;背景 1.讲故事 最近给一位朋友做 SQL 慢语句 优化&#xff0c;花了些时间调优&#xff0c;遗憾的是 SQLSERVER 非源码公开&#xff0c;玩起来不是那么顺利&#xff0c;不过从这次经历中我觉得明年的一个重大任务就是好好研究一下它&#xff0c;争取在 SQLSERVE…

uniapp实现音频播放抢占系统音频焦点

项目为使用uniapp框架开发的Android/iOS APP应用 实现功能需求 假设手机正在播放音乐&#xff0c;当前APP处于前台收到消息&#xff0c;需播放提示音提示用户。目标为降低后台正在播放音乐的音量&#xff0c;播放提示音&#xff0c;播放完毕后恢复后台音乐音量 需求分析 乍…