配置
Maven
配置路径:File | Settings | Build, Execution, Deployment | Build Tools | Maven
settings.xml
xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- 1. 本地仓库路径(按需修改) -->
<localRepository>D:\Code\maven\repositry</localRepository>
<!-- 2. 镜像仓库:配置阿里云镜像加速中央仓库 -->
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>阿里云公共仓库</name>
<!-- 使用更通用的公共仓库地址 -->
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
<!-- 3. 配置JDK 21编译环境 -->
<profiles>
<profile>
<!-- 为该配置集定义一个ID,便于管理 -->
<id>jdk-21</id>
<activation>
<!-- 当检测到系统JDK版本为21时,自动激活此profile -->
<jdk>21</jdk>
<!-- 同时设置为默认激活,确保即使JDK版本检测未触发也能生效 -->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- 指定源代码编译使用的JDK版本 -->
<maven.compiler.source>21</maven.compiler.source>
<!-- 指定生成的字节码目标版本 -->
<maven.compiler.target>21</maven.compiler.target>
<!-- 指定编译器本身的版本,确保完全兼容JDK 21特性 -->
<maven.compiler.compilerVersion>21</maven.compiler.compilerVersion>
<!-- 设置项目文件编码,避免乱码 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</profile>
</profiles>
<!-- 4. 激活上述Profile(通过activation标签已激活,此部分为双重保障) -->
<activeProfiles>
<activeProfile>jdk-21</activeProfile>
</activeProfiles>
</settings>
Code
智能提示不区分大小写
File | Settings | Editor | General | Code Completion
复选框 "Match case": 默认是勾选状态(即区分大小写)。要设置为不区分大小写,请取消勾选此选项
设置编码为UTF-8
File | Settings | Editor | File Encodings
调整编码为UTF-8,不勾选Transparent native-to-ascii conversion,否则properties配置文件会自动转成ascii
自动优化import
File | Settings | Tools | Actions on Save
"Optimize imports"IDEA 在文件保存时自动执行此操作
滚轮调整字体大小
File | Settings | Editor | General
"Change font size (Zoom) with Ctrl+Mouse Wheel"
代码自动格式化并配置模板
File | Settings | Tools | Actions on Save
"Reformat code"保存文件自动格式化
File | Settings | Editor | Code Style
导入模板
xml
<code_scheme name="CodeFormatterFromIdea" version="173">
<JavaCodeStyleSettings>
<option name="ANNOTATION_PARAMETER_WRAP" value="1" />
<option name="CLASS_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" />
<option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="999" />
<option name="PACKAGES_TO_USE_IMPORT_ON_DEMAND">
<value />
</option>
<option name="IMPORT_LAYOUT_TABLE">
<value>
<emptyLine />
<package name="" withSubpackages="true" static="true" />
<emptyLine />
<package name="android" withSubpackages="true" static="false" />
<emptyLine />
<package name="androidx" withSubpackages="true" static="false" />
<emptyLine />
<package name="huawei" withSubpackages="true" static="false" />
<emptyLine />
<package name="com.huawei" withSubpackages="true" static="false" />
<emptyLine />
<package name="com" withSubpackages="true" static="false" />
<emptyLine />
<package name="" withSubpackages="true" static="false" />
<emptyLine />
<package name="net" withSubpackages="true" static="false" />
<emptyLine />
<package name="org" withSubpackages="true" static="false" />
<emptyLine />
<package name="javacard" withSubpackages="true" static="false" />
<emptyLine />
<package name="java" withSubpackages="true" static="false" />
<emptyLine />
<package name="javax" withSubpackages="true" static="false" />
<emptyLine />
</value>
</option>
<option name="JD_ALIGN_PARAM_COMMENTS" value="false" />
<option name="JD_ALIGN_EXCEPTION_COMMENTS" value="false" />
</JavaCodeStyleSettings>
<XML>
<option name="XML_TEXT_WRAP" value="0" />
</XML>
<codeStyleSettings language="JAVA">
<option name="RIGHT_MARGIN" value="120" />
<option name="LINE_COMMENT_AT_FIRST_COLUMN" value="false" />
<option name="BLOCK_COMMENT_AT_FIRST_COLUMN" value="false" />
<option name="LINE_COMMENT_ADD_SPACE" value="true" />
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="KEEP_FIRST_COLUMN_COMMENT" value="false" />
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
<option name="KEEP_BLANK_LINES_IN_DECLARATIONS" value="1" />
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
<option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="1" />
<option name="BLANK_LINES_BEFORE_PACKAGE" value="1" />
<option name="BLANK_LINES_AROUND_FIELD" value="1" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_RESOURCES" value="false" />
<option name="ALIGN_MULTILINE_FOR" value="false" />
<option name="ALIGN_MULTILINE_THROWS_LIST" value="true" />
<option name="SPACE_WITHIN_BRACES" value="true" />
<option name="SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE" value="true" />
<option name="SPACE_BEFORE_ANNOTATION_ARRAY_INITIALIZER_LBRACE" value="true" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="1" />
<option name="RESOURCE_LIST_WRAP" value="5" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="THROWS_LIST_WRAP" value="1" />
<option name="EXTENDS_KEYWORD_WRAP" value="1" />
<option name="THROWS_KEYWORD_WRAP" value="1" />
<option name="METHOD_CALL_CHAIN_WRAP" value="5" />
<option name="BINARY_OPERATION_WRAP" value="1" />
<option name="BINARY_OPERATION_SIGN_ON_NEXT_LINE" value="true" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="KEEP_SIMPLE_LAMBDAS_IN_ONE_LINE" value="true" />
<option name="KEEP_SIMPLE_CLASSES_IN_ONE_LINE" value="true" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="ARRAY_INITIALIZER_LBRACE_ON_NEXT_LINE" value="true" />
<option name="ARRAY_INITIALIZER_RBRACE_ON_NEXT_LINE" value="true" />
<option name="ASSIGNMENT_WRAP" value="1" />
<option name="PLACE_ASSIGNMENT_SIGN_ON_NEXT_LINE" value="true" />
<option name="ASSERT_STATEMENT_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="3" />
<option name="DOWHILE_BRACE_FORCE" value="3" />
<option name="WHILE_BRACE_FORCE" value="3" />
<option name="FOR_BRACE_FORCE" value="3" />
<option name="PARAMETER_ANNOTATION_WRAP" value="1" />
<option name="VARIABLE_ANNOTATION_WRAP" value="1" />
<option name="ENUM_CONSTANTS_WRAP" value="2" />
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
</indentOptions>
</codeStyleSettings>
</code_scheme>
Java代码自动添加版权
File | Settings | Appearance & Behavior | Scopes
创建作用域,仅对Java文件生效
File | Settings | Editor | Copyright | Copyright Profiles
创建版权模板:Copyright © today.year−{today.year}-today.year−{today.year} com.Local All rights reserved.
File | Settings | Editor | Copyright
配置指定作用域对应的版本模板
快捷生成Java Class doc注释模板
File | Settings | Editor | Live Templates
创建Template Group,创建Live Template,设置缩写Abbreviation,设置doc注释内容,设置变量date("yyyy-MM-dd"),设置快捷键Expand with,设置作用范围