编程导航IDEA话题讨论

IDEA

15 参与
分享

快来分享你的内容吧~

点击登录,快来和大家讨论吧~
表情
图片
话题
打卡
综合
交流
文章
问答

jsp+servlet做的超市商品管理系统

# 超市商品管理系统 ## 项目介绍 这是一个基于JavaWeb技术栈开发的超市商品管理系统,采用传统的MVC架构模式,使用Servlet作为控制器,JSP作为视图层,通过JDBC进行数据库操作。系统提供了商品管理和类别管理的基本功能,并实现了基于角色的访问控制。 ## 技术栈 - 后端:JavaWeb (Servlet + JSP) - 数据库:MySQL 5.7 - 前端:原生JavaScript + CSS - 连接池:JDBC直连 - 项目管理:Eclipse IDE ## 系统特点 1. **用户权限管理** - 支持用户注册和登录功能 - 实现了基于角色的访问控制(RBAC) - 区分普通用户和管理员权限 2. **商品管理功能** - 商品的增删改查操作 - 支持按类别管理商品 - 用户只能管理自己添加的商品 - 管理员可以查看所有商品 3. **类别管理功能** - 商品类别的增删改查操作 - 仅管理员可以管理类别 4. **界面设计** - 清晰的布局结构(header、left menu、content、footer) - 响应式设计,适配不同屏幕尺寸 - 统一的页面风格和操作体验 ## 项目结构 ``` supermarket/ ├── WebContent/ # Web资源目录 │ ├── WEB-INF/ # Web配置目录 │ │ └── web.xml # Web应用配置文件 │ ├── css/ # 样式文件 │ │ └── style.css # 全局样式 │ ├── login.jsp # 登录页面 │ ├── register.jsp # 注册页面 │ ├── product_list.jsp # 商品列表页面 │ ├── product_form.jsp # 商品编辑页面 │ ├── category_list.jsp # 类别列表页面 │ └── category_form.jsp # 类别编辑页面 ├── src/ # Java源代码目录 │ └── com/supermarket/ │ ├── entity/ # 实体类 │ │ ├── User.java │ │ ├── Product.java │ │ └── Category.java │ ├── dao/ # 数据访问层 │ │ ├── UserDao.java │ │ ├── ProductDao.java │ │ └── CategoryDao.java │ ├── servlet/ # 控制器层 │ │ ├── UserServlet.java │ │ ├── ProductServlet.java │ │ └── CategoryServlet.java │ └── util/ # 工具类 │ └── DBUtil.java # 数据库连接工具 └── supermarket.sql # 数据库脚本 ``` ## 代码特点 1. **规范的代码组织** - 采用标准的MVC分层架构 - 清晰的包结构和命名规范 - 统一的编码风格 2. **安全性考虑** - 登录状态验证 - SQL注入防护 - 权限检查机制 3. **用户体验优化** - 表单验证 - 友好的错误提示 - 操作确认提示 4. **代码复用** - 通用的数据库连接工具 - 统一的页面布局 - 可重用的CSS样式 ## 部署说明 1. 创建MySQL数据库,执行`supermarket.sql`脚本 2. 配置`DBUtil.java`中的数据库连接信息 3. 使用Eclipse导入项目 4. 配置Tomcat服务器 5. 部署运行项目 ## 注意事项 1. 请确保MySQL 5.7已正确安装并运行 2. 数据库字符集使用utf8mb4 3. 请根据实际情况修改数据库连接配置 4. 建议使用Eclipse IDE进行开发和调试 <img src="https://pic.code-nav.cn/post_picture/1900441785166540802/4TIgDP3KOcqrUDbH.png" alt="1.png" width="395px" /> <img src="https://pic.code-nav.cn/post_picture/1900441785166540802/dvgILY6Yay2Ar5Xo.png" alt="2.png" width="348px" /> <img src="https://pic.code-nav.cn/post_picture/1900441785166540802/byHxr23xx6r2YHE0.webp" alt="3.png" width="100%" /> <img src="https://pic.code-nav.cn/post_picture/1900441785166540802/eRFXTkkgdnnjK1Bn.webp" alt="4.png" width="100%" /> <img src="https://pic.code-nav.cn/post_picture/1900441785166540802/37NlR5YErZIGKvFq.webp" alt="5.png" width="100%" /> <img src="https://pic.code-nav.cn/post_picture/1900441785166540802/5g564pNy9VWujayh.webp" alt="6.png" width="100%" />

IDEA常用操作经验分享

