IntelliJ IDEA Copyright添加

IDEA代码文件的版权(copyright)信息配置

1. 快速创建Copyright 版权配置文件

  1.1 创建copyright文件

        依次点击 File > Settings… > Editor > Copyright > 点击 “+” 号或 “Add profile”***,弹出创建 Copyright Profile 操作窗口,在***文本栏中输入版权配置文件的名称,文件名可自定义。

  1.2 添加版权信息

        在 *Copyright text(may contain Velocity templates)*文本框中根据自身需求写入版权信息(如下),并点击 Apply 进行应用。

  1.3 设置并使用创建好的版权文件

         退回至 Settings 中的 Copyright,在 Default project copyright 选项框中***选中刚刚创建好的版本文件***,点击 Apply 进行应用。

 

  1.4 使用方法

         在新创建文件时,无需手动编辑,IDE会自动生成版本信息。

  

 

2. 为所有新建项目自动配置版权信息

  2.1 默认路径

   通过“步骤1 快速创建Copyright 版权配置文件” 的操作则完成 CopyRight Profile 版权文件的创建,并在当前项目中生效。但是在创建新的项目时,会发现新建的项目中并没有已经创建好的版权文件,打开设置查看也发现确实没有可用文件。

   为了一劳永逸,可以将已存在的版权文件进行导入。此文件可以是别人发送过来的,也可以使用之前自行创建好的。默认的保存路径为:项目根路径.idea\copyright\xxxx.xml

   要导入已存在的copyright版权文件,依次点击 File > New Projects Settings > Settings for New Projects… 进入全局配置,在这里进行的配置会对新建项目生效。

之后同样进入了Settings设置框,依次点击 Editor > Copyright > Import 的箭头图标,弹出选择copyright文件的操作窗口,根据路径选择即可。

选择对应的xml即可。

3. 自定义版权信息模板

  通过添加自定义快捷模板cprt,可以在未添加版权声明的文件头以手动输入缩略语的方式快捷配置版权信息。

  3.1 新建模板分组

  依次点击进入 File > Settings… > Editor > Live Templates,点击右侧 “+” 号并在弹出选项中选择 “Template Group…”,用以新建自定义的模板分组,取名随意,建议见名知义。
【若已经存在自定义模板分组,可直接进入第2步骤】

 

  3.2 创建cprt模板

  选中已创建好的自定义模板分组,点击右侧 “+” 号***并在弹出选项中***选择 “Live Template”

 

  3.3 填充自定义模板信息

  新建模板后,需要配置模板相关信息。模板中各项参数以及作用如下:

  • Abbreviation 缩略语:在此处填入触发缩略语,在Java文件中可以通过缩略语触发版权模板;
  • Description 描述:对当前模板的描述,为可选项;
  • Template Text 模板内容:版权信息模板的展示内容,根据需要来填写;
  • Edit variables 变量编辑:若模板内容中填入的信息中带有变量,可以通过该设置项对变量进行格式化、赋值等操作;
  • Expand with 手动触发按键:默认为 Tab 键,可保持默认,也可以自定义;
  • Define 自定义作用域:可以选择 Everywhere ,也可以选择自定义的模块,比如此处选择 Java 模块中的 Declaration。

  此处在自定义的版权模板内容框中填入的信息如下:

  /* 
   * Copyright © 2023 All rights reserved.
   * 
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions are met:
   * Redistributions of source code must retain the above copyright notice,
   * this list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above copyright
   * notice, this list of conditions and the following disclaimer in the
   * documentation and/or other materials provided with the distribution.
   * Neither the name of the developer nor the names of its
   * contributors may be used to endorse or promote products derived from
   * this software without specific prior written permission.
   * Author CavanLiu
   */

  在 Edit variables 变量赋值这一块,使用的是 date(“yyyy”) 函数返回值;默认值则填写了今年的字符串。【Edit variables 以及 Expression 函数的补充说明见第四节】

3.4 使用方式

  在未添加版权信息的类头部输入缩略语(如此处的 cprt)则可生成版权信息。在新建工程中,无需额外设置,即可使用缩略语快速生成版权信息。

4. 一键更新copyright作用范围

 Expression 函数、参数的意义解析清单如下:

