“FAQ:IDEA”的版本间差异

来自Wikioe
跳到导航 跳到搜索
标签手工回退
 
(未显示同一用户的36个中间版本)
第1行: 第1行:
[[category:IDEA]]
[[category:IDEA]]
== IDEA 删除残留的 IDE 目录(旧版本内容清理) ==
IDEA 不断更新升级,在机器中就会不断残留旧版本的一系列内容(设置、缓存、插件等等)。
删除它们可释放空间,且不影响当前版本的稳定性。
步骤:
# 导航栏:“帮助”->“删除残留的 IDE 目录”;
#: [[File:IDEA:删除残留的 IDE 目录_1.png|200px]]
# 右下角:点击“查看并删除”;
#: [[File:IDEA:删除残留的 IDE 目录_2.png|400px]]
# 弹出窗口:勾选,删除;
#: [[File:IDEA:删除残留的 IDE 目录_3.png|400px]]
以上清理只针对 IDEA 的旧版本,其他产品(如:PhpStorm、WebStorm)可以'''手动清理''':
位置 1:“C:\Users\eijux\AppData\Roaming\JetBrains\”
位置 2:“C:\Users\eijux\AppData\Local\JetBrains\”
【注意:手动清理时,不要删除当前版本的内容!!!】
== IDEA 位置信息 ==
各个位置:
# '''安装目录''':“D:\Program Files\JetBrains\IntelliJ IDEA”;
# '''配置相关''':“C:\Users\eijux\AppData\Roaming\JetBrains\IntelliJIdea2022.1”;
#* 包括:代码风格、扩展、插件、键盘映射 等等。
# '''使用相关''':“C:\Users\eijux\AppData\Local\JetBrains\IntelliJIdea2022.1”;
#* 包括:缓存、索引、日志、文件历史、本地历史、Maven 等等。
# ???:“C:\Users\eijux\.ideaLibSources”;
=== 日志 ===
# IDEA 中:
#: [[File:IDEA:在 Explorer 中显示日志.png|200px]]
# Explorer 中:
#: “C:\Users\eijux\AppData\Local\JetBrains\IntelliJIdea2022.1\log”
== IDEA 调试按钮 ==
Debug 窗口:
: [[File:IDEA:Debug窗体.png|1000px]]
Debug 操作:
: [[File:IDEA:Debug操作.png|200px]]
=== Debug:调试按钮 ===
: [[File:IDEA:Debug调试按钮.png|200px]]
# '''显示执行点'''(Show Execution Point,<code>Alt + F10</code>):
#: 如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行。
# '''步过'''(Step Over,<code>F8</code>):
#: 一行一行地往下走,如果这一行上有方法不会进入方法。
# '''步入'''(Step Into,<code>F7</code>):
#: 如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。
# '''强制步入'''(Force Step Into,<code>Alt + Shift + F7</code>):
#: 能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。
# '''步出'''(Step Out,<code>Shift + F8</code>):
#: 从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。
# '''运行到光标处'''(Run to Cursor,<code>Alt + F9</code>):
#: 你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。
# '''评估表达式'''(Evaluate Expression,<code>Alt + F8</code>)
#* 表达式不仅可以是算数计算,也可以是一般变量、参数,还可以是'''方法''';
#* 在计算表达式的框里,'''可以改变变量的值''',这样就能能很方便去调试各种值的情况;
=== Debug:服务按钮 ===
: [[File:IDEA:Debug服务按钮.png|left|thumb|25px]]
# '''重新运行'''(<code>Ctrl + F5</code>)
# '''修改运行配置'''(<code>Ctrl + F5</code>)
# '''恢复程序'''(Resume Program,<code>F9</code>):向下执行程序,直到下一个断点。
# '''暂停程序'''(Pause Program)
# '''停止程序'''(Stop 'xxx',<code>Ctrl + F2</code>)
# '''查看断点'''(View Breakpoints,<code>Ctrl + Shift + F8</code>)
# '''静音断点'''(Mute Breakpoints):使所有断点失效(变为灰色)
#* 此时,按 F9 则可以直接运行完程序;
#* 如果只想使某一个断点失效,可以在断点上右键取消“Enabled”;
== IDEA 打包流程 ==
步骤:
# 打开“项目结构”('''<code>Ctrl + Alt + Shift + S</code>''');
#: 选择“工件”(Artifacts)-> 添加“JAR”-> 选择:“空”或“来自具有依赖项的模块”
#: [[File:IDEA:打包流程:添加工件.png|400px]]
## JAR:“空”
### 修改名称;
###: [[File:IDEA:打包流程:添加工件:“JAR—空”_1.png|400px]]
### 设置清单;
###: [[File:IDEA:打包流程:添加工件:“JAR—空”_2.png|400px]]
### 指定主类;
###: [[File:IDEA:打包流程:添加工件:“JAR—空”_3.png|400px]]
### 添加元素;(向 Jar 添加编译后的 Class 文件)
###: [[File:IDEA:打包流程:添加工件:“JAR—空”_4.png|400px]]
## JAR:“来自具有依赖项的模块”【即:从模块创建JAR】
### 设置向导:模块、主类:
###: [[File:IDEA:打包流程:添加工件:“从模块创建JAR”_1.png|400px]]
### 工件详情:
###: [[File:IDEA:打包流程:添加工件:“从模块创建JAR”_2.png|400px]]
# 构建工件:
#: [[File:IDEA:打包流程:构建工件_1.png|400px]]
#: [[File:IDEA:打包流程:构建工件_2.png|400px]]
# Jar 包测试:
#: [[File:IDEA:打包流程:测试 jar 包.png|400px]]
=== 关于:“META-INF/MANIFEST.MF”的位置 ===
如果您使用 Intellij Idea 构建 JAR 文件,Intellij Idea 将自动选择“清单文件”(<span style="color: green">'''META-INF/MANIFEST.MF'''</span>)的位置。如果您使用其他构建系统(如:Gralde、Maven),则需要使用资源文件夹(<span style="color: green">'''resources'''</span>)来存储清单。
如上,使用 IDEA 来构建 JAR 文件,所以自动选择 META-INF/MANIFEST.MF 位置就好。
== IDEA 代码模板 ==
=== 实时模板 ===
设置:
: [[File:IDEA设置:实时模板.png|600px]]
使用示例:
# '''psvm''' 或 '''main''':
#: 输入:
#: <syntaxhighlight lang="Java" highlight="2">
public class Test {
    psvm
}
</syntaxhighlight>
#: 效果:
#: <syntaxhighlight lang="Java" highlight="2-4">
public class Test {
    public static void main(String[] args) {
       
    }
}
</syntaxhighlight>
# '''sout''':
#: 输入:
#: <syntaxhighlight lang="Java" highlight="3">
public class Test {
    public static void main(String[] args) {
        sout
    }
}
</syntaxhighlight>
#: 效果:
#: <syntaxhighlight lang="Java" highlight="3">
public class Test {
    public static void main(String[] args) {
        System.out.println();
    }
}
</syntaxhighlight>
=== 后缀补全 ===
设置:
: [[File:IDEA设置:后缀补全.png|600px]]
使用示例:
# xxx'''.sout''':
#: 输入:
#: <syntaxhighlight lang="Java" highlight="3">
public class Test {
    public static void main(String[] args) {
        "你好".sout
    }
}
</syntaxhighlight>
#: 效果:
#: <syntaxhighlight lang="Java" highlight="3">
public class Test {
    public static void main(String[] args) {
        System.out.println("你好");
    }
}
</syntaxhighlight>
# xxx'''.try''':
#: 输入:
#: <syntaxhighlight lang="Java" highlight="3">
public class Test {
    public static void main(String[] args) {
        Helloworld.main(args);.try
    }
}
</syntaxhighlight>
#: 效果:
#: <syntaxhighlight lang="Java" highlight="3-7">
public class Test {
    public static void main(String[] args) {
        try {
            Helloworld.main(args);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}
</syntaxhighlight>


== IDEA 运行前构建会检查出所有类的错误 ==
== IDEA 运行前构建会检查出所有类的错误 ==
  IDEA 默认情况下:
  IDEA 默认情况下:
  1、在“调试/运行”某个类之前,会进行“构建”;
  1、在“调试/运行”某个类之前,会进行“构建”(Build);
  2、在“构建”过程中,会检查并报告(项目或模块下的)所有类的错误;
  2、在“构建”过程中,会检查并报告(项目或模块下的)所有类的错误;
  3、若“构建”失败,则取消“调试/运行”。
  3、若“构建”失败,则取消“调试/运行”。
第9行: 第197行:
  即:想要“调试/运行”当前类,就必须确保所有类都没有错误。十分不方便。
  即:想要“调试/运行”当前类,就必须确保所有类都没有错误。十分不方便。


通过以下两种方式可以解决。
通过以下两种方式可以解决:
# '''运行前不构建'''
# '''构建,无错误检查'''
* 都只对当前类有效,需要配置类的“'''运行/调试配置'''”
* 都只对当前类有效,需要配置类的“'''运行/调试配置'''”


第15行: 第205行:
=== 设置:“运行前不构建” ===
=== 设置:“运行前不构建” ===
  如此:可直接“调试/运行”类,而不进行“构建”
  如此:可直接“调试/运行”类,而不进行“构建”
【没有“构建”过程,在右下角“通知”无任何提示】


“运行/调试配置”:
“运行/调试配置”:
第23行: 第215行:
=== 设置:“添加启动前任务”:“构建,无错误检查” ===
=== 设置:“添加启动前任务”:“构建,无错误检查” ===
  如此:可在“构建”过程中,不检查类的错误信息
  如此:可在“构建”过程中,不检查类的错误信息
【仍有“构建”过程,在右下角“通知”提示:编译耗时、找到的“错误/警告”】


“运行/调试配置”:
“运行/调试配置”:
第38行: 第232行:
# 在导航栏“构建”:点击“重新编译”;
# 在导航栏“构建”:点击“重新编译”;
: [[File:IDEA:编译单个类.png|600px]]
: [[File:IDEA:编译单个类.png|600px]]
== 如何重新打开主菜单? ==
手欠,把 IDEA 的主菜单显示取消了。(“视图”->“外观”:取消了勾选“工具栏”)
想改回来,突然发现没得地头改了……尴尬
解决:
# <s>通过 ui 配置文件;(“C:\Users\eijux\AppData\Roaming\JetBrains\IntelliJIdea2022.1\options”下“ui.lnf.xml”)</s>
#:【不管用了】
# 通过“'''Search Everywhere'''”窗口;
#: 输入“主菜单”/“main menu”,开启“视图 | 外观:主菜单”。
#: [[File:IDEA:重新打开“主菜单”.png|600px]]
== 控制台输出中文乱码? ==
解决:(添加“'''-Dfile.encoding=UTF-8'''”)
# 修改 idea.vmoptions 文件:(“D:\Program Files\JetBrains\IntelliJ IDEA\bin”)
#: [[File:IDEA:控制台输出中文乱码解决1.png|400px]]
# 修改 Run/Debug Configurations 中的 VM options(虚拟机参数):
#: [[File:IDEA:控制台输出中文乱码解决2.png|400px]]
== 如何自动生成 serialVersionUID? ==
步骤:
# 设置“检查:不带'serialVersionUID'的可序列化类”:
#:(<code>Ctrl + Alt</code> + <code>S</code> -> 编辑器 -> 检查(Inspections):JVM语言)
#: [[File:IDEA:自动生成 serialVersionUID_1.png|400px]]
# 在(实现了“Serializable”接口的)类名上 <code>Alt + Enter</code>:
#: [[File:IDEA:自动生成 serialVersionUID_2.png|400px]]
#* 如需随机更改 serialVersionUID,在值上 <code>Alt + Enter</code>:
#*: [[File:IDEA:自动生成 serialVersionUID_3.png|400px]]
#* 使用“修复快捷键”(<code>Alt + Enter</code>),而不是“生成快捷键”(<code>Alt + Insert</code>);

2022年5月23日 (一) 02:02的最新版本


IDEA 删除残留的 IDE 目录(旧版本内容清理)

IDEA 不断更新升级,在机器中就会不断残留旧版本的一系列内容(设置、缓存、插件等等)。

删除它们可释放空间,且不影响当前版本的稳定性。

步骤:

  1. 导航栏:“帮助”->“删除残留的 IDE 目录”;
    IDEA:删除残留的 IDE 目录 1.png
  2. 右下角:点击“查看并删除”;
    IDEA:删除残留的 IDE 目录 2.png
  3. 弹出窗口:勾选,删除;
    IDEA:删除残留的 IDE 目录 3.png


以上清理只针对 IDEA 的旧版本,其他产品(如:PhpStorm、WebStorm)可以手动清理:

位置 1:“C:\Users\eijux\AppData\Roaming\JetBrains\”
位置 2:“C:\Users\eijux\AppData\Local\JetBrains\”

【注意:手动清理时,不要删除当前版本的内容!!!】

IDEA 位置信息

各个位置:

  1. 安装目录:“D:\Program Files\JetBrains\IntelliJ IDEA”;
  2. 配置相关:“C:\Users\eijux\AppData\Roaming\JetBrains\IntelliJIdea2022.1”;
    • 包括:代码风格、扩展、插件、键盘映射 等等。
  3. 使用相关:“C:\Users\eijux\AppData\Local\JetBrains\IntelliJIdea2022.1”;
    • 包括:缓存、索引、日志、文件历史、本地历史、Maven 等等。
  4. ???:“C:\Users\eijux\.ideaLibSources”;

日志

  1. IDEA 中:
    IDEA:在 Explorer 中显示日志.png
  2. Explorer 中:
    “C:\Users\eijux\AppData\Local\JetBrains\IntelliJIdea2022.1\log”

IDEA 调试按钮

Debug 窗口:

IDEA:Debug窗体.png

Debug 操作:

IDEA:Debug操作.png

Debug:调试按钮

IDEA:Debug调试按钮.png
  1. 显示执行点(Show Execution Point,Alt + F10):
    如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行。
  2. 步过(Step Over,F8):
    一行一行地往下走,如果这一行上有方法不会进入方法。
  3. 步入(Step Into,F7):
    如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。
  4. 强制步入(Force Step Into,Alt + Shift + F7):
    能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。
  5. 步出(Step Out,Shift + F8):
    从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。
  6. 运行到光标处(Run to Cursor,Alt + F9):
    你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。
  7. 评估表达式(Evaluate Expression,Alt + F8
    • 表达式不仅可以是算数计算,也可以是一般变量、参数,还可以是方法
    • 在计算表达式的框里,可以改变变量的值,这样就能能很方便去调试各种值的情况;

Debug:服务按钮

IDEA:Debug服务按钮.png
  1. 重新运行Ctrl + F5
  2. 修改运行配置Ctrl + F5
  3. 恢复程序(Resume Program,F9):向下执行程序,直到下一个断点。
  4. 暂停程序(Pause Program)
  5. 停止程序(Stop 'xxx',Ctrl + F2
  6. 查看断点(View Breakpoints,Ctrl + Shift + F8
  7. 静音断点(Mute Breakpoints):使所有断点失效(变为灰色)
    • 此时,按 F9 则可以直接运行完程序;
    • 如果只想使某一个断点失效,可以在断点上右键取消“Enabled”;

IDEA 打包流程

步骤:

  1. 打开“项目结构”(Ctrl + Alt + Shift + S);
    选择“工件”(Artifacts)-> 添加“JAR”-> 选择:“空”或“来自具有依赖项的模块”
    IDEA:打包流程:添加工件.png
    1. JAR:“空”
      1. 修改名称;
        IDEA:打包流程:添加工件:“JAR—空” 1.png
      2. 设置清单;
        IDEA:打包流程:添加工件:“JAR—空” 2.png
      3. 指定主类;
        IDEA:打包流程:添加工件:“JAR—空” 3.png
      4. 添加元素;(向 Jar 添加编译后的 Class 文件)
        IDEA:打包流程:添加工件:“JAR—空” 4.png
    2. JAR:“来自具有依赖项的模块”【即:从模块创建JAR】
      1. 设置向导:模块、主类:
        IDEA:打包流程:添加工件:“从模块创建JAR” 1.png
      2. 工件详情:
        IDEA:打包流程:添加工件:“从模块创建JAR” 2.png
  2. 构建工件:
    IDEA:打包流程:构建工件 1.png
    IDEA:打包流程:构建工件 2.png
  3. Jar 包测试:
    IDEA:打包流程:测试 jar 包.png

关于:“META-INF/MANIFEST.MF”的位置

如果您使用 Intellij Idea 构建 JAR 文件,Intellij Idea 将自动选择“清单文件”(META-INF/MANIFEST.MF)的位置。如果您使用其他构建系统(如:Gralde、Maven),则需要使用资源文件夹(resources)来存储清单。

如上,使用 IDEA 来构建 JAR 文件,所以自动选择 META-INF/MANIFEST.MF 位置就好。

IDEA 代码模板

实时模板

设置:

IDEA设置:实时模板.png


使用示例:

  1. psvmmain
    输入:
    public class Test {
        psvm
    }
    
    效果:
    public class Test {
        public static void main(String[] args) {
            
        }
    }
    
  2. sout
    输入:
    public class Test {
        public static void main(String[] args) {
            sout
        }
    }
    
    效果:
    public class Test {
        public static void main(String[] args) {
            System.out.println();
        }
    }
    

后缀补全

设置:

IDEA设置:后缀补全.png


使用示例:

  1. xxx.sout
    输入:
    public class Test {
        public static void main(String[] args) {
            "你好".sout
        }
    }
    
    效果:
    public class Test {
        public static void main(String[] args) {
            System.out.println("你好");
        }
    }
    
  2. xxx.try
    输入:
    public class Test {
        public static void main(String[] args) {
            Helloworld.main(args);.try
        }
    }
    
    效果:
    public class Test {
        public static void main(String[] args) {
            try {
                Helloworld.main(args);
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }
    }
    

IDEA 运行前构建会检查出所有类的错误

IDEA 默认情况下:
1、在“调试/运行”某个类之前,会进行“构建”(Build);
2、在“构建”过程中,会检查并报告(项目或模块下的)所有类的错误;
3、若“构建”失败,则取消“调试/运行”。

即:想要“调试/运行”当前类,就必须确保所有类都没有错误。十分不方便。

通过以下两种方式可以解决:

  1. 运行前不构建
  2. 构建,无错误检查
  • 都只对当前类有效,需要配置类的“运行/调试配置


设置:“运行前不构建”

如此:可直接“调试/运行”类,而不进行“构建”

【没有“构建”过程,在右下角“通知”无任何提示】

“运行/调试配置”:

  1. 选择配置的类;
  2. 在“运行”栏,点击“修改选项”:勾选 Java 下的“运行前不构建”;
IDEA:运行前不构建.png

设置:“添加启动前任务”:“构建,无错误检查”

如此:可在“构建”过程中,不检查类的错误信息

【仍有“构建”过程,在右下角“通知”提示:编译耗时、找到的“错误/警告”】

“运行/调试配置”:

  1. 选择配置的类;
  2. 在“运行”栏,点击“修改选项”:勾选“添加启动前任务”;
    IDEA:启动前任务.png
  3. 在“启动前”栏:添加新任务“构建,无错误检查”;
    IDEA:启动前“构建,无错误检查”.png

P.S.:编译单个类

如此:仅“编译”单个类,不会提示其他类错误

步骤:

  1. (在编辑区,将光标定位到需要的类下):
  2. 在导航栏“构建”:点击“重新编译”;
IDEA:编译单个类.png

如何重新打开主菜单?

手欠,把 IDEA 的主菜单显示取消了。(“视图”->“外观”:取消了勾选“工具栏”)

想改回来,突然发现没得地头改了……尴尬

解决:

  1. 通过 ui 配置文件;(“C:\Users\eijux\AppData\Roaming\JetBrains\IntelliJIdea2022.1\options”下“ui.lnf.xml”)
    【不管用了】
  2. 通过“Search Everywhere”窗口;
    输入“主菜单”/“main menu”,开启“视图 | 外观:主菜单”。
    IDEA:重新打开“主菜单”.png

控制台输出中文乱码?

解决:(添加“-Dfile.encoding=UTF-8”)

  1. 修改 idea.vmoptions 文件:(“D:\Program Files\JetBrains\IntelliJ IDEA\bin”)
    IDEA:控制台输出中文乱码解决1.png
  2. 修改 Run/Debug Configurations 中的 VM options(虚拟机参数):
    IDEA:控制台输出中文乱码解决2.png

如何自动生成 serialVersionUID?

步骤:

  1. 设置“检查:不带'serialVersionUID'的可序列化类”:
    Ctrl + Alt + S -> 编辑器 -> 检查(Inspections):JVM语言)
    IDEA:自动生成 serialVersionUID 1.png
  2. 在(实现了“Serializable”接口的)类名上 Alt + Enter
    IDEA:自动生成 serialVersionUID 2.png
    • 如需随机更改 serialVersionUID,在值上 Alt + Enter
      IDEA:自动生成 serialVersionUID 3.png
    • 使用“修复快捷键”(Alt + Enter),而不是“生成快捷键”(Alt + Insert);