查看“FAQ:IDEA”的源代码
←
FAQ: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]] == 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 默认情况下: 1、在“调试/运行”某个类之前,会进行“构建”(Build); 2、在“构建”过程中,会检查并报告(项目或模块下的)所有类的错误; 3、若“构建”失败,则取消“调试/运行”。 即:想要“调试/运行”当前类,就必须确保所有类都没有错误。十分不方便。 通过以下两种方式可以解决: # '''运行前不构建''' # '''构建,无错误检查''' * 都只对当前类有效,需要配置类的“'''运行/调试配置'''” === 设置:“运行前不构建” === 如此:可直接“调试/运行”类,而不进行“构建” 【没有“构建”过程,在右下角“通知”无任何提示】 “运行/调试配置”: # 选择配置的类; # 在“运行”栏,点击“修改选项”:勾选 Java 下的“运行前不构建”; : [[File:IDEA:运行前不构建.png|600px]] === 设置:“添加启动前任务”:“构建,无错误检查” === 如此:可在“构建”过程中,不检查类的错误信息 【仍有“构建”过程,在右下角“通知”提示:编译耗时、找到的“错误/警告”】 “运行/调试配置”: # 选择配置的类; # 在“运行”栏,点击“修改选项”:勾选“添加启动前任务”; #: [[File:IDEA:启动前任务.png|600px]] # 在“启动前”栏:添加新任务“构建,无错误检查”; #: [[File:IDEA:启动前“构建,无错误检查”.png|600px]] === P.S.:编译单个类 === 如此:仅“编译”单个类,不会提示其他类错误 步骤: #(在编辑区,将光标定位到需要的类下): # 在导航栏“构建”:点击“重新编译”; : [[File:IDEA:编译单个类.png|600px]] == IDEA:设置 Maven“从本地缓存中获取配置信息” == 创建 Maven 项目时,有一些模板信息默认从远程仓库下载获取,在网络状况不太好时,较为不便。 使用“<span style="color: blue">-DarchetypeCatalog=internal</span>”(用于设置从本地缓存中获取配置信息): * 如果设置了这个参数:第一次从远程拿,以后从本地拿。【要求第一次使用 Maven 必须联网】 : [[File:IDEA:设置Maven:跳过模板下载.png|600px]] == IDEA:为项目添加依赖项 == === 方法一:通过“依赖搜索窗口” === : [[File:IDEA:添加依赖项.png|600px]] 步骤: # 打开“pom.xml”文件; # 使用 '''<code>Alt</code> + <code>Insert</code>''',并选择“'''添加依赖项'''”; # 在“依赖项窗口”: ## 上侧:搜索栏,输入关键字; ## 左侧:结果列表,点击依赖,并选择版本; ## 右侧:显示软件包详情(包括:仓库、项目站点、文档、自述文件等); ## 点击“添加”; # 加载 Maven 变更; === 方法二:通过“依赖项模板” === : [[File:IDEA:添加依赖项_2.png|400px]] 步骤: # 打开“pom.xml”文件; # 使用 '''<code>Alt</code> + <code>Insert</code>''',并选择“'''依赖项模板'''”; # 在模板中分别输入相关内容;【有代码提示,但较慢】 # 加载 Maven 变更; == IDEA:更新 Maven 仓库索引 == Maven 仓库索引,用于在“为项目添加依赖项”时,提供代码提示、结构搜索。【如上节所示】 IDEA 的 Maven 索引位置:“C:\Users\eijux\AppData\Local\JetBrains\IntelliJIdea2022.1\Maven\Indices” 为 Maven 配置了 setting.xml 之后,更新仓库索引可能失败,有以下两种情况。 === 更新失败:网络问题 === 错误信息:“'''Cannot connect to the Maven process. Try again later. If the problem presists, check the Maven Importing JDK settings and restart Intelli IDEA'''”。 由于网络原因,无法连接到该远程仓库。 '''解决''': # 方式一:使用国内仓库或镜像。 #: 如:[https://repo1.maven.org/maven2/ https://repo1.maven.org/maven2/]、[https://repo2.maven.org/maven2/ https://repo2.maven.org/maven2/],不稳定但能用; # 方式二:设置代理: #: “<code>Ctrl + Alt</code> + <code>S</code>”-> ... ->“Maven”->“importing”:在“VM options for importer”项,添加: #: <syntaxhighlight lang="xml">-DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=10800</syntaxhighlight> #: [[File:Idea:为 Maven-importing 设置代理.png|none|thumb|600px|Idea:为 Maven-importing 设置代理]] #* 如果使用 shadowsocks:相关地址不在 PAC 名单中,所以可能需要使用全局模式。 === 更新失败:该仓库不支持仓库索引 === 错误信息:“'''Repository is non-nexus repo, or is not indexed'''”。 配置的远程仓库不支持索引。 '''解决''':使用支持索引的 Maven 仓库; '''P.S.:''' 1、阿里云等Maven仓库“[https://developer.aliyun.com/article/621196 目前还未支持生成和下载 maven indexer 文件]” 2、阿里云 Maven 仓库:“'''阿里不再支持 http 下载,只支持 https'''”。 需要对 Maven->importing(VM options for importer)设置“'''忽略ssl证书的验证'''”:'''“<syntaxhighlight lang="xml" inline>-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true</syntaxhighlight>”'''; 阿里云Maven 使用指南:[[https://developer.aliyun.com/mvn/guide [https://developer.aliyun.com/mvn/guide]] === P.S.:使用 Nexus 私服 === 针对于以上两个问题: 1、国外仓库支持索引,但网络不稳定; 2、国内仓库网络稳定,但不支持索引。 除了使用代理,还有另一种思路:'''使用 nexus 建立 Maven 私服'''。 用私服代理远程仓库,只要保证本地到私服的网络畅通即可。(如果是在本地搭建私服,则同样需要解决私服到远程仓库的网络问题) 参考: 1、“[https://blog.csdn.net/qq_40573891/article/details/80711107?spm=1001.2101.3001.6650.10&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-10.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-10.no_search_link 利用nexus私服,解决IDEA无法下载maven仓库索引文件的终极解决方案]” 2、“[https://blog.csdn.net/u010165638/article/details/89948308 IDEA Maven Repositiory Index 错误/ resource nexus-maven-repository-index.properties does not exist]” 见:'''[[Maven:settings.xml示例#示例二:使用_nexus2/3]]'''
返回至“
FAQ:IDEA
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息