函数 | 参数描述
annotated(“annotation qname”)使用驻留在指定位置的注释创建类型符号。例如,请参见迭代组中的活动模板。
anonymousSuper()为Kotlin对象表达式建议一个超类型。
arrayVariable()建议当前作用域中适用的所有数组变量。例如,请参见迭代组中的活动模板。
blockCommentEnd返回在当前语言上下文中指示块注释结束的字符。
blockCommentStart返回在当前语言上下文中指示块注释开始的字符。
camelCase(String)将字符串转换为camelCase。例如,camelCase(my-text-file)、camelCase(my text file)和camelCase(my_text_file)都返回myTextFile。
capitalize(String)将参数的第一个字母大写。
capitalizeAndUnderscore(sCamelCaseName)将作为参数传递的CamelCase名称的所有字母大写,并在各部分之间插入下划线。例如,大写和下划线(FooBar)返回FOO_BAR。
castToLeftSideType()将右侧表达式转换为左侧表达式类型。在迭代组中,它使用一个模板来生成raw类型和泛型集合。
className()返回当前类的名称(展开模板的类)。
classNameComplete()这个表达式替代了变量位置上的类名补全。
clipboard()返回系统剪贴板的内容。
commentEnd()返回指示当前语言上下文中注释结尾的字符。如果行注释是用当前语言定义的,则返回值为空。
commentStart()返回指示当前语言上下文中注释开头的字符。如果行注释是用当前语言定义的,则它们的开始指示符更好。
complete()在变量的位置调用代码完成。
completeSmart()在变量的位置调用智能类型完成。
componentTypeOf()返回数组的组件类型。有关示例,请参见迭代组和其他组中的活动模板。
concat(expressions…)返回作为参数传递给函数的所有字符串的串联。
currentPackage()返回当前包名称。
date(sDate)如果没有参数,则以默认系统格式返回当前日期。
decapitalize(sName)将参数的第一个字母替换为相应的小写字母。
descendantClassEnum()返回指定为字符串参数的类的子级。
enum(sCompletionString1,sCompletionString2,…)返回在扩展模板时建议完成的逗号分隔字符串列表。
escapeString(sEscapeString)转义指定为参数的字符串。
expectedType()返回模板扩展到的表达式的预期类型。如果模板在赋值的右部分、返回后等展开,则很有意义。
fileName()返回当前文件的名称及其扩展名。
fileNameWithoutExtension()返回不带扩展名的当前文件的名称。
firstWord(sFirstWord)返回作为参数传递的字符串的第一个字。
groovyScript(“groovy code”, arg1)返回具有指定代码的groovy脚本。可以将groovyscript()函数与多个参数一起使用。第一个参数是所执行脚本的文本或包含脚本的文件的路径。下一个参数绑定到脚本中可用的_1、_2、_3、…_n变量。此外,脚本中还提供了_editor变量。此变量绑定到当前编辑器。
guessElementType ()猜测java.util.collection中存储的元素类型。为了猜测,intellij想法试图找到元素添加到容器或从容器中提取的位置。
iterableComponentType()返回可iterable组件的类型,如数组或集合。
iterableVariable()返回可迭代的变量的名称。
JsArrayVariable()返回当前javascript数组的名称。
jsClassName()返回当前javascript类的名称。
jsComponentTypeOf()返回当前javascript组件的类型。
jsDefineParameter基于模块的名称,返回参数fromdefine([“module”]、function(<parameter_in_question>>))。
jsMethodName()返回当前javascript方法的名称。
jsQualifiedClassName()返回当前javascript类的完整名称。
jsSuggestIndexName()返回最常用的索引变量的建议名称:i、j、k等。当前作用域中尚未使用的名称将首先显示。
jsSuggestVariableName()根据引用变量命名规则的代码样式设置,基于变量类型和初始值设定项表达式返回变量的建议名称。例如,如果它是一个在迭代中保存元素的变量,那么intellij-idea会猜测最合理的名称,并考虑到被迭代的容器的名称。
jsSuggestDefaultVariableKind(Boolean)布尔参数确定当前上下文中是否允许常量。如果未指定参数,则允许使用常量。当模板展开时,将显示一个下拉列表,其中包含typescript和es6的var、let和const选项,以及早期javascript版本的一个var选项。
jsSuggestImportedEntityName()根据文件名,将’import*类型的import语句的名称建议为i t e m itemitemfrom“m o d u l e modulemodule”`或’importi t e m itemitemfrom“m o d u l e modulemodule”。
lineCommentStart返回在当前语言上下文中指示行注释开头的字符。
lineNumber()返回当前行号。
lowercaseAndDash(String)将camelcase字符串转换为小写,并插入n个破折号作为分隔符。例如,LowerCaseandDash(MyExampleName)返回我的示例名称。
methodName()返回展开模板的方法的名称。
methodParameters()返回展开模板的方法的参数列表。
methodReturnType()返回当前方法返回的值的类型(模板在其中展开)。
qualifiedClassName()返回当前类的完全限定名(在其中展开模板)。
rightSideType()用右侧表达式的类型声明左侧变量。在迭代组中,它使用一个模板来生成原始类型和泛型集合。
snakeCase(String)将字符串转换为蛇形大小写。例如,snakecase(foo bar)返回foo_bar。
spaceSeparated(String)将字符串转换为小写并插入空格作为分隔符。例如,spaceseparated(foo bar)返回foo bar。
substringBefore(String,Delimiter)删除指定分隔符后的扩展名并仅返回文件名。这有助于测试文件名(例如,substringbefore(f i l e n a m e filenamefilename,“.”)返回component test.js中的组件测试。
subtypes(sType)返回作为参数传递的类型的子类型。
suggestFirstVariableName(sFirstVariableName)不代表真的,假的,这个,超级的。
suggestIndexName()建议使用最常用的索引变量的名称:i、j、k等(第一个不在当前范围内使用的变量)。
suggestVariableName()根据引用变量命名规则的代码样式设置,基于变量类型及其初始值设定项表达式建议变量的名称。
例如,如果它是一个在迭代中保存元素的变量,那么intellij-idea会猜测最合理的名称,并考虑到要迭代的容器的名称。
time(sSystemTime)以指定格式返回当前系统时间。
typeOfVariable(VAR)返回作为参数传递的变量的类型。
underscoresToCamelCase(String)用作为参数传递的字符串中的camelcase字母替换下划线。例如,underlinestocamelcase(foo_bar)返回foo bar。
underscoresToSpaces(sParameterWithUnderscores)用作为参数传递的字符串中的空格替换下划线。例如,underlinestospaces(foo_bar)返回foo bar。
user()返回当前用户的名称。
variableOfType()建议可以分配给作为参数传递的类型的所有变量,例如,VababeLoFype(“java. U.L.Vector”)。如果传递一个空字符串(“”)作为参数,那么函数将建议所有变量,而不管其类型如何。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

低代码如何帮助企业数字化转型?

在数字化时代背景下&#xff0c;企业都面临着巨大的数字化转型挑战。为了迎接这一挑战&#xff0c;企业软件开发工具和平台都在不断地创新和进化。其中&#xff0c;低代码开发平台应运而生&#xff0c;并成为了众多企业转型的首选方案。企业为什么都选择低代码开发平台&#xf…

【基于CentOS 7 的NFS服务】

目录 一、概述 二、应用场景 三、安装 四、启动服务 五、目录结构 1.nfs的主配置文件 2.存储配置文件 六、命令解析 1.共享存储管理命令 2.共享目录查看 七、配置 八、客户端访问 1.查看nfs服务器的共享目录 2.挂载 九、实际案例 一、概述 network filesystemt…

【GitOps系列】使用Kustomize和Helm定义应用配置

文章目录 使用 Kustomize 定义应用改造示例应用1.创建基准和多环境目录2.环境差异分析3.为 Base 目录创建通用 Manifest4.为开发环境目录创建差异 Manifest5.为预发布环境创建差异 Manifest6.为生产环境创建差异 Manifest 部署 Kustomize 应用部署到开发环境部署到生产环境 使用…

Flink笔记

Flink笔记 2.Flink学习笔记2.1流式处理对比2.2 Flink核心概念2.2.1并行度2.2.2算子链2.2.3任务槽 2.3 DataStream2.3.2 读取数据源-源算子&#xff08;Source&#xff09;2.3.3 转换算子&#xff08;Transformation&#xff09; 2.Flink学习笔记 2.1流式处理对比 学习Spark S…

ubuntu22.04上如何创建有privilege权限,有固定自定义IP的空容器

需求背景&#xff1a; 我想用docker来隔离自己的主机环境&#xff0c;来创建一个隔离的空白全新的开发环境&#xff0c;并且使之有固定的IP&#xff0c;在里面可以自由更新下载各种编译依赖&#xff0c;具有privileged权限的容器&#xff0c;以下是操作实现的具体步骤 查看do…

1.12 springboot 整合log4j打印日志

1.除去springboot自带的日志 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><exclusions><!-- 除去springboot自带的日志 --><exclusion><groupId>org.sprin…

在vscode中运行Hbuilder创建的项目

想必习惯使用vscode的人突然使用HBuilder很不习惯吧&#xff0c;但是HBuilder创建的项目本身没有调试功能。当你有一个app项目但又不想使用HBuilder编写&#xff0c;需要浏览器调试的时候&#xff0c;你这时就需要一个插件了&#xff1a;uni run 插件 基于HBuilderX的采用unia…

JVM运行时区域——对象创建内存分配过程

新创建的对象&#xff0c;都存放在伊甸园区域&#xff0c;当垃圾回收时&#xff0c;将伊甸园区域的垃圾数据销毁&#xff0c;然后将存活的对象转移到幸存者0区域&#xff0c;之后创建的新的对象还是存放在伊甸园区域&#xff0c;等到再次垃圾回收后&#xff0c;将伊甸园区域和幸…

Aurix TC3xx系列MCU ADC采集时间计算方法(四)

文章目录 1 前言2 各阶段时间的计算方法2.1 计算公式2.2 采样阶段2.3 转换阶段2.4 降噪阶段2.5 校准阶段3 采集时间示例>>返回总目录<< 1 前言 在项目开发前期评估阶段,会比较关注ADC的采集时间,我们可以给出一个大概的采样的时间0.5us~1.2us左右,但是对于精确…

SpringCloud nacos 集成 feign 实例

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…

创建型设计模式-4.原型设计模式

创建型设计模式-4.原型设计模式 原型设计模式&#xff08;Prototype Design Pattern&#xff09;是一种创建型设计模式&#xff0c;旨在通过复制现有对象来创建新对象&#xff0c;而不是通过使用构造函数进行创建。它允许我们通过克隆&#xff08;复制&#xff09;现有对象的实…

【C++】开源:跨平台轻量日志库easyloggingpp

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍跨平台轻量日志库easyloggingpp。 无专精则不能成&#xff0c;无涉猎则不能通。。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&am…

【SQL应知应会】表分区(四)• MySQL版

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习&#xff0c;有基础也有进阶&#xff0c;有MySQL也有Oracle 分区表 • MySQL版 前言一、分区表1.非分区表2.分区…

Spring MVC异步上传、跨服务器上传和文件下载

一、异步上传 之前的上传方案&#xff0c;在上传成功后都会跳转页面。而在实际开发中&#xff0c;很多情况下上传后不进行跳转&#xff0c;而是进行页面的局部刷新&#xff0c;比如&#xff1a;上传头像成功后将头像显示在网页中。这时候就需要使用异步文件上传。 1.1 JSP页面 …

centos7 访问windows系统的共享文件夹

window系统上共享文件夹 选择共享文件夹&#xff0c;点击属性 点击共享 选择用户&#xff0c;点击共享 centos系统挂载共享文件夹 创建挂载目的文件夹 mkdir -p /mnt/smb 挂载命令 mount -t cifs -o usernamezenglg,password*** //192.168.1.10/ftp /mnt/smb/其中&#xff…

【计算机视觉 | 图像分割】arxiv 计算机视觉关于图像分割的学术速递(7 月 18 日论文合集)

文章目录 一、分割|语义相关(14篇)1.1 Multimodal Diffusion Segmentation Model for Object Segmentation from Manipulation Instructions1.2 Variational Probabilistic Fusion Network for RGB-T Semantic Segmentation1.3 Dense Affinity Matching for Few-Shot Segmentat…

Spring MVC拦截器和跨域请求

一、拦截器简介 SpringMVC的拦截器&#xff08;Interceptor&#xff09;也是AOP思想的一种实现方式。它与Servlet的过滤器&#xff08;Filter&#xff09;功能类似&#xff0c;主要用于拦截用户的请求并做相应的处理&#xff0c;通常应用在权限验证、记录请求信息的日志、判断用…

二十四章:SEgmentation TRansformer (SETR)——以Transformer的序列到序列的视角重新思考语义分割问题

0.摘要 最近的语义分割方法采用了全卷积网络&#xff08;FCN&#xff09;和编码器解码器架构。编码器逐渐降低空间分辨率&#xff0c;并学习具有更大感受野的抽象/语义视觉概念。由于上下文建模对于分割是至关重要的&#xff0c;最新的研究工作将重点放在增加感受野上&#xff…

Upgrading kubeadm clusters from v1.27.3 to v1.27.4

文章目录 1. Before you begin2. Notes3. Master3.1 Login into the first node and upgrade the kubeadm tool only3.2 Verify the upgrade plan3.3 Drain the control plane node3.4 kubeadm upgrade3.5 Uncordon the control plane node3.6 Upgrade kubelet and kubectl3.7 …

自然语言处理: 第五章Attention注意力机制

自然语言处理: 第五章Attention注意力机制 理论基础 Attention&#xff08;来自2017年google发表的[1706.03762] Attention Is All You Need (arxiv.org) &#xff09;&#xff0c;顾名思义是注意力机制&#xff0c;字面意思就是你所关注的东西&#xff0c;比如我们看到一个非…