## 简介 本文系统介绍了如何高效使用开发工具 IDEA,从编码、运行调试等开发过程的各个环节入手,循序渐进地讲解相关操作。结合实际项目开发,内容涵盖常用配置、快捷键、编码技巧、调试技巧以及常用插件等方面,帮助读者全面掌握 IDEA 的高效使用方法。 ![](https://pic.code-nav.cn/post_picture/1768274766864605186/LmKlS2RqfOUlpGtC.webp) ## IDEA通用基础配置 ### 进入设置页面 键入 **CTRL+Alt+S** 或者 **Cmd + ,** 即可直接弹出设置窗口 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/S6Oj7kVUmDmfZZp5.webp" alt="" width="100%" /> ### 取消打开最后打开的项目 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/jjVaHkbFX80OJqGl.webp" alt="" width="100%" /> ### 鼠标滚轮放大缩小文字 勾选下方选项,使用鼠标即可放大或者缩小文字 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/EiO7ple2vT8gMLAR.webp" alt="" width="100%" /> ### 设置IDEA统一使用UTF8编码格式 进入设置后搜索encode将所有可以看见的设置通通改为UTF8即可 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/V2BRFMO3YfKCkGTG.webp" alt="" width="100%" /> ### 显示方法分隔符、行号 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/TYRE5vTgtQux0FUz.webp" alt="" width="100%" /> 方法分隔符效果如下 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/tfXs0yKHutOz5ACb.webp" alt="" width="100%" /> ### 提示忽略大小写 ![](https://oawgxwlxb5z.feishu.cn/space/api/box/stream/download/asynccode/?code=MjkwZTRiNWJhNDQ3YTc2Njk4NjdkYWVlNWZkYTBiOWJfNnRqZ2pHblZtVWZVOU5maTdGQ1pUQ2Q5SWc0cDJna1JfVG9rZW46Um53ZWJqWGpJb0wyZFh4OXNsb2NMSktUbnVjXzE3Mzk5NzQ3NzE6MTczOTk3ODM3MV9WNA) ### 修改类头的文档注释信息,例如作者等信息 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/wgW5Q331OESqX3fB.webp" alt="" width="100%" /> 常用的预设的变量,这里直接贴出官网给的: - $${PACKAGE_NAME} - the name of the target package where the new class or interface will be created.$${PROJECT_NAME} - the name of the current project. - ${FILE_NAME} - the name of the PHP file that will be created. - $${NAME} - the name of the new file which you specify in the New File dialog box during the file creation. $${USER} - the login name of the current user. - ${DATE} - the current system date. - ${TIME} - the current system time. - ${YEAR} - the current year. - ${MONTH} - the current month. - ${DAY} - the current day of the month. - ${HOUR} - the current hour. - ${MINUTE} - the current minute. - $${PRODUCT_NAME} - the name of the IDE in which the file will be created.$${MONTH_NAME_SHORT} - the first 3 letters of the month name. Example: Jan, Feb, etc. ${MONTH_NAME_FULL} - full name of a month. Example: January, February, etc. ### 开启自动编译 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/Ulq4NcC6Eh6jVhNL.webp" alt="" width="100%" /> ## 编码常见设置 ### 设置自动导包 进入设置后搜索Auto Import,勾选下图选项,IDEA就自动导入相应类的包。 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/BTFKB4moCstQd9k5.webp" alt="" width="100%" /> ### 设置显示TAB栏文件数量 进入设置搜索edit tab,如下图,在这里你可以选择你tab栏目的数量,超过这个数量后IDEA就会将这个tab栏销毁。 ![](https://pic.code-nav.cn/post_picture/1768274766864605186/aSLt8pQ9rfUsme2x.webp) 多行tab效果如下 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/S7zjHcus2UB4eVbO.webp" alt="" width="100%" /> ### IDEA自动跟随文件 我们希望查看哪个类代码,左边导航栏就能跟随显示这个文件所在位置,如下图,勾选这个选项即可 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/CjX7nm3ags2mVblE.webp" alt="" width="100%" /> **注意 :** 我这个是IDEA2024的版本,之前的版本位置可能不太一样。 可以看到我们选择了UserServiceImpl后,左边导航栏也跟随导航栏移动了 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/jxHzyOdQesbDrkdX.webp" alt="" width="100%" /> ## 其他技巧 ### annotate显示代码编写者及时间 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/okH9K55tMfSZBp0Q.webp" alt="" width="100%" /> ### IDEA快捷撤销commit <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/9CMqQtlsaQs4KAlt.webp" alt="" width="100%" /> 选择mixed方式进行处理。 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/1aN7gl7GUEJ5uKhX.webp" alt="" width="100%" /> ### 注释对齐 日常开发中,相信大家在添加注释时都知道使用快捷键 `ctrl + /` ,不过大家可能会遇见下面这种情况: ```Java public DiamondJumpContext(List<User> userList) { //添加注释 for (User user : userList) { // map.put(user.getType(), user); } } ``` 可以看到,使用快捷键 `ctrl + /` 添加注释代码或者注释已有代码时,默认是在首行位置,无法与下方 `for` 循环代码自动对齐,造成了视觉上的不美观,那如何解决这个问题嘞?其实解决方法就藏在 IDEA 里,我来告诉大家如何设置。 打开 IDEA 设置 `Editor -> Code Style -> Java -> Code Generation`,找到下方的 `Comment code` 区域, 取消 `Line comment at first column` 的默认勾选,将 `Add a space at line comment start` 以及 `Enforce on reformat` 打上勾就可以了。如下图所示, <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/lBErBYmEOEAjXZbo.webp" alt="" width="100%" /> ### 快速创建包目录 不会还有人创建目录是一个一个创建的吧,那可太麻烦了,今天Leo哥教你一个快速创建目录的技巧。 在创建 Java 类时,直接写出包目录名称通过 `.` 拼接即可,如下图新建 Java 类时填上 `org.leocoder.controller` <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/HGniz1pX5aghLvB8.webp" alt="" width="100%" /> ### 多实例启动 在本地开发微服务项目时,如果需要验证网关的负载均衡及服务上下线的感知能力,通常需要启用多实例启动。所谓多实例启动,就是能够在本地同时启动多个相同的服务。例如,项目中有一个 MobileApplication 服务,现在我们希望同时启动两个 MobileApplication 服务,并通过不同的端口来区分它们。IDEA 本身是支持这种操作的,接下来我将介绍如何启用该功能。首先,打开服务配置页面,点击 **Modify options** 选项进行修改。 <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/NznZIYfWJ2pcxo8l.webp" alt="" width="100%" /> 勾选打开 `Operation System -> Alow multiple instance` ,继续勾选打开 `Java -> Program arguments`,然后在 `Program arguments` 输入框中指定端口,在 `Spring` 项目中通过 `--server.port=9999`,如下图(注意每次启动实例时,这里的端口不能相同): <img src="https://pic.code-nav.cn/post_picture/1768274766864605186/k8jF0eFpNJHGv3GV.webp" alt="" width="100%" /> 在 `Modify options` 选项中还有许多常用功能,对于日常开发都是很多帮助的,比如 `Java -> add VM options` 可以用来添加 jvm 启动参数等。 ## 开发常见快捷键 ### 批量set变量 有时候我们在开发中会遇到一个对象需要set多个值,我们就可以安装这个插件解决问题 ## 快捷键大全简易版(Windows) ### Ctrl | | | |---|---| |快捷键|介绍| |Ctrl + F|在当前文件进行文本查找 `(必备)`| |Ctrl + R|在当前文件进行文本替换 `(必备)`| |Ctrl + Z|撤销 `(必备)`| |Ctrl + Y|删除光标所在行 或 删除选中的行 `(必备)`| |Ctrl + X|剪切光标所在行 或 剪切选择内容| |Ctrl + C|复制光标所在行 或 复制选择内容| |Ctrl + D|复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面 `(必备)`| |Ctrl + W|递进式选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展选中范围 `(必备)`| |Ctrl + E|显示最近打开的文件记录列表| |Ctrl + N|根据输入的 **类名** 查找类文件| |Ctrl + G|在当前文件跳转到指定行处| |Ctrl + J|插入自定义动态代码模板| |Ctrl + P|方法参数提示显示| |Ctrl + Q|光标所在的变量 / 类名 / 方法名等上面(也可以在提示补充的时候按),显示文档内容| |Ctrl + U|前往当前光标所在的方法的父类的方法 / 接口定义| |Ctrl + B|进入光标所在的方法/变量的接口或是定义出,等效于 `Ctrl + 左键单击`| |Ctrl + K|版本控制提交项目,需要此项目有加入到版本控制才可用| |Ctrl + T|版本控制更新项目,需要此项目有加入到版本控制才可用| |Ctrl + H|显示当前类的层次结构| |Ctrl + O|选择可重写的方法| |Ctrl + I|选择可继承的方法| |Ctrl + +|展开代码| |Ctrl + -|折叠代码| |Ctrl + /|注释光标所在行代码,会根据当前不同文件类型使用不同的注释符号 `(必备)`| |Ctrl + [|移动光标到当前所在代码的花括号开始位置| |Ctrl + ]|移动光标到当前所在代码的花括号结束位置| |Ctrl + F1|在光标所在的错误代码出显示错误信息| |Ctrl + F3|调转到所选中的词的下一个引用位置| |Ctrl + F4|关闭当前编辑文件| |Ctrl + F8|在 Debug 模式下,设置光标当前行为断点,如果当前已经是断点则去掉断点| |Ctrl + F9|执行 Make Project 操作| |Ctrl + F11|选中文件 / 文件夹,使用助记符设定 / 取消书签| |Ctrl + F12|弹出当前文件结构层,可以在弹出的层上直接输入,进行筛选| |Ctrl + Tab|编辑窗口切换,如果在切换的过程又加按上delete,则是关闭对应选中的窗口| |Ctrl + Enter|智能分隔行| |Ctrl + End|跳到文件尾| |Ctrl + Home|跳到文件头| |Ctrl + Space|基础代码补全,默认在 Windows 系统上被输入法占用,需要进行修改,建议修改为 `Ctrl + 逗号` `(必备)`| |Ctrl + Delete|删除光标后面的单词或是中文句| |Ctrl + BackSpace|删除光标前面的单词或是中文句| |Ctrl + 1,2,3...9|定位到对应数值的书签位置| |Ctrl + 左键单击|在打开的文件标题上,弹出该文件路径| |Ctrl + 光标定位|按 Ctrl 不要松开,会显示光标所在的类信息摘要| |Ctrl + 左方向键|光标跳转到当前单词 / 中文句的左侧开头位置| |Ctrl + 右方向键|光标跳转到当前单词 / 中文句的右侧开头位置| |Ctrl + 前方向键|等效于鼠标滚轮向前效果| |Ctrl + 后方向键|等效于鼠标滚轮向后效果| ### Alt | | | |---|---| |快捷键|介绍| |Alt + `|显示版本控制常用操作菜单弹出层| |Alt + Q|弹出一个提示,显示当前类的声明 / 上下文信息| |Alt + F1|显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择| |Alt + F2|对于前面页面,显示各类浏览器打开目标选择弹出层| |Alt + F3|选中文本,逐个往下查找相同文本,并高亮显示| |Alt + F7|查找光标所在的方法 / 变量 / 类被调用的地方| |Alt + F8|在 Debug 的状态下,选中对象,弹出可输入计算表达式调试框,查看该输入内容的调试结果| |Alt + Home|定位 / 显示到当前文件的 `Navigation Bar`| |Alt + Enter|IntelliJ IDEA 根据光标所在问题,提供快速修复选择,光标放在的位置不同提示的结果也不同 `(必备)`| |Alt + Insert|代码自动生成,如生成对象的 set / get 方法,构造函数,toString() 等| |Alt + 左方向键|按左方向切换当前已打开的文件视图| |Alt + 右方向键|按右方向切换当前已打开的文件视图| |Alt + 前方向键|当前光标跳转到当前文件的前一个方法名位置| |Alt + 后方向键|当前光标跳转到当前文件的后一个方法名位置| |Alt + 1,2,3...9|显示对应数值的选项卡,其中 1 是 Project 用得最多| ### Shift | | | |---|---| |快捷键|介绍| |Shift + F1|如果有外部文档可以连接外部文档| |Shift + F2|跳转到上一个高亮错误 或 警告位置| |Shift + F3|在查找模式下,查找匹配上一个| |Shift + F4|对当前打开的文件,使用新Windows窗口打开,旧窗口保留| |Shift + F6|对文件 / 文件夹 重命名| |Shift + F7|在 Debug 模式下,智能步入。断点所在行上有多个方法调用,会弹出进入哪个方法| |Shift + F8|在 Debug 模式下,跳出,表现出来的效果跟 `F9` 一样| |Shift + F9|等效于点击工具栏的 `Debug` 按钮| |Shift + F10|等效于点击工具栏的 `Run` 按钮| |Shift + F11|弹出书签显示层| |Shift + Tab|取消缩进| |Shift + ESC|隐藏当前 或 最后一个激活的工具窗口| |Shift + End|选中光标到当前行尾位置| |Shift + Home|选中光标到当前行头位置| |Shift + Enter|开始新一行。光标所在行下空出一行,光标定位到新行位置| |Shift + 左键单击|在打开的文件名上按此快捷键,可以关闭当前打开文件| |Shift + 滚轮前后滚动|当前文件的横向滚动轴滚动| ### Ctrl + Alt | | | |---|---| |快捷键|介绍| |Ctrl + Alt + L|格式化代码,可以对当前文件和整个包目录使用 `(必备)`| |Ctrl + Alt + O|优化导入的类,可以对当前文件和整个包目录使用 `(必备)`| |Ctrl + Alt + I|光标所在行 或 选中部分进行自动代码缩进,有点类似格式化| |Ctrl + Alt + T|对选中的代码弹出环绕选项弹出层| |Ctrl + Alt + J|弹出模板选择窗口,讲选定的代码加入动态模板中| |Ctrl + Alt + H|调用层次| |Ctrl + Alt + B|在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口| |Ctrl + Alt + V|快速引进变量| |Ctrl + Alt + Y|同步、刷新| |Ctrl + Alt + S|打开 IntelliJ IDEA 系统设置| |Ctrl + Alt + F7|显示使用的地方。寻找被该类或是变量被调用的地方,用弹出框的方式找出来| |Ctrl + Alt + F11|切换全屏模式| |Ctrl + Alt + Enter|光标所在行上空出一行,光标定位到新行| |Ctrl + Alt + Home|弹出跟当前文件有关联的文件弹出层| |Ctrl + Alt + Space|类名自动完成| |Ctrl + Alt + 左方向键|退回到上一个操作的地方 `(必备)**(注意与其他软件快捷键冲突)**`| |Ctrl + Alt + 右方向键|前进到上一个操作的地方 `(必备)**(注意与其他软件快捷键冲突)**`| |Ctrl + Alt + 前方向键|在查找模式下,跳到上个查找的文件| |Ctrl + Alt + 后方向键|在查找模式下,跳到下个查找的文件| ### Ctrl + Shift | | | |---|---| |快捷键|介绍| |Ctrl + Shift + F|根据输入内容查找整个项目 或 指定目录内文件 `(必备)`| |Ctrl + Shift + R|根据输入内容替换对应内容,范围为整个项目 或 指定目录内文件 `(必备)`| |Ctrl + Shift + J|自动将下一行合并到当前行末尾 `(必备)`| |Ctrl + Shift + Z|取消撤销 `(必备)`| |Ctrl + Shift + W|递进式取消选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展取消选中范围 `(必备)`| |Ctrl + Shift + N|通过文件名定位 / 打开文件 / 目录,打开目录需要在输入的内容后面多加一个正斜杠 `(必备)`| |Ctrl + Shift + U|对选中的代码进行大 / 小写轮流转换 `(必备)`| |Ctrl + Shift + T|对当前类生成单元测试类,如果已经存在的单元测试类则可以进行选择| |Ctrl + Shift + C|复制当前文件磁盘路径到剪贴板| |Ctrl + Shift + V|弹出缓存的最近拷贝的内容管理器弹出层| |Ctrl + Shift + E|显示最近修改的文件列表的弹出层| |Ctrl + Shift + H|显示方法层次结构| |Ctrl + Shift + B|跳转到类型声明处| |Ctrl + Shift + I|快速查看光标所在的方法 或 类的定义| |Ctrl + Shift + A|查找动作 / 设置| |Ctrl + Shift + /|代码块注释 `(必备)`| |Ctrl + Shift + [|选中从光标所在位置到它的顶部中括号位置| |Ctrl + Shift + ]|选中从光标所在位置到它的底部中括号位置| |Ctrl + Shift + +|展开所有代码| |Ctrl + Shift + -|折叠所有代码| |Ctrl + Shift + F7|高亮显示所有该选中文本,按Esc高亮消失| |Ctrl + Shift + F8|在 Debug 模式下,指定断点进入条件| |Ctrl + Shift + F9|编译选中的文件 / 包 / Module| |Ctrl + Shift + F12|编辑器最大化| |Ctrl + Shift + Space|智能代码提示| |Ctrl + Shift + Enter|自动结束代码,行末自动添加分号 `(必备)`| |Ctrl + Shift + Backspace|退回到上次修改的地方| |Ctrl + Shift + 1,2,3...9|快速添加指定数值的书签| |Ctrl + Shift + 左方向键|在代码文件上,光标跳转到当前单词 / 中文句的左侧开头位置,同时选中该单词 / 中文句| |Ctrl + Shift + 右方向键|在代码文件上,光标跳转到当前单词 / 中文句的右侧开头位置,同时选中该单词 / 中文句| |Ctrl + Shift + 左方向键|在光标焦点是在工具选项卡上,缩小选项卡区域| |Ctrl + Shift + 右方向键|在光标焦点是在工具选项卡上,扩大选项卡区域| |Ctrl + Shift + 前方向键|光标放在方法名上,将方法移动到上一个方法前面,调整方法排序| |Ctrl + Shift + 后方向键|光标放在方法名上,将方法移动到下一个方法前面,调整方法排序| ### Alt + Shift | | | |---|---| |快捷键|介绍| |Alt + Shift + N|选择 / 添加 task| |Alt + Shift + F|显示添加到收藏夹弹出层| |Alt + Shift + C|查看最近操作项目的变化情况列表| |Alt + Shift + F|添加到收藏夹| |Alt + Shift + I|查看项目当前文件| |Alt + Shift + F7|在 Debug 模式下,下一步,进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入| |Alt + Shift + F9|弹出 `Debug` 的可选择菜单| |Alt + Shift + F10|弹出 `Run` 的可选择菜单| |Alt + Shift + 左键双击|选择被双击的单词 / 中文句,按住不放,可以同时选择其他单词 / 中文句| |Alt + Shift + 前方向键|移动光标所在行向上移动| |Alt + Shift + 后方向键|移动光标所在行向下移动| ### Ctrl + Shift + Alt | | | |---|---| |快捷键|介绍| |Ctrl + Shift + Alt + V|无格式黏贴| |Ctrl + Shift + Alt + N|前往指定的变量 / 方法| |Ctrl + Shift + Alt + S|打开当前项目设置| |Ctrl + Shift + Alt + C|复制参考信息| ### 其他 | | | |---|---| |快捷键|介绍| |F2|跳转到下一个高亮错误 或 警告位置 `(必备)`| |F3|在查找模式下,定位到下一个匹配处| |F4|编辑源| |F7|在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中| |F8|在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内| |F9|在 Debug 模式下,恢复程序运行,但是如果该断点下面代码还有断点则停在下一个断点上| |F11|添加书签| |F12|回到前一个工具窗口| |Tab|缩进| |ESC|从工具窗口进入代码文件窗口| |连按两次Shift|弹出 `Search Everywhere` 弹出层| ## 快捷键大全(Mac版) ### Editing(编辑) | | | |---|---| |快捷键|说明| |⌃Space|基本的代码补全(补全任何类、方法、变量)| |⌃⇧Space|智能代码补全(过滤器方法列表和变量的预期类型)| |⌘⇧↩|自动结束代码,行末自动添加分号| |⌘P|显示方法的参数信息| |⌃J, Mid. button click|快速查看文档| |⇧F1|查看外部文档(在某些代码上会触发打开浏览器显示相关文档)| |⌘+鼠标放在代码上|显示代码简要信息| |⌘F1|在错误或警告处显示具体描述信息| |⌘N, ⌃↩, ⌃N|生成代码(getter、setter、构造函数、hashCode/equals,toString)| |⌃O|覆盖方法(重写父类方法)| |⌃I|实现方法(实现接口中的方法)| |⌘⌥T|包围代码(使用 if…else, try…catch, for, synchronized 等包围 选中的代码)| |⌘/|注释/取消注释与行注释| |⌘⌥/|注释/取消注释与块注释| |⌥↑|连续选中代码块| |⌥↓|减少当前选中的代码块| |⌃⇧Q|显示上下文信息| |⌥↩|显示意向动作和快速修复代码| |⌘⌥L|格式化代码| |⌃⌥O|优化 import| |⌃⌥I|自动缩进线| |⇥ / ⇧⇥|缩进代码 / 反缩进代码| |⌘X|剪切当前行或选定的块到剪贴板| |⌘C|复制当前行或选定的块到剪贴板| |⌘V|从剪贴板粘贴| |⌘⇧V|从最近的缓冲区粘贴| |⌘D|复制当前行或选定的块| |⌘⌫|删除当前行或选定的块的行| |⌃⇧J|智能的将代码拼接成一行| |⌘↩|智能的拆分拼接的行| |⇧↩|开始新的一行| |⌘⇧U|大小写切换| |⌘⇧] / ⌘⇧[|选择直到代码块结束/开始| |⌥⌦|删除到单词的末尾(⌦ 键为 Fn+Delete)| |⌥⌫|删除到单词的开头| |⌘+ / ⌘-|展开 / 折叠代码块| |⌘⇧+|展开所以代码块| |⌘⇧-|折叠所有代码块| |⌘W|关闭活动的编辑器选项卡| ### Search/Replace(查询/替换) | | | |---|---| |Double ⇧|查询任何东西| |⌘F|文件内查找| |⌘G|查找模式下,向下查找| |⌘⇧G|查找模式下,向上查找| |⌘R|文件内替换| |⌘⇧F|全局查找(根据路径)| |⌘⇧R|全局替换(根据路径)| |⌘⇧S|查询结构(Ultimate Edition 版专用,需要在 Keymap 中设置)| |⌘⇧M|替换结构(Ultimate Edition 版专用,需要在 Keymap 中设置)| ### Usage Search(使用查询) | | | |---|---| |按键|说明| |⌥F7 / ⌘F7|在文件中查找用法 / 在类中查找用法| |⌘⇧F7|在文件中突出显示的用法| |⌘⌥F7|显示用法| ### Compile and Run(编译和运行) | | | |---|---| |按键|说明| |⌘F9|编译 Project| |⌘⇧F9|编译选择的文件、包或模块| |⌃⌥R|弹出 Run 的可选择菜单| |⌃⌥D|弹出 Debug 的可选择菜单| |⌃R|运行| |⌃D|调试| |⌃⇧R, ⌃⇧D|从编辑器运行上下文环境配置| ### Debugging(调试) | | | |---|---| |按键|说明| |F8|进入下一步,如果当前行断点是一个方法,则不进入当前方法体内| |F7|进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中| |⇧F7|智能步入,断点所在行上有多个方法调用,会弹出进入哪个方法| |⇧F8|跳出| |⌥F9|运行到光标处,如果光标前有其他断点会进入到该断点| |⌥F8|计算表达式(可以更改变量值使其生效)| |⌘⌥R|恢复程序运行,如果该断点下面代码还有断点则停在下一个断点上| |⌘F8|切换断点(若光标当前行有断点则取消断点,没有则加上断点)| |⌘⇧F8|查看断点信息| ### Navigation(导航) | | | |---|---| |按键|说明| |⌘O|查找类文件| |⌘⇧O|查找所有类型文件、打开文件、打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠/| |⌘⌥O|前往指定的变量 / 方法| |⌃← / ⌃→|左右切换打开的编辑 tab 页| |F12|返回到前一个工具窗口| |⎋|从工具窗口进入代码文件窗口| |⇧⎋|隐藏当前或最后一个活动的窗口,且光标进入代码文件窗口| |⌘⇧F4|关闭活动 run/messages/find/… tab| |⌘L|在当前文件跳转到某一行的指定处| |⌘E|显示最近打开的文件记录列表| |⌘⌥← / ⌘⌥→|退回 / 前进到上一个操作的地方| |⌘⇧⌫|跳转到最后一个编辑的地方| |⌥F1|显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择(如在 代码编辑窗口可以选择显示该文件的 Finder)| |⌘B / ⌘|鼠标点击 进入光标所在的方法/变量的接口或是定义处| |⌘⌥B|跳转到实现处,在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口| |⌥ Space, ⌘Y|快速打开光标所在方法、类的定义| |⌃⇧B|跳转到类型声明处| |⌘U|前往当前光标所在方法的父类的方法 / 接口定义| |⌃↓ / ⌃↑|当前光标跳转到当前文件的前一个/后一个方法名位置| |⌘] / ⌘[|移动光标到当前所在代码的花括号开始/结束位置| |⌘F12|弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法)| |⌃H|显示当前类的层次结构| |⌘⇧H|显示方法层次结构| |⌃⌥H|显示调用层次结构| |F2 / ⇧F2|跳转到下一个/上一个突出错误或警告的位置| |F4 / ⌘↓|编辑/查看代码源| |⌥ Home|显示到当前文件的导航条| |F3|选中文件/文件夹/代码行,添加/取消书签| |⌥F3|选中文件/文件夹/代码行,使用助记符添加/取消书签| |⌃0…⌃9|定位到对应数值的书签位置| |⌘F3|显示所有书签| ### Refactoring(重构) | | | |---|---| |按键|说明| |F5|复制文件到指定目录| |F6|移动文件到指定目录| |⌘⌫|在文件上为安全删除文件,弹出确认框| |⇧F6|重命名文件| |⌘F6|更改签名| |⌘⌥N|一致性| |⌘⌥M|将选中的代码提取为方法| |⌘⌥V|提取变量| |⌘⌥F|提取字段| |⌘⌥C|提取常量| |⌘⌥P|提取参数| ### VCS(版本控制) | | | |---|---| |按键|说明| |⌘K|提交代码到版本控制器| |⌘T|从版本控制器更新代码| |⌥⇧C|查看最近的变更记录| |⌃C|快速弹出版本控制器操作面板| ### General(通用) | | | | ------ | ----------------------------------------------- | | 按键 | 说明 | | ⌘1…⌘9 | 打开相应编号的工具窗口 | | ⌘S | 保存所有 | | ⌘⌥Y | 同步、刷新 | | ⌃⌘F | 切换全屏模式 | | ⌘⇧F12 | 切换最大化编辑器 | | ⌥⇧F | 添加到收藏夹 | | ⌥⇧I | 检查当前文件与当前的配置文件 | | §⌃, ⌃` | 快速切换当前的 scheme(切换主题、代码样式等) | | ⌘, | 打开 IDEA 系统设置 | | ⌘; | 打开项目结构对话框 | | ⇧⌘A | 查找动作(可设置相关选项) | | ⌃⇥ | 编辑窗口标签和工具窗口之间切换(如果在切换的过程加按上 delete,则是关闭对应选中的窗口) |

