赞
踩
1、创建copyright文件
依次点击 File > Settings… > Editor > Copyright > 点击 “+” 号或 “Add profile”***,弹出创建 Copyright Profile 操作窗口,在***文本栏中输入版权配置文件的名称,文件名可自定义;
2、添加版权信息
在 *Copyright text(may contain Velocity templates)*文本框中根据自身需求写入版权信息(如下),并点击 Apply 进行应用;
Copyright (c) xxxx my copyright message. 2022-${today.year}. All rights reserved. (根据需要自定义版权信息)
3、设置并使用创建好的版权文件
退回至 Settings 中的 Copyright,在 Default project copyright 选项框中***选中刚刚创建好的版本文件***,点击 Apply 进行应用;
4、使用方法
在新创建文件时,无需手动编辑,IDE会自动生成版本信息。
通过以上 “步骤1 快速创建Copyright 版权配置文件” 的操作,可以完成 CopyRight Profile 版权文件的创建,并在当前项目中生效。但是在创建新的项目时,会发现新建的项目中并没有已经创建好的版权文件,打开设置查看也发现确实没有可用文件。
此时如果不嫌麻烦,可以再次手动创建版权文件【手动狗头】。
为了一劳永逸,我们可以将已存在的版权文件导入进来。此文件可以是别人发送过来的,也可以使用之前自行创建好的。默认的保存路径为:项目根路径.idea\copyright\xxxx.xml
要导入已存在的copyright版权文件,依次点击 ***File > New Projects Settings > Settings for New Projects… ***进入全局配置,在这里进行的配置会对新建项目生效。【需要注意的是,各个版本的IDEA为新建项目所做的配置进入路径不一样,可以网上查找一下】
之后同样进入了Settings设置框,依次点击 Editor > Copyright > Import 的箭头图标,弹出选择copyright文件的操作窗口,根据路径选择即可。
==注意:==不知为何,以前这么设置时是可以为新建项目自动配置版权文件的,但是当前在这个版本(2021.1)的IDEA中却不生效。需要排查下原因。
通过添加自定义快捷模板cprt,可以在未添加版权声明的文件头以手动输入缩略语的方式快捷配置版权信息。
1、新建模板分组
依次点击进入 ***File > Settings… > Editor > Live Templates,点击右侧 “+” 号并在弹出选项中选择 “Template Group…”***,用以新建自定义的模板分组,此处取名为 Custom。(可以将要创建的模板放在系统的分组中,但不建议;自行创建分组可以更好的管理自定义模板)
【若已经存在自定义模板分组,可直接进入第2步骤】
2、创建 cprt 模板
选中已创建好的自定义模板分组,***点击右侧 “+” 号***并在弹出选项中***选择 “Live Template”***。
3、填充自定义模板信息
新建模板后,需要配置模板相关信息。模板中各项参数以及作用如下:
此处在自定义的版权模板内容框中填入的信息如下:
/*
* This is my custom copyright information.2022-${today.year}. All rights reserved.
*/
在 Edit variables 变量赋值这一块,使用的是 date(“yyyy”) 函数返回值;默认值则填写了今年的字符串。【更多对 Edit variables 以及 Expression 函数 的补充说明见本文末尾】
4、使用方式
在未添加版权信息的类头部输入缩略语(如此处的 cprt)则可生成版权信息。在新建工程中,无需额外设置,即可使用缩略语快速生成版权信息。
以上操作仅能使 copyright 文件对当前项目新建的文件生效,或者需要一个一个文件进行手动添加版权信息。而对于想要给很多文件添加版权信息的人来说,这不是一个好办法。IDEA提供了一键快捷添加版权信息的功能,方式为:点击 Code > Update Copyright… > 在弹出的 Specify Update copyright Scope 操作窗口中选择生效范围,
经测试,可以得出以下结论(其他场景可自行验证):
函数、参数 | 描述 |
---|---|
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 item itemfrom“ m o d u l e module module”`或’import i t e m item itemfrom“ m o d u l e module module”。 |
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 filename filename,“.”)返回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”)。如果传递一个空字符串(“”)作为参数,那么函数将建议所有变量,而不管其类型如何。 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。