IntelliJ IDEA Copyright添加

news2024/12/23 9:03:50

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”)。如果传递一个空字符串(“”)作为参数,那么函数将建议所有变量,而不管其类型如何。

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

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

相关文章

【iOS】App仿写--网易云音乐

文章目录 前言一、首页界面二、我的界面三、账号界面总结 前言 在暑假之前仿写了网易云app&#xff0c;一直没总结。 网易云app主要让我熟悉了视图之间的相互嵌套的用法与关系以及自定义cell的用法&#xff0c;特此撰写以下博客进行总结。 一、首页界面 首先来看一下完成的效…

深度挖掘《TCP与UDP》

文章目录 UDPTCPTCP特性TCP是如何实现的可靠传输&#xff1f;序号和确认序号为啥网络上会后发先至 什么是丢包&#xff0c;如何解决丢包&#xff1f;TCP建立连接&#xff1a;三次握手四次交互&#xff0c;为什叫三次握手&#xff1f;三次握手起到什么效果&#xff1f;达到什么目…

YZ06:加载项是否加载的判断

【分享成果&#xff0c;随喜正能量】人生&#xff0c;因有缘而聚&#xff0c;因情而暖&#xff1b;人生&#xff0c;因不珍惜而散&#xff0c;因恨而亡&#xff1b;活着就要善待自己&#xff0c;不属于自己的不强求&#xff0c;不是真心的不必喜欢&#xff0c;时间在变&#xf…

Spring初识(三)

文章目录 前言一.存储 Bean 对象1.1 类注解的用法1.2 为什么要使用这么多类注解1.2.1 为什么需要五大类注解 1.3 各个类注解的关系1.4 Bean的命名规则1.5 方法注解的使用 二.取出 Bean 对象2.1 属性注入2.2 Setter注入2.3 构造方法注入 三.总结 前言 经过前面的学习,我们已经学…

【C++】STL使用仿函数控制优先级队列priority_queue

文章目录 前言一、priority_queue的底层实现二、使用仿函数控制priority_queue的底层总结 前言 本文章讲解CSTL的容器适配器&#xff1a;priority_queue的实现&#xff0c;并实现仿函数控制priority_queue底层。 一、priority_queue的底层实现 priority_queue叫做优先级队列&…

uview2.0使用u-calendar 的formatter属性,在formatter方法里无法访问this的bug,解决办法!!!!

uview 版本2.0.36 文档 使用该文档的案例&#xff0c;在 formatter打印this也会是undefined。 自己写了个demo 父给子传值v-bind传一个函数&#xff0c;然后在这个函数里面打印this&#xff0c;this是子组件的实例&#xff0c;但是不知道为什么formatter里会打印undefined。希…

pytorch工具——使用pytorch构建一个神经网络

目录 构建模型模型中的可训练参数假设输入尺寸为32*32损失函数反向传播更新网络参数 构建模型 import torch import torch.nn as nn import torch.nn.functional as Fclass Net(nn.Module):def __init__(self):super(Net,self).__init__()#定义第一层卷积层&#xff0c;输入维…

配置NFS服务

环境 环境 ubuntu 10.4 vm 7.1 终端 ifconfig 得到 ubuntu资料 INET ADDR 192.168.0.4 BCAST 192.168.0.255 MASK 255.255.255.0 操作前先关闭防火墙 关闭防火墙&#xff1a; 命令&#xff1a;sudo ufw disable 打开防火墙 命令&#xff1a;sudo ufw enable 配置过程 一 安…

G--爬山---2023河南萌新联赛第(二)场:河南工业大学

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 示例1 输入 3 230 100 200 300 输出 192 示例2 输入 3 900 150 150 125 输出 -1 解析&#xff1a; 二分。 #include<bits/stdc.h> using namespace std; typedef long long ll…

单独在文件中打开allure生成的index.html报告时却显示为loading