不是,这玩意咋关啊

我已经成功破解了最新版的 IntelliJ IDEA,但发现远程开发功能尚未破解。有没有什么办法可以解决这个问题?

IDEA配置SSH

我在IDEA中配置SSH的时候,已经成功链接到了服务器上,但是没法在服务器上安装IDEA(具体有文档和B站视频) 一、IDEA配置SSH(第二种方法从21分开始):https://www.bilibili.com/video/BV1h94y1k7Jf/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=bc7321e251f9b802a3a76918caa94c5e 二、CSDN文档地址:https://blog.csdn.net/DongShanAAA/article/details/133967672?spm=1001.2014.3001.5506 <img src="https://pic.code-nav.cn/post_picture/1859055657086455809/a2gA3hfBHCj8BShX.webp" alt="6启动IDE-3.png" width="100%" />

idea中创建类发现目录折叠问题

想在idea中的某一个目录下创建一个类,但是发现目录和下级目录折叠了,导致创建不了,如下图,想在judge目录下创建一个Judge类,但是现在只能创建到codeSandbo下 <img src="https://pic.code-nav.cn/post_picture/1673341687373500418/lc71W5ejSNoKikCq.webp" alt="image.png" width="100%" /> 解决办法: <img src="https://pic.code-nav.cn/post_picture/1673341687373500418/sYkjAWXOG5xlJpk7.webp" alt="image.png" width="100%" />

