在实习过程中,我发现我的同事在使用IDEA时并不是很熟练。为了帮助他们更好地使用IDEA,我决定与他们共享我的设置。同时,我还将之前发布在个人博客上的文章复制粘贴了过来。
请注意:在使用我的设置后,您需要确保重写Maven设置中的User Setting File、Local Repository以及Java compiler、structure for project,以确保JVM版本设置正确。
首先,我们需要更改Maven的源。由于在编写SpringBoot项目时曾因依赖问题而受挫,因此我们应该首先更改Maven的源。
IDEA默认会有一个Maven工具,因此如果您之前修改过Maven配置,还需要在IDEA中指定具体使用的是哪一个MAVEN,以及使用哪一个配置文件。操作步骤如下:
1. 点击File -> New Projects Settings -> Settings for new Projects
2. 在User settings file中选择您想要使用的Maven配置文件。
在pom.xml文件中,可以通过以下方式指定镜像源:
```xml
```
其中,`
如果需要使用其他镜像源,可以添加更多的`
```xml
```
这样就会将所有的依赖仓库都代理到阿里云的Maven镜像源上。
请根据以下要求完成重构:
将以下XML片段转换为对应的Java代码。
```xml
```
重构后的Java代码:
```java
public class RepositoryConfig {
private String id;
private String name;
private String url;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}
```
以下是重构后的代码:
```java
public class MainMenu {
public static void main(String[] args) {
// 关闭当前标签页
closeCurrentTab();
// 切换到下一行
switchToNextLine();
// 格式化代码
reformatCode();
// 根据上下文完成动作(导包)
showContextActions();
// 优化import导入
optimizeImports();
// 插入生成模板(psvm)
insertLiveTemplate();
// 打开设置面板
openSettings();
// 统一修改变量名
refactorRename();
// 搜索指定Class
searchClass("MainMenu");
// 重写方法
overrideMethods();
// 查看类继承关系
viewClassInheritance();
// 查看类继承关系图
viewClassInheritanceGraph();
}
}
```
打开Preferences(偏好设置),点击Editor(编辑器)-> Live Templates(实时模板)。
在右边的加号处为自己添加一个Templates Group(模板组),然后选中自己的Group,再次点击加号添加Live Templates。
记得要把最下面的提示▲.No applicable contexts yet.Define -> 设置为Java。
接下来,在Edit variables里面添加参数和返回值的自动取值:/ + 你设置的Abbreviation快捷键 + tab/ + q + tab。例如:
神秘密码(Template text中填的):
$params$$returns$
** * @Description: $description$ * @Param: $params$ * @Return: $returns$ * @Author: MrLi * @Date: $date$ */
不错的配置:
** * @author: Mrli * @description: * @date: $date$ $time$$param$ $return$ */
datetimeExpressionparam
groovyScript("def result = '\'';def params = \"${_1}\".replaceAll('[\\\[|\\\\]|\\\\s]', '\'').split(',').toList(); for(i = 0; i < params.size(); i++) {if(params[i] != '')}result+='* @param: ' + params[i] + ((i < params.size() - 1) ? '\\r\
' : '');}; return result == '\'' ? null : '\r\
' + result", methodParameters())
return
在Groovy脚本中,我们可以使用以下代码来实现:
```groovy
groovyScript("return \"${_1}\" == 'void' ? null : \\r\
* @return: ${_1}", methodReturnType())
```
接下来,我们需要删除没有用到的包。这里有两个方法可以帮助你完成这个任务:
1. 手动快捷键:按下 `Ctrl + Alt + O`(Windows/Linux)或 `Cmd + Alt + O`(Mac)。
2. 配置自动清理:打开设置 -> editor -> auto import,然后勾选 "Optimize imports on the fly"(自动去掉一些没有用到的包)和 "Add unambiguous imports on the fly"(自动帮我们优化导入的包)。
此外,Intellij IDEA 报错 "Error : java 不支持发行版本5",你可以按照以下步骤进行排查:
1. 在 Intellij 中点击 "File" -> "Project Structure",查看 "Project" 和 "Module" 栏目中的 Java 版本是否与本地一致。
2. 如果 Java 版本不一致,请修改项目设置中的 Java 版本为 8。
3. 确保开启了注解编译。在 "Settings" -> "Build, Execution, Deployment" -> "Compiler" -> "Annotation Processors" 中勾选 "Enable annotation processing"。
以下是重构后的内容:
Java短代码(快捷代码):
- 变量.sout:输出变量
```java
System.out.println(变量);
```
- soutv:输出变量名和值
```java
System.out.println("变量名 = " + (变量 != null ? 变量 : "true" + true));
```
- 指定变量.soutv:输出指定的变量名
```java
System.out.println("变量名 = " + 指定变量);
```
- soutm:输出当前类名和方法名
```java
System.out.println("当前类名.当前方法");
```
- soutp:输出方法形参名和值
```java
System.out.println("方法形参名 = " + 形参名);
```
以下是重构后的代码,我为每个循环添加了适当的注释:
```java
// length.fori - 从0到指定长度的整数循环
int length = 10;
for (int i = 0; i < length; i++) {
// 在这里执行你的操作
}
// length.forr - 从指定长度倒序到0的整数循环
for (int i = length; i > 0; i--) {
// 在这里执行你的操作
}
// array.fori - 对一个已存在的整数数组进行循环
int[] array = new int[10];
for (int i = 0; i < arr.length; i++) {
// 这里可以访问并操作数组arr中的元素
}
// array.for - Java 8中对集合类(如List)的增强型for循环
List
for (String item : list) {
// 这里可以访问和操作列表中的元素
}
// list.forr - 从尾到头遍历集合的增强型for循环
list.forEach(item -> System.out.println(item));
// itar - Java 5及更早版本中对数组的普通for循环
int[] array = new int[10];
for (int i = 0; i < array.length; i++) {
int value = array[i]; // 你可以使用临时变量存储当前元素的值,或者直接在循环体内引用它,这主要取决于你的需求和编码风格。
}
// array.iter - Java 8中对集合类(如List)的普通增强型for循环
array.stream().forEach(System.out::println); // 如果你正在处理一个包含整数的List,可以使用Java 8的Stream API来简洁地实现这个循环。
```