【问题描述】&#xff1a;单独在文件中打开allure生成的index.html报告时显示为loading&#xff0c;如下图&#xff1a; 【问题定位】&#xff1a;其实在allure-report下index.html文件是不能直接打开的&#xff0c;出现页面都是loading的情况&#xff0c;这是因为直接allure报…

回归预测 | MATLAB实现TCN-BiGRU时间卷积双向门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现TCN-BiGRU时间卷积双向门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现TCN-BiGRU时间卷积双向门控循环单元多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 ![6 基本介绍 1.MATLAB实现TCN-BiGRU时间卷积双向门控循…

RT-Thread qemu mps2-an385 bsp 移植制作 :系统启动篇

前言 前面准备了 RT-Thread qemu mps2-an385 bsp 制作相关的环境与相关文件&#xff0c;本篇开始讲解 bsp 如何适配到 RT-Thread CPU 部分已经适配好了&#xff0c;也就是通过 使能 ARCH_ARM_CORTEX_M3 &#xff0c;来使能 rt-thread/libcpu/arm/cortex-m3&#xff0c;这部分不…

使用docker进行MYSQL主从复制(一主两从)

目录 概述主从介绍 主从作用 主从作用有&#xff1a; 主从形式有&#xff1a; 配置步骤 主要配置 1>创建三个进程 2>修改配置文件 3>主机配置 4>从机配置 5>将文件修改后&#xff0c;复制到容器里面 6>进入主机进行配置 6.1>创建用户 6.2>…

从0到1完成UI自动化测试框架搭建之Pytest

上篇文章中&#xff0c;我们学会了如何使用UI Automator2atx编写简单的Android自动化脚本。 但是有个问题&#xff0c;大家可以思考下&#xff0c;光用自动化脚本让它自己动起来&#xff0c;是不是缺了点什么&#xff1f; 我们写测试用例的时候&#xff0c;是不是经常写&…

【C++】string的深入学习与模拟实现

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a;初阶数据结构 &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0c;是对…

Python 模块 ddt 数据驱动测试

简介 ddt 提供了一种方便的方法来实现数据驱动测试&#xff08;Data-Driven Testing&#xff09;。数据驱动测试是一种测试方法&#xff0c;通过将测试数据与测试逻辑分开&#xff0c;可以使用不同的数据集来运行相同的测试用例。这样可以提高测试的灵活性和可维护性&#xff0…

SQL SERVER ANALYSIS SERVICES决策树、聚类、关联规则挖掘分析电商购物网站的用户行为数据...

全文链接&#xff1a;http://tecdat.cn/?p32118 假如你有一个购物类的网站&#xff0c;那么你如何给你的客户来推荐产品呢&#xff1f;&#xff08;点击文末“阅读原文”获取完整文档、数据&#xff09; 相关视频 这个功能在很多电商类网站都有&#xff0c;那么&#xff0c;通…

Flink CEP (一)原理及概念

目录 1.Flink CEP 原理 2.Flink API开发 2.1 模式 pattern 2.2 模式 pattern属性 2.3 模式间的关系 1.Flink CEP 原理 Flink CEP内部是用NFA&#xff08;非确定有限自动机&#xff09;来实现的&#xff0c;由点和边组成的一个状态图&#xff0c;以一个初始状态作为起点&am…

Unity进阶-消息框架的理论知识与实际操作学习笔记

文章目录 Unity进阶-消息框架的理论知识与实际操作学习笔记 Unity进阶-消息框架的理论知识与实际操作学习笔记 笔记来源课程&#xff1a;https://study.163.com/course/courseMain.htm?courseId1212756805&_trace_c_p_k2_8c8d7393c43b400d89ae94ab037586fc 这种框架其实…

实现锂电池形状的数据可视化css+js

1.效果图 2.需求根据后端返回数据改变里面的高度 HTML&#xff1a; <div class"dianchichi"><div class"limian" id"divElementId"></div></div> css: .dianchichi {width: 84px;height: 146px;display: flex;justify-…