请教公司沙盒内网如何使用通义灵码等 AI 大模型工具?

### 问题描述 公司是内网,在 IDEA 编码,使用不了通义灵码等 AI 大模型辅助编程工具。 想请教大家,怎么解决: 1. 编写代码的时候,可以使用通义灵码等类似 AI 辅助工具。 2. 提交代码,又可以切换到公司的内网 git 仓库。 ### 背景信息 1. 公司有一个沙盒软件,对应一个加密磁盘,比如 D 盘。IDEA 和项目代码都是在沙盒内,钉钉等通讯软件是在沙盒外打开。沙盒外的东西可以拷贝到沙盒内,沙盒内的东西不能拷贝到沙盒外(复制代码也限制长度)。 2. 公司有保密要求,开放内网连接外网不太现实。 3. 公司暂不能提供显卡、服务器去部署本地模型。 ### 已有理解 有没有可能通过网络代理解决这个问题,类似 Clash 的思路。 目前本地是可以沙盒外打开 Clash,再开一个沙盒外的浏览器,去访问 Google。 了解到 IDEA 和通义灵码都是可以进行代理设置的,但是不知道怎么打通这个链路。 IDEA: <img src="https://pic.code-nav.cn/post_picture/1628199974003093506/gS9b0sF0d1w1Y0bE.webp" alt="image.png" width="100%" /> 通义灵码: <img src="https://pic.code-nav.cn/post_picture/1628199974003093506/h68eYhVMtfWDilpT.webp" alt="image.png" width="100%" />

请问下大家,有时候复制了别人的代码后,会缺少一些依赖,有没有快捷的方法把这些依赖添加到pom文件中?目前我的方法是从Maven官网上复制依赖信息,然后粘贴到pom文件中,这样有点麻烦。IDE是IDEA。

🔥 编程导航@鱼皮 @Yes 哥 模拟面试回放已上传: 第一位同学:25 届 985 本计算机专业,在银行和大厂实习过,挑战 50 万大厂 ssp 年包。 第二位同学:浙江 1 年 Java 经验,目前薪资到手 5000+,Leader 让我负责项目管理和业务沟通,没有再做开发工作很尴尬。想尽快跳槽,期望薪资 8K。 📺 直播回放:https://www.codefather.cn/live

为什么我的IDEA只能把折叠的代码打开一瞬间就关闭了?,有大佬知道吗

为什么我的IDEA只能把折叠的代码打开一瞬间就关闭了?,有大佬知道吗

下载 APP