1、原因分析:首先,这种情况估计用教育邮箱申请(白嫖)的太多了,然后(要恰饭的)审核可能比较严,需要上传学生证或者是学信网学籍信息?(我确实是上传了的)
2、步骤:在”https://sales.jetbrains.com/hc/zh-cn”的右上角”提交请求”来联系官方并说明情况。本来觉得会跟腾讯客服一样无人搭理。结果提交情况说明,是真的有用!(上午发的邮件下午就审核通过了!)
许可和购买常见问题解答
3、结果:延长授权一年奥。
从导师角度:
找同组学生做同一个课题,通过“内卷”和恶性竞争,加速实验进程,这是一个所有导师都知道,但是只有各别缺德导师才会用到的手段。俗称“养蛊”。
你的导师保持沉默,你需要警惕了,也许ta正在默许这种行为发生。
从学生角度:
在实验室风气不正,组内恶性竞争频发的地狱环境中,如何生存呢?这里有几个通常的生存手段,不过大多听闻于斯坦福等知名华人导师(组内中国学生规模庞大)组内的闲扯,并未亲见:
1。切忌讨论可行性很高的idea,在任何场合。但可以经常讨论很坑的idea
2。所用实验药品自己单独存放于独立容器中,并以只有你能看得懂的字母命名。
3。合理站队,团结一切可以团结的组员。
4。必要时候“伪造”数据,即在数据不全的前提下,先把写好文章并发给导师,等投稿过程中把数据补全。
很简单,你们学校域名被拉黑了。一般被拉黑可能因为:
- 学校邮箱可以随便注册
- 毕业之后的学生邮箱不收回
- 学校卖邮箱来白嫖的情况太多
- JetBrains歧视大陆学校(划掉
为什么我要把第四点列出来呢,因为在目前565条的黑名单里,北大,清华,复旦,USTC,同济,上交等名校赫然在列。这些学校的邮箱管理是否真的如上述所说违反规定我不可而知,但是看到这些名校被列入stoplist,我还是很伤心的。JetBrains的域名黑名单可以在这里看到:https://github.com/JetBrains/swot/blob/master/lib/domains/stoplist.txt
如果你们学校被拉黑了,或者是你根本就没有带有edu后缀的邮箱(比如example@stu.ahu.edu.cn或者是example@ustc.edu等),那就老老实实的去学信网打开在线认证,在官方文件那一栏按照要求填信息人工审核就好了,我个人的经验是审核时间一般到半天到一周,到不了半个月。
话说,都会搞学生认证了,这个提示都看不懂吗。。。感觉说的已经很清楚了
可以先用学校邮箱弄一个github学生认证,然后将学校邮箱从github的邮箱列表中删除,这个时候用github的学生认证去白嫖jetbrain的,亲测有效(得先把学校邮箱从github中删除,不然jetbrain会以改邮箱为借口拒绝
我们学校的邮箱也被jet brains给ban了,但是我发现了一个方法:
1.在github使用学校邮箱快速得到学生包,好像一个小时就成功了
2.在jetbrains申请学生认证,走github通道申请(但是要先到github的用户邮箱设置里面把学校的邮箱给删除,因为jetbrains看得到,照样会ban你的github账号)
摘要: 从插件安装、插件使用、代码扫描等方面,全面解决你关于阿里巴巴Java开发手册插件的使用疑问。
首先非常感谢大家对插件的支持与意见,这里详细介绍一下《阿里巴巴Java开发手册》IDEA插件与Eclipse插件的安装使用。
一、阿里巴巴Java开发手册IDEA插件使用指南
通过Jetbrains官方仓库安装
- 打开 Settings >> Plugins >> Browse repositories…
2. 在搜索框输入alibaba即可看到Alibaba Java Code Guidelines插件,Install进行安装,然后重启IDE生效
注意:因为插件zip包托管在Jetbrains官方CDN上,所以是从国外的服务器进行下载,可能会出现超时的情况
通过下载安装包进行安装
- 打开插件页面
2. Settings >> Plugins >> Install plugin from disk…,选择刚刚下载的zip包安装,然后重启IDE
注意
最低支持IDEA版本为14.1(buildNumber 141.0,可以在About Intellij IDEA中查看版本信息),使用IDEA14的同学最好升级到14.1.7(历史版本传送门)
插件基于JDK1.7打包,所以IDEA启动时使用的JDK版本如果是1.6的话就会报Unsupported major.minor version 51.0异常,建议大家都升级一下。
中文乱码解决方法
- 修改字体——Appearance&Behavior -> Appearance -> UI Options -> Name 里面设置成微软雅黑(microsoft yahei light)
2. Switch Language to English and restart.
插件使用
目前插件实现了集团编码规约中的41条规则,大部分基于PMD实现,其中有4条规则基于IDEA实现,并且基于IDEA Inspection实现了实时检测功能。部分规则实现了Quick Fix功能,对于可以提供Quick Fix但没有提供的,我们会尽快实现,也欢迎有兴趣的同学加入进来一起努力。
目前插件检测有两种模式:实时检测、手动触发。
实时检测
实时检测功能会在开发过程中对当前文件进行检测,并以高亮的形式提示出来,同时也可以支持Quick Fix,该功能默认开启,可以通过配置关闭。
结果高亮提示
检测结果高亮提示,并且鼠标放上去会弹出提示信息。
Intention QuickFix功能
Alt+Enter键可呼出Intention菜单,不同的规则会提示不同信息的Quick Fix按钮
关闭实时检测
在某些情况下,我们不希望对代码提示违规信息,比如我们在阅读Github开源项目代码的时候,如果界面出现一堆红色、黄色的提示,此时心里肯定是飘过一万只草泥马。这个时候我们可以通过Inspection的设置关闭实时检测功能。
- 通过右键快速关闭(打开)所有规则的实时检测功能
2. 通过Settings >> Editor >> Inspections 进行手动设置
也可以关闭某条规则的实时检测功能或者修改提示级别。
代码扫描
可以通过右键菜单、Toolbar按钮、快捷键三种方式手动触发代码检测。同时结果面板中可以对部分实现了QuickFix功能的规则进行快速修复。
触发扫描
在当前编辑的文件中右键,可以在弹出的菜单中触发对该文件的检测。
在左侧的Project目录树种右键,可以触发对整个工程或者选择的某个目录、文件进行检测。
如果您打开了IDE的Toolbar,也可以通过Toolbar中的按钮来触发检测,目前Toolbar的按钮触发的检测范围与您IDE当时的焦点有关,如当前编辑的文件或者是Project目录树选中的项,是不是感觉与右键菜单的检测范围类似呢。
使用快捷键(Ctrl+Shift+Alt+J)触发弹出窗口,选择检测范围;您也可自定义快捷键。
扫描结果
检测结果直接使用IDEA Run Inspection By Name功能的结果界面,插件的检测结果分级为Blocker、Critical、Major。默认按等级分组,方便统计每个级别错误的数量。
默认情况我们在结果面板需要双击具体违规项才能打开对应的源文件,开启Autoscroll To Source选项,单击面板中的文件名、或者是具体的违规项的时候IDEA会自动打开对应的源文件。
QuickFix
对于实现Quick Fix的规则,在结果面板中可以直接一键修复 注意:IDEA14、15可以通过左下角的灯泡进行一键修复操作。
二、阿里巴巴Java开发手册Eclipse插件使用指南
首先非常感谢大家对插件的支持与意见,Eclipse的功能相对来说比较简单,希望有更多的同学加入进来一起完善。
插件安装
环境:JDK1.8,Eclipse4+。有同学遇到过这样的情况,安装插件重启后,发现没有对应的菜单项,从日志上也看不到相关的异常信息,最后把JDK从1.6升级到1.8解决问题。
Help -> Install New Software…
输入Update Site地址:https://p3c.alibaba.com/plugin/eclipse/update 回车,然后勾选Ali-CodeAnalysis,再一直点Next Next…按提示走下去就好。 然后就是提示重启了,安装完毕。
注意:有同学反映插件扫描会触发JPA插件启动后台线程执行不明任务,如果不需要的话卸载掉JPA插件即可,目前尚未发现原因
插件使用
目前插件实现了开发手册中的53条规则,大部分基于PMD实现,其中有4条规则基于Eclipse实现,支持4条规则的QuickFix功能。
* 所有的覆写方法,必须加@Override注解, * if/for/while/switch/do等保留字与左右括号之间都必须加空格, * long或者Long初始赋值时,必须使用大写的L,不能是小写的l) * Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象来调用equals。
目前不支持代码实时检测,需要手动触发,希望更多的人加入进来一起把咱们的插件做得越来越来,尽量提升研发的使用体验。
代码扫描
可以通过右键菜单、Toolbar按钮两种方式手动触发代码检测。同时结果面板中可以对部分实现了QuickFix功能的规则进行快速修复。
触发扫描
在当前编辑的文件中右键,可以在弹出的菜单中触发对该文件的检测。
在左侧的Project目录树种右键,可以触发对整个工程或者选择的某个目录、文件进行检测。
也可以通过Toolbar中的按钮来触发检测,目前Toolbar的按钮触发的检测范围与您IDE当时的焦点有关,如当前编辑的文件或者是Project目录树选中的项,是不是感觉与右键菜单的检测范围类似呢。
扫描结果
简洁的结果面板,按规则等级分类,等级->规则->文件->违规项。同时还提供一个查看规则详情的界面。
清除结果标记更方便,支持上面提到的4条规则QuickFix。
查看所有规则
国际化
文章作者:阿里云研发效能事业部 骏烈
文章为简译,更为详细的内容,请查看原文
更多技术干货敬请关注云栖社区知乎机构号:阿里云云栖社区 – 知乎
作者:有趣的灵魂算我一个
https://
blog.csdn.net/weixin_42
推荐阅读(即可跳转阅读)
1. SpringBoot内容聚合
2. 面试题内容聚合
3. 设计模式内容聚合
4. 排序算法内容聚合
5. 多线程内容聚合
自动代码
常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码 。
例如要输入for(User user : users)只需输入user.for+Tab ;
再比如,要输入Date birthday = user.getBirthday()只需输入user.getBirthday().var+Tab即可。
代码标签输入完成后,按Tab,生成代码。
- Ctrl+Alt+O 优化导入的类和包
- Alt+Insert 生成代码(如get,set方法,构造函数等) 或者右键(Generate)
- fori/sout/psvm + Tab
- Ctrl+Alt+T 生成try catch 或者 Alt+enter
- CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里
- Ctrl + O 重写方法
- Ctrl + I 实现方法
- Ctr+shift+U 大小写转化
- ALT+回车 导入包,自动修正
- ALT+/ 代码提示
- CTRL+J 自动代码
- Ctrl+Shift+J,整合两行为一行
- CTRL+空格 代码提示
- CTRL+SHIFT+SPACE 自动补全代码
- CTRL+ALT+L 格式化代码
- CTRL+ALT+I 自动缩进
- CTRL+ALT+O 优化导入的类和包
- ALT+INSERT 生成代码(如GET,SET方法,构造函数等)
- CTRL+E 最近更改的代码
- CTRL+ALT+SPACE 类名或接口名提示
- CTRL+P 方法参数提示
- CTRL+Q,可以看到当前方法的声明
- Shift+F6 重构-重命名 (包、类、方法、变量、甚至注释等)
- Ctrl+Alt+V 提取变量
查询快捷键
- Ctrl+Shift+Backspace可以跳转到上次编辑的地
- CTRL+ALT+ left/right 前后导航编辑过的地方
- ALT+7 靠左窗口显示当前文件的结构
- Ctrl+F12 浮动显示当前文件的结构
- ALT+F7 找到你的函数或者变量或者类的所有引用到的地方
- CTRL+ALT+F7 找到你的函数或者变量或者类的所有引用到的地方
- Ctrl+Shift+Alt+N 查找类中的方法或变量
- 双击SHIFT 在项目的所有目录查找文件
- Ctrl+N 查找类
- Ctrl+Shift+N 查找文件
- CTRL+G 定位行
- CTRL+F 在当前窗口查找文本
- CTRL+SHIFT+F 在指定窗口查找文本
- CTRL+R 在 当前窗口替换文本
- CTRL+SHIFT+R 在指定窗口替换文本
- ALT+SHIFT+C 查找修改的文件
- CTRL+E 最近打开的文件
- F3 向下查找关键字出现位置
- SHIFT+F3 向上一个关键字出现位置
- 选中文本,按Alt+F3 ,高亮相同文本,F3逐个往下查找相同文本
- F4 查找变量来源
- CTRL+SHIFT+O 弹出显示查找内容
- Ctrl+W 选中代码,连续按会有其他效果
- F2 或Shift+F2 高亮错误或警告快速定位
- Ctrl+Up/Down 光标跳转到第一行或最后一行下
- Ctrl+B 快速打开光标处的类或方法
- CTRL+ALT+B 找所有的子类
- CTRL+SHIFT+B 找变量的类
- Ctrl+Shift+上下键 上下移动代码
- Ctrl+Alt+ left/right 返回至上次浏览的位置
- Ctrl+X 删除行
- Ctrl+D 复制行
- Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/*…*/ )
- Ctrl+H 显示类结构图
- Ctrl+Q 显示注释文档
- Alt+F1 查找代码所在位置
- Alt+1 快速打开或隐藏工程面板
- Alt+ left/right 切换代码视图
- ALT+ ↑/↓ 在方法间快速移动定位
- CTRL+ALT+ left/right 前后导航编辑过的地方
- Ctrl+Shift+Backspace可以跳转到上次编辑的地
- Alt+6 查找TODO
其他快捷键
- SHIFT+ENTER 另起一行
- CTRL+Z 倒退(撤销)
- CTRL+SHIFT+Z 向前(取消撤销)
- CTRL+ALT+F12 资源管理器打开文件夹
- ALT+F1 查找文件所在目录位置
- SHIFT+ALT+INSERT 竖编辑模式
- CTRL+F4 关闭当前窗口
- Ctrl+Alt+V,可以引入变量。例如:new String(); 自动导入变量定义
- Ctrl+~,快速切换方案(界面外观、代码风格、快捷键映射等菜单)
svn快捷键
- ctrl+k 提交代码到SVN
- ctrl+t 更新代码
调试快捷键
其实常用的 就是F8 F7 F9 最值得一提的就是Drop Frame 可以让运行过的代码从头再来。
- alt+F8 debug时选中查看值
- Alt+Shift+F9,选择 Debug
- Alt+Shift+F10,选择 Run
- Ctrl+Shift+F9,编译
- Ctrl+Shift+F8,查看断点
- F7,步入
- Shift+F7,智能步入
- Alt+Shift+F7,强制步入
- F8,步过
- Shift+F8,步出
- Alt+Shift+F8,强制步过
- Alt+F9,运行至光标处
- Ctrl+Alt+F9,强制运行至光标处
- F9,恢复程序
- Alt+F10,定位到断点
重构
- Ctrl+Alt+Shift+T,弹出重构菜单
- Shift+F6,重命名
- F6,移动
- F5,复制
- Alt+Delete,安全删除
- Ctrl+Alt+N,内联
十大Intellij IDEA快捷键
Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱,想排出个理想的榜单还真是困难。
以前也整理过Intellij的快捷键,这次就按照我日常开发时的使用频率,简单分类列一下我最喜欢的十大快捷-神-键吧。
1 智能提示:
Intellij首当其冲的当然就是Intelligence智能!基本的代码提示用Ctrl+Space,还有更智能地按类型信息提示Ctrl+Shift+Space,但因为Intellij总是随着我们敲击而自动提示,所以很多时候都不会手动敲这两个快捷键(除非提示框消失了)。
用F2/ Shift+F2移动到有错误的代码,Alt+Enter快速修复(即Eclipse中的Quick Fix功能)。当智能提示为我们自动补全方法名时,我们通常要自己补上行尾的反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾的字符。而且不只是括号,例如敲完if/for时也可以自动补上{}花括号。
最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架的配置文件和类,以静制动,在看似“静态”的外表下,智能地扫描理解你的项目是如何构造和配置的。
2 重构:
Intellij重构是另一完爆Eclipse的功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。尤其看过《重构-改善既有代码设计》之后,有了Intellij的配合简直是令人大呼过瘾!也正是强大的智能和重构功能,使Intellij下的TDD开发非常顺畅。
切入正题,先说一个无敌的重构功能大汇总快捷键Ctrl+Shift+Alt+T,叫做Refactor This。按法有点复杂,但也符合Intellij的风格,很多快捷键都要双手完成,而不像Eclipse不少最有用的快捷键可以潇洒地单手完成(不知道算不算Eclipse的一大优点),但各位用过Emacs的话就会觉得也没什么了(非Emacs黑)。此外,还有些最常用的重构技巧,因为太常用了,若每次都在Refactor This菜单里选的话效率有些低。比如Shift+F6直接就是改名,Ctrl+Alt+V则是提取变量。
3 代码生成:
这一点类似Eclipse,虽不是独到之处,但因为日常使用频率极高,所以还是罗列在榜单前面。常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码,用Ctrl+J可以查看所有模板。后面“辅助”一节中将会讲到Alt+Insert,在编辑窗口中可以生成构造函数、toString、getter/setter、重写父类方法等。这两个技巧实在太常用了,几乎每天都要生成一堆main、System.out和getter/setter。
另外,Intellij IDEA 13中加入了后缀自动补全功能(Postfix Completion),比模板生成更加灵活和强大。例如要输入for(User user : users)只需输入user.for+Tab。再比如,要输入Date birthday = user.getBirthday();只需输入user.getBirthday().var+Tab即可。
4 编辑:
编辑中不得不说的一大神键就是能够自动按语法选中代码的Ctrl+W以及反向的Ctrl+Shift+W了。此外,Ctrl+Left/Right移动光标到前/后单词,Ctrl+[/]移动到前/后代码块,这些类Vim风格的光标移动也是一大亮点。以上Ctrl+Left/Right/[]加上Shift的话就能选中跳跃范围内的代码。Alt+Forward/Backward移动到前/后方法。还有些非常普通的像Ctrl+Y删除行、Ctrl+D复制行、Ctrl+折叠代码就不多说了。
关于光标移动再多扩展一点,除了Intellij本身已提供的功能外,我们还可以安装ideaVim或者emacsIDEAs享受到Vim的快速移动和Emacs的AceJump功能(超爽!)。另外,Intellij的书签功能也是不错的,用Ctrl+Shift+Num定义1-10书签(再次按这组快捷键则是删除书签),然后通过Ctrl+Num跳转。这避免了多次使用前/下一编辑位置Ctrl+Left/Right来回跳转的麻烦,而且此快捷键默认与Windows热键冲突(默认多了Alt,与Windows改变显示器显示方向冲突,一不小心显示器就变成倒着显式的了,冏啊)。
5 查找打开:
类似Eclipse,Intellij的Ctrl+N/Ctrl+Shift+N可以打开类或资源,但Intellij更加智能一些,我们输入的任何字符都将看作模糊匹配,省却了Eclipse中还有输入*的麻烦。最新版本的IDEA还加入了Search Everywhere功能,只需按Shift+Shift即可在一个弹出框中搜索任何东西,包括类、资源、配置项、方法等等。
类的继承关系则可用Ctrl+H打开类层次窗口,在继承层次上跳转则用Ctrl+B/Ctrl+Alt+B分别对应父类或父方法定义和子类或子方法实现,查看当前类的所有方法用Ctrl+F12。
要找类或方法的使用也很简单,Alt+F7。要查找文本的出现位置就用Ctrl+F/Ctrl+Shift+F在当前窗口或全工程中查找,再配合F3/Shift+F3前后移动到下一匹配处。
Intellij更加智能的又一佐证是在任意菜单或显示窗口,都可以直接输入你要找的单词,Intellij就会自动为你过滤。
6 其他辅助:
以上这些神键配上一些辅助快捷键,即可让你的双手90%以上的时间摆脱鼠标,专注于键盘仿佛在进行钢琴表演。这些不起眼却是至关重要的最后一块拼图有:
Ø 命令:Ctrl+Shift+A可以查找所有Intellij的命令,并且每个命令后面还有其快捷键。所以它不仅是一大神键,也是查找学习快捷键的工具。
Ø 新建:Alt+Insert可以新建类、方法等任何东西。
Ø 格式化代码:格式化import列表Ctrl+Alt+O,格式化代码Ctrl+Alt+L。
Ø 切换窗口:Alt+Num,常用的有1-项目结构,3-搜索结果,4/5-运行调试。Ctrl+Tab切换标签页,Ctrl+E/Ctrl+Shift+E打开最近打开过的或编辑过的文件。
Ø 单测试:Ctrl+Alt+T创建单测试用例。
Ø 运行:Alt+Shift+F10运行程序,Shift+F9启动调试,Ctrl+F2停止。
Ø 调试:F7/F8/F9分别对应Step into,Step over,Continue。
此外还有些我自定义的,例如水平分屏Ctrl+|等,和一些神奇的小功能Ctrl+Shift+V粘贴很早以前拷贝过的,Alt+Shift+Insert进入到列模式进行按列选中。
Ø Top #10切来切去:Ctrl+Tab
Ø Top #9选你所想:Ctrl+W
Ø Top #8代码生成:Template/Postfix +Tab
Ø Top #7发号施令:Ctrl+Shift+A
Ø Top #6无处藏身:Shift+Shift
Ø Top #5自动完成:Ctrl+Shift+Enter
Ø Top #4创造万物:Alt+Insert
太难割舍,前三名并列吧!
Ø Top #1智能补全:Ctrl+Shift+Space
Ø Top #1自我修复:Alt+Enter
Ø Top #1重构一切:Ctrl+Shift+Alt+T
CTRL+ALT+ left/right 前后导航编辑过的地方
Ctrl+Shift+Backspace可以跳转到上次编辑的地方
一、IntelliJ IDEA的下载
idea的官方下载地址:https://www.jetbrains.com/idea/
1.链接进入idea官网,Download
2.选择自己系统的版本
Ultimate :旗舰版 (收费,试用一个月) ,支持更多的框架功能,高级开发的话要选旗舰版
Community:社区版(完全免费),Android,javaSE基础支持
3.选择下载路径,确定后开始下载,大概十分钟左右
二、IntelliJ IDEA的安装
安装idea,前提需要安装JDK1.8版本以上–>JDk1.8安装教程
1.双击下载好的idea程序
2进入欢迎页面,直接next
3.选择idea的安装路径
4.选择自己的操作系统位数,其他不用多做勾选,idea比较吃内存,简洁化就好
5.按装
6.安装过程,慢慢等待
链接:IEDA的基本启动配置
一、idea虚拟机的配置修改
如果操作系统是64位,运行内存16G,可以修改配置提高idea的性能,如果硬件设备不高,也可以不修改
二、启动idea并执行Hello World
1.启动idea
2.数据共享
—————————————-分割线———————————————–
IDEA中创建一个空项目,包含多个子项目的方法
Maven简介
什么是 Maven
Maven 的正确发音是[ˈmevən] “卖v”,而不是“马瘟”以及其他什么瘟。 Maven 是一个项目管理工具,它包含了一个项目
对象模型
(POM:Project Object Model)
,一组标准集合。
Maven 能解决什么问题
如今我们构建一个项目需要用到很多第三方的类库 Jar包 如写一个使用Spring的Web项目就需要引入大量的jar包, 而往往一个Jar包往往又会引用其他Jar包,缺少其中任何一个Jar包都会导致项目编译失败。 每开发一个项目都会需要大量的Jar包
, 一个普通的Java项目也许实际源码只有几MB甚至KB,但加上Jar之后也许就几十MB。 而同样的项目,如果我们使用 Maven 工程来构建,那么总体上工程的大小会小很多。部署至服务器中…
Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包, 它会帮助我们 下载/提供 所有的Jar
,极大提升开发效率。
Maven 的两个经典作用:
依赖管理 ~也就是管理jar包(涉及仓库知识,下面会讲)~
Maven 的一个核心特性就是依赖管理。 当我们涉及到多模块的项目(包含成百个模块或者子项目),管理依赖就变成一项困难的任务。Maven 展示出了它对处理这种情形的高度控制。 传统的 WEB 项目中,我们必须将工程所依赖的 jar 包复制到工程中,导致了工程的变得很大。
那么maven 工程是如何使得工程变得很少呢?
Idea常见普通Maven项目目录:
maven工程中不直接将 jar包导入到工程中,而是通过在 pom.xml 文件中添加所需jar包的坐标。 这样就很好的避免了 jar 直接引入进来, 使工程变大 ~ 在需要用到 jar 包的时候,再通过pom.xml文件中的坐标 到一个专门用于”存放 jar 包的仓库”(maven 仓库)中根据坐标从而找到这些 jar 包拿去运行。 而且过程并不需要担心 到仓库中找到 jar 包这样会影响程序性能: maven 中也有索引的概念,通过建立索引,可以大大提高加载 jar 包的速度, 使得我们认为 jar 包基本跟放在本地的工程文件中再读取出来的速度是一样的。 ”存放 jar 包的仓库”长什么样? 仓库,顾名思义,也就是存放一些项目必备的粮食(jar包)的地方。
Maven中仓库分为三类:
本地仓库: 存放在本地服务器中,当运行项目的时候,maven会自动根据配置文件查找本地仓库,再从本地仓库中调用jar包使用。 远程仓库(私服): 当本地仓库中没有项目所需要的jar包时,那么maven会继续查找远程仓库,一般远程仓库指的是公司搭建的私有服务器,也叫私服; 当jar包在私服中查找到之后,maven会将jar包下载到本地仓库中,下次使用的时候就不用再去找远程仓库。 中央仓库: 当远程仓库获取不到jar包时,就需要到中央仓库去查找,并下载在远程仓库中,本地仓库再从远程仓库中下载回来使用。 此由maven团队维护,据说截止至16年,已经有2亿个包
在仓库中! 可以这么说,我们需要的包一切来源都是中央仓库,并不需要担心没有jar包。
一键构建
项目从编译、测试、运行、打包、安装、 部署整个过程都交给 maven进行管理,这个过程称为构建。 一键构建: 指的是整个构建过程, 使用 maven几个命令可以轻松完成整个工作。 Maven 规范化构建流程如下:
这个目前知道就好, 下面结合项目实例详细讲解~感受;
IDEA使用Maven工程:
我的idea是中文的, 而且版本1.3的有差异的同学多多理解~ 注意!使用Maven工程最好要在有网的情况下, 对于一些组件 Jar都是要联网下载的…
首先idea配置maven的安装目录和本地仓库
Idea每次创建一个新的Maven时候, 建议看看, 不然本地资源库错了Jar乱放到处下载…并不好~ 文件——设值——输入框输入Maven
启动工程!!
创建Maven项目: ~文件—新建——项目~
Next (这里我先建一个普通的项目~了解Maven生命周期)
学习web的同学加载工程可能,会需要很长时间下载...慢慢等待即可~ 知道出现Src 网卡这种事情很无奈 Finish
这是我创建好的工程, 是不是觉得缺点什么。
Idea的工具并不是很完善对于一些文件,创建并不完整可以自己补全:基本就是上图的结构 手动在 test文件下创建一个 resources文件:并通过工具标识为资源文件
但要注意: target
文件可不是手动创建的!!!Maven项目生命周期自动生成的...主要用于存放:编译后的文件。
经过上述一系列操作,其实就已经创建出了一个常规的 Maven项目工程:
| |—-main 项目的主要代码的地方...
| | |—-java ————–存放项目的源文件
| | |—-resources ——存放项目资源文件,如spring, hibernate配置文件
| |—-test 用于测试项目代码的, 目录相当于 Junit的测试代码的目录
| | |—-java ————–存放所有测试.java文件,如JUnit测试类
| | |—-resources ——存放项目测试资源文件,如spring, hibernate配置文件
在Main——Java目录:下创建一个包com.wsm包下 Text.Jave
建议一定要加包!!
public class Text { public void show(){ System.out.println("Hello World"); } } // 这是一个,非常简单普遍的一段Jave代码~ 没人看不懂吧
在Test——Java目录:下创建一个包com.wsm包下 TTest.Jave
主要用于测试, 上面的源码是否可以正常运行… 别想是不是有什么特殊功能就是这个!
import org.junit.Test; public class TTest { //类名必须,Test结尾(我真是无语了不知道这个调了好久..) @Test //Junit注解:该方法进行单测试,(需要Junit包~Pom.xml引入Jar坐标) public void testShwo(){ //方法名建议 test开头,规范.. //声明源码中的类,并调用show(); 测试结果~ Text t = new Text(); t.show(); } }
pom.xml
这是只是基础的标签属性, 因为是基础而且太多了… 我就偷懒了..
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!-- 指定当前pom模型的版本,maven2 和3都是4 --> <!-- Pom文件可以用于解耦,最大程度区分项目与项目之间的区别 --> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <!-- 定义项目是哪个公司哪个部门组 --> <artifactId>MavenWSM</artifactId> <!-- 组内的唯一id(例如项目中的哪个组件:模块名,Maven可以实现模块开发~) --> <version>1.0-SNAPSHOT</version> <!-- 项目当前版本,SNAPSHOT为不稳定版本(快速开发) --> <!-- groupId artifactId version:也决定了项目在打包/发布文件的样式/地址:本地仓库下/org/example/MavenWSM/1.0-SNAPSHOT/MavenWSM-1.0-SNAPSHOT.jar --> <name>WSM</name> <!-- 项目别名 --> <packaging>jar</packaging> <!-- 项目打包产生的构件类型,例如jar、war、ear、pom... 常用Jar(默认) war --> <!--Jar: 一般公司自己制作方便,开发调用的组件Jar... war: 项目打包成war 可以部署至服务器中运行...的格式; 这里不是web工程所以不需要war jar即可~ --> <!-- 为pom定义一些常量,在pom中的其它地方可以直接引用 使用方式 如下 :${project.build.sourceEncoding} --> <properties> <!-- 统一项目字符集编码: 底层引用了${project.build.sourceEncoding} 统一字符集 --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- 设值jdk编码,该方法是指定项目的JDK版本 或 在Maven settings.xml中配置统一环境JDK --> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <!-- 中存放着所有依赖包的描述,也就是提供下载的坐标 --> <dependencies> <!-- 每一个dependency 描述一个Jar坐标: 去本地找————找不到去私服下载————在没有去中央仓库下载到私服到本地.. --> <dependency> <groupId>junit</groupId> <!-- 公司组 --> <artifactId>junit</artifactId> <!-- 项目/jar/模块名 --> <version>4.9</version> <!-- 版本 --> <scope>test</scope> <!-- Jar包使用的范围: 默认使用范围是compile,则测试代码和主代码都可以使用该代码; --> <!-- <scope>system</scope> <systemPath>引入Jar资源路径...</systemPath> --> </dependency> <!-- 省略其它更多Jar包的坐标.... --> </dependencies> <!-- build Maven的插件 该素设置了项目源码目录,当构建项目的时候,构建系统会编译目录里的源码。--> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version> <configuration> <!-- 和上面功能一样都是设值JDK的版本的~ 随便设值一个即可; --> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
Pom.xml 详解:这里我会不定时的扩展,更新的哟~ 1.
dependencies——>dependency——>==scope依赖范围==
A 依赖 B,需要在 A 的 pom.xml 文件中添加 B 的坐标,添加坐标时需要指定依赖范围,依赖范围包括↓↓↓ compile:编译范围, 默认范围值,依赖会用在编译、测试、运行, 由于运行时需要所以编译范围的依赖会被打包。 provided:编译范围, provided 依赖在编译和测试时需要,在运行时不需要,比如:servlet api 运行时被 tomcat 容器提供。(冲突反而会报错!) runtime:编译范围,依赖在运行和测试系统的时候需要,但在编译的时候不需要。 比如:jdbc驱动包。 test:编译范围,在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用。比如:junit。 system:编译范围, system 范围依赖与 provided 类似, 使用本地之外的路径的Jar 需要指定 systemPath 磁盘路径(不推荐!) 2. 坐标的来源方式: 从互联网搜索: 1. http://search.maven.org/ 2.http://mvnrepository.com/
通过这种方式在也不用到处找Jar了直接来Maven中找到坐标下载到本地就可以用了! 从其它同学的本地库cope 也是一种办法, 直接将整个仓库copy过来, 更改一下Setting 配置文件即可!
~
运行测试:使用Maven进行一键构建
我们可以直接在cmd中通过一系列的maven命令: 来对我们的
MavenWSM工程进行: 清理 编译、测试、运行、打包、安装、部署。 >
找到项目工程的本地路径: > 可以在idea 工具中cope路径——Windows+r :复制回车快速打开文件; > 在文件路径中输入 “cmd” 进行文件路径, 方便操作Maven命令; (或者也可以自己手动的 cd: 查找切换路径..) >
> Maven 常用命令 > cmd 进入命令状态,执行 mvn compile,如下图提示成功: > compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 target目录下。
> 这时你的项目中就会出现 target文件夹:编译好的代码… > BUILD SUCCESS 编译成功!
> cmd 执行 mvn clean 会删除 target 目录及内容, 清理。
> cmd 执行 mvn test 执行src/test/java下单测试类
> cmd 执行 mvn package 对于 java 工程执行 package 打成 jar 包,对于 web 工程打成 war包。 并且会包含 test操作;
> cmd 执行 mvn install 执行 install 将 maven 打成 jar 包或 war 包发布到本地仓库。 包含 package 和 test 操作;
> cmd 执行 mvn deploy 执行 deploy 将 maven 打成 jar 包或 war 包发布到本地仓库和私服中。 包含 package test install 操作;
> cmd 执行 mvn clean test 先清理在test测试…
> Idea工具可以直接通过双击:对应的生命周期即可:
>
>最终项目结构:
>
>编写Maven项目, 建议每一个main下源码是必须要有包的!因为项目 打包package 发布install…是将main下的源文件打包~
>如果其中有一个单独的文件, 没有一个指定的包, 则默认放在META-INF目录下
学过JSP同学都知道该目录下文件是只读的不可调的..
> 这就是Maven的一键构建。是不是超级有意思!!
Maven操作Web工程:
请按照上面案例创建web工程: 如果创建过程太慢可以借鉴:创建时候加:archetypeCatalog | internal会快很多,要注意一定要选择对Maven模型
之后的大致结构是这样的:
并不完整, 还需要手动添加 src/main/jave文件夹(并且要修改对应文件夹的类型,Jave源文件类型 resource资源文件类型…) 最终Web结构:
index.jsp
Idea工具的默认JSP,也并不符合规范, 这个就自己改改吧~
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>第一个maven工程</title> </head> <body> Hello World! </body> </html>
之后就可以, 配置Idea的Tomcat 通过Maven构建项目Package war包部署至项目中~即可;
ok,就酱! 不需要修改任何代码~Idea启动服务则自动加载程序. 你在当前服务器中部署那些项目, 就可以执行那些项目, 即使你本地原先存在的项目但你没有部署 Idea配置的服务器也是访问不了的~
Maven项目使用自定义的jar
ok 到这儿web工程也就写完了.
至于本人在 main——java——com.wsm.Test——cs 是本人的测试Demo
正常情况这里写的是:dao entity service comtroller….程序代码(SSM SSH),可别被本人混乱了~
本次测试: 一个Maven项目引入另一个Maven项目程序:实现模块开发
pom.xml
加
<!-- 还记得这个吗? 一个普通的资源引用, 但! 仔细观察,这就是刚才写的 组 模块名 版本... Maven install将项目打包Jar至本地,其它Maven项即可直接 dependency 引入使用,该项目的类/方法~ 是不是感觉越来越高级了....现在已经可以自己开发Jar 方便日后开发使用了呢~ --> </dependencies> <dependency> <groupId>org.example</groupId> <artifactId>MavenWSM</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies>
cs.java
import com.wsm.Text; //这里的com.wsm.Text是引入项目的包,如果没有包的话文件存在MATE——INF是无法引入的!(所以建议源码都放在包下~一种规范吧!) public class CS { public static void main(String[] args) { //创建自定义Jar包中的类对象,调用方法(); Text text = new Text(); text.show(); } }
直接右击, run ! “Hello World”
Maven安装:请单击.
最后的最后, 终于写完了, 求个赞 呀!
刚看到新闻,IDEA2022最新的EAP体验版本更新了最新的UI,用户需要自己去申请体验资格,看着非常帅,想白嫖一个皮肤。
申请等了半天还没有看到邮件回复,好在这届网友比较给力,找了半天,总算找到一个办法可以直接体验。
直接去搜索IDEA EAP版本下载,就可以下载到最新的体验版IDEA了,其他版本的不行,我试过了,至于为啥不行,后面说。
下载安装好之后,双击shift
搜索registry
。
之后找到这个配置,ide.experimental.ui
,把他勾选上,这个至少需要你的版本是2022.1才行,不过咱们是EAP,不方。
勾选之后, Close 重启,然后就可以看到你的新UI了。
但是!你会发现,跟官方截图他喵的不一样啊,还是辣么丑。。。
于是,我又开始研究了半天,这配色不对,找到设置Color Scheme
,下拉会发现有一个新的New Dark
,选择他!!!
这样设置之后,你再看!是不是颜色就和官方的图片一样了,但是,还是觉得不是那么好看。。。
官方图不能相信。。
至于为什么要用最新的版本呢,2022.1我也下载试了一下,发现还是有一些不一样的,主要就是这个顶部的菜单栏还是不一样,另外就是其他版本是没有这个最新的 New Dark 配色的,只有EAP版本才有,如果实在要用的话,只能去EAP版本导入到低版本去,这样也可以。
怎么导出?张手就来。
好了,结束。
安装好Intellij idea之后,进行如下的初始化操作,工作效率提升50倍。
一. 安装插件
1. Codota 代码智能提示插件
只要打出首字母就能联想出一整条语句,这也太智能了,还显示了每条语句使用频率。原因是它学习了我的项目代码,总结出了我的代码偏好。
如果让它再加上机器学习,人工智能写代码的时代还会远吗?
2. Key Promoter X 快捷键提示插件
每次都会在右下角弹窗提示,帮助我们快速熟悉快捷键。
3. CodeGlance 显示代码缩略图插件
当代码很多的时候,方便查看,很有用。
4. Lombok 简化臃肿代码插件
实体类中的get/set/构造/toString/hashCode
等方法,都不需要我们再手动写了
5. Alibaba Java Coding Guidelines 阿里巴巴代码规范检查插件
会按照阿里Java开发手册上规范帮我们检查代码,然后对代码做不同颜色展示,鼠标放上去,会看到提示内容,帮助我们写出更规范的代码。
6. CamelCase 驼峰命名和下划线命名转换
这几种风格的命名方式,用快捷键 ⇧ + ⌥ + U / Shift + Alt + U
可以进行快速转换,当我们需要修改大量变量名称的时候很方便。
7. MybatisX 高效操作Mybatis插件
8. SonarLint 代码质量检查插件
提示我不要用System.out
输出,要用logger输出,诸如此类,帮助我们提升代码质量。
9. Save Actions 格式化代码插件
可以帮忙我们优化包导入,自动给没有修改的变量添加final修饰符,调用方法的时候自动添加this关键字等,使我们的代码更规范统一。
10. CheckStyle 代码风格检查插件
功能跟Alibaba Java Coding Guidelines
类似
11. Grep Console 自定义控制台输出格式插件
12. MetricsReloaded 代码复杂度检查插件
13. Statistic 代码统计插件
14. Translation 翻译插件
15. Rainbow Brackets 彩虹括号插件
成对儿的括号显示相同的颜色,有了这个插件,我的近视都好了。
二. 自定义创建live template,快速写代码
只要输入apr ,就能自动提示,并且生成Autowired 语句了。可以根据自己的代码习惯,自定义一些代码模板,帮助我们快速写代码。
三. 修改全局配置,提升工作效率
1. 优化导包配置
2. 取消tab页单行显示
多行显示更多的文件,方便查看。
3. 双斜杠注释改成紧跟代码头
4. 选中复制整行
原本只会复制你选中的代码,改完配置后,就能复制整行,无论你是否完全选中。
5. 取消匹配大小写
取消勾选后,输入小写 s ,也能提示出 String
6. 优化版本控制的目录颜色展示
7. 创建文件时,自动生成作者和时间信息
8 . 显示行号和方法分割线
你还知道哪些关于Intelij idea高效操作或插件呢?
来源:
http://www.
toutiao.com/i
推荐
技术内卷群,一起来学习!!开源版的高仿 “ 微信 ”,吊炸天!
前言
基本上每个程序员都会写代码,但写代码的速度不尽相同。
为什么有些人,一天只能写几百行代码?
而有些人,一天可以写几千行代码?
有没有办法,可以提升开发效率,在相同的时间内,写出更多的代码呢?
今天我跟大家一起聊聊在idea
中,能提升编码效率的12
种插件,希望对大家有所帮助。
最近无意间获得一份BAT大厂大佬写的刷题笔记,一下子打通了我的任督二脉,越来越觉得算法没有想象中那么难了。
[BAT大佬写的刷题笔记,让我offer拿到手软](这位BAT大佬写的Leetcode刷题笔记,让我offer拿到手软)
1. lombok
之前对lombok还有争议,到底该不该在项目中使用,为此我还专门写了一篇文章《迷茫了,我们该不该用lombok?》。
现在新版的idea已经内置了lombok插件,所以用它是一种趋势。
我之所以把lombok放在整篇文章的第一个介绍,是因为它真的可以帮我少写很多代码,特别是entity、DTO、VO、BO中的。
我们用User类举例,以前定义javabean需要写如下代码:
public class User { private Long id; private String name; private Integer age; private String address; public User() { } public User(Long id, String name, Integer age, String address) { this.id = id; this.name = name; this.age = age; this.address = address; } public Long getId() { return id; } public String getName() { return name; } public Integer getAge() { return age; } public String getAddress() { return address; } public void setId(Long id) { this.id = id; } public void setName(String name) { this.name = name; } public void setAge(Integer age) { this.age = age; } public void setAddress(String address) { this.address = address; } @Override public boolean equals(Object o) { if (this == o) returntrue; if (o == null || getClass() != o.getClass()) returnfalse; User user = (User) o; return Objects.equals(id, user.id) && Objects.equals(name, user.name) && Objects.equals(age, user.age) && Objects.equals(address, user.address); } @Override public int hashCode() { return Objects.hash(id, name, age, address); } @Override public String toString() { return"User{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + ", address='" + address + '\'' + '}'; } }
该User类中包含了:成员变量、getter/setter方法、构造方法、equals、hashCode方法。
咋一看,代码还是挺多的。而且还有个问题,如果User类中的代码修改了,比如:age字段改成字符串类型,或者name字段名称修改了,是不是需要同步修改相关的成员变量、getter/setter方法、构造方法、equals、hashCode方法全都修改一遍?
好消息是用lombok可以解决这个问题。
如果是idea2020.3之前的版本,需要在idea中安装如下插件:
但idea2020.3之后,idea已经内置了lombok的功能。
有了lombok插件,现在我们在idea只用这样写代码,就能实现上面的功能了:
@ToString @EqualsAndHashCode @NoArgsConstructor @AllArgsConstructor @Getter @Setter public class User { private Long id; private String name; private Integer age; private String address; }
简直太轻松了,真的可以少写很多代码。
此外,我们还需要在项目的pom文件中,引入lombok的依赖包,不然项目会跑不起来。
2. Free Mybatis plugin
在国内mybatis
已经成为了最主流的数据库框架了,该框架属于半自动化的ORM持久化框架,相对于hibernate这种全自动化的持久化框架更灵活,性能更高。
在mybatis
中,我们需要自己定义mapper和对应的xml文件完成绑定。
在这里我们以用户表为例,首先需要定义UserMapper接口:
public interface UserMapper { int insertUser(UserModel user); }
然后需要UserMapper.xml配置文件:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.sue.jump.mappers.UserMapper"> <sql id="selectUserVo"> id, name, age, sex </sql> <insert id="insertUser" parameterType="com.sue.jump.model.UserModel"> INSERT INTO user <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null "> id, </if> <if test="name != null and name != ''"> name, </if> <if test="age != null "> age, </if> <if test="sex != null "> sex, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="id != null "> #{id}, </if> <if test="name != null and name != ''"> #{name}, </if> <if test="age != null "> #{age}, </if> <if test="sex != null "> #{sex}, </if> </trim> </insert> </mapper>
UserMapper.xml文件中,mapper标签的namespace对应UserMapper接口名,而insert标签的id=insertUser,正好对应UserMapper接口中的insertUser方法。
那么,在项目中如何通过UserMapper类中的getUser方法,能够快速访问UserMapper.xml文件中的getUser方法?
答:这就需要使用Free Mybatis plugin
插件了。
安装了该插件之后,在UserMapper接口的接口名和方法名的左边,会多了两个绿色的箭头,我们该箭头,就能跳转到UserMapper.xml文件对应的mapper标签或者insertUser语句上。
此外,在UserMapper.xml文件的insertUser语句的左边,也会多出一个绿色的箭头,我们该箭头,也能跳转到UserMapper接口的insertUser方法上。
有了这个插件,我们就能在mapper和xml之间自由切换,自由玩耍了,再也不用像以前那样搜索来搜索去。
3.Translation
有些小伙伴,包括我自己可能英语不太好(我英语刚过四级)。
我们在给变量或者方法取名时,要想半天。特别是在阅读JDK英文文档时,遇到了一些生僻字,简直头大。
有个好消息是使用:Translation
插件,能够让我们在文档中自由飞翔。
安装完Translation
插件之后,在other settings中多了一个Translation菜单。
该菜单:
在右边的窗口中,可以选择翻译软件。
选中需要翻译的英文文档:
在右键弹窗的窗口中,选择Translation选项,会弹如下窗口:
一段英文段落,一下子翻译成了中文,简直太爽了。
4.Alibaba Java Coding Guidelines
如果你是从事Java开发工作的小伙伴,肯定看过阿里巴巴的《Java开发手册》。
该手册总结了我们在日常开发过程中,可能会遇到的问题。从编程规约、异常日志、单位测试、安全规约、Mysql数据库和工程结构,这6大方面,规范了开发的流程,确保我们能写出高效、优雅的代码。
但这些规范性的东西,仅仅靠人的自觉性,很难达到预期的效果。
为了解决这个问题,阿里巴巴推出了Alibaba Java Coding Guidelines
插件,能够通过该插件,直接查出不合规范的代码。
安装了该插件之后,按下快捷键:Ctrl+Alt+Shift+J
,可以可对整个项目或单个文件进行编码规约扫描。
扫描后会将不规范的代码按从高到低。
目前有三个等级显示在下方:
- Blocker 崩溃
- Critical 严重
- Major 重要
左边其中一个不规范的代码行,右边窗口会立刻显示不规范的详细代码,便于我们快速定位问题。
nice。
5. GenerateAllSetter
很多时候,我们需要给某个对象赋值,如果参数比较多的话,需要手写大量的setter
或者getter
代码。
有没有办法一键搞定呢?
答:有,使用GenerateAllSetter
插件。
安装完插件之后,在创建的对象上,按快捷键下:alt + enter
。
在弹出的窗口中选择:Generate all setter with default value。
就会自动生成如下代码:
简直太方便了。
6. SequenceDiagram
我们平时在阅读源码时,为了梳理清楚内部逻辑,经常需要画一些时序图
。
如果我们直接画,会浪费很多时间,而且画的图不一定正确。
这时可以使用:SequenceDiagram
插件。
选择具体某个方法,右键选择:sequence diagram选项:
之后,会出现时序图:
从此以后,能够成为画图高手了,完美。
7. CheckStyle-IDEA
在代码格式方面,有许多地方,需要我们注意,比如:无用导入、没写注释、语法错误、方法太长等等。
有没有办法,可以在idea中,一次性检测出上面的这些问题呢?
答:使用CheckStyle-IDEA
插件。
CheckStyle-IDEA
是一个检测代码格式是否满足规范的工具,其中用得比较多的是Google
规范和Sun
规范。
安装完插件后,在idea的下方会出现:CheckStyle选项:
左边的绿色按钮,可以扫描代码。在中间位置,会显示不符合代码规范的原因。
双击代码,即可直接跳转到具体代码:
8.JRebel and XRebel
在idea中开发Java项目,有个很不爽的地方是:每次修改一个类或者接口,都需要重启服务,否则不会运行最新地方。
而每次重启,都需要花大量的时间。
有没有办法,Java代码修改后不用重启系统,立即生效呢?
答:使用JRebel and XRebel
插件。
如图:
安装完成之后,这里会有两个绿色的按钮,并且在右边多了一个选项Select Rebel Agents:
其中一个绿色的按钮,表示热部署启动项目,另外一个表示用debug默认热部署启动项目。
Select Rebel Agents选项中包含三个值:
- JRebel:修改完代码,不重启服务,期望代码直接生效。
- XRebel:请求过程中,各个部分代码性能监控。例如:方法执行时间,出现的异常,SQL执行时间,输出的Log,MQ执行时间等。
- JRebel+XRebel:修改完代码,不重启服务,并且监控代码。
9. Codota
说实话,idea现有的代码提示功能,已经很强大了。
但如果你使用过Codota
插件,它会让你写代码的速度更上一层楼。
安装完插件之后,我们在写代码时,它会给你一些提示:
这些提示是基于ai统计出来的,非常有参考价值。
10. GsonFormat
很多时候,我需要把json
中的参数,转换成实体对象
中的参数。或者把实体对象
中的参数,转换成json
中的参数。
以前我们都是手动一个变量,一个变量的拷贝的。
但现在有个好消息是,idea的GsonFormat
插件可以帮我们完成这件事。
安装完插件之后,先创建一个空类:
按下快捷键:alt + s
,会弹出下面这个窗口:
然后在该窗口中,录入json数据。
确定按钮,就会自动生成这些代码:
简直帅呆了。
11. Rainbow Brackets
我们平时写代码的时候,括号是让我们非常头疼的地方,特别是代码逻辑很多,层层嵌套的情况。
一眼很难看出,代码是从哪个括号开始,到哪个反括号结束的。
有没有办法解决这个问题呢?
答:使用Rainbow Brackets
插件。
安装完插件之后,括号和反括号,在代码中会自动按照不同颜色做区分:
非常显目,非常直观。
12. CodeGlance
有些时候,我们阅读的代码很多,比如某个类中包含的方法和成员变量很多。
从上往下,一点点往下翻,会浪费很多时间。那么有没有办法,能够快速翻到想看的代码呢?
答:有,可以使用CodeGlance
插件。
安装完插件之后,在代码右侧,会出现下面这个窗口:
它是代码的缩略图,通过它我们能够非常快速的切换代码块。
最近无意间获得一份阿里大佬写的刷题笔记,一下子打通了我的任督二脉,进大厂原来没那么难。
链接:https://sigusoft.com/s/1UECE5yuaoTTRpJfi5LU5TQ 密码:bhbe
不会有人刷到这里还想白嫖吧?点赞对我真的非常重要!在线求赞。加个关注我会非常感激! @苏三说技术
此外,本文
GitHub
https://
github.com/dvsusan/susa
nSayJava
已经收录,有大厂面试完整考点,工作经验分享,欢迎Star。
一、IDEA下载、安装
1、IDEA下载
下载地址:
https://www.
jetbrains.com/idea/
2、IDEA安装
3、IDEA激活
获取激活码:
https://
sigusoft.com/
密钥:5522
二、IDEA项目空间及模块
1、IDEA项目结构
IDEA 和 Eclipse 项目结构有些区别:
故IDEA项目结构如下:
2、IDEA创建项目及模块
2.1 IDEA创建项目及配置
2.2.1 创建项目
如下案例:在D盘创建工作空间
idea-project
2.2.2 项目配置
2.2.2.1 设置JDK
2.2.2.2 给项目绑定JDK
2.2.2.3 移除默认Module
IDEA创建Project后会默认将其作为一个Module,但IDEA中Project一般就只是用来存储Module,不进行代码开发,故建议将默认生成的Module移除,避免项目结构混乱。
2.2 IDE创建模块
2.2.1 创建普通模块
2.2.2 创建Maven模块
2.2.3 创建Web模块
在新版本的IDEA中,不能直接创建Web项目,只能在普通模块或者Maven模块的基础上添加框架支持
2.2.3.1 创建模块
2.2.3.2 配置Tomcat并挂载模块
2.2.3.3 启动项目
2.3 IDEA删除模块
2.3.1 从工作空间移除模块
2.3.2 彻底删除模块
IDEA中如果需要彻底删除模块,需要进入工作空间,找到模块,手动删除
- 注意:除模块之外,工作空间的其他文件及文件夹均不能删除
三、IDEA常用设置
IDEA设置菜单位置:
1、窗口菜单设置
主要设置各菜单模块的显示与隐藏,此设置一般使用默认
如果不小心将主菜单(Main Menu)关闭,恢复的方法如下:
连按两下shift键,跳出搜索框,在搜索框中输入
menu
,打开主菜单即可
2、主题设置
3、代码提示忽略大小写【重要】
4、配置Maven【重要】
5、设置项目编码格式【重要】
6、自动导包及多余包优化【重要】
手动导包快捷键:Alt + Enter
7、设置字体、字号、字间距
8、 设置多个类不隐藏,多行显示
9、设置Maven依赖自动加载问题
四、IDEA快捷键
IDEA有自己的一套快捷键,和Eclipse有一定的区别,如果想使用Eclipse的快捷键习惯,可以做如下配置:
1、IDEA常用快捷键
1.1 快速复制代码
Ctrl + D
1.2 快速删除代码
Ctrl + X
1.3 快速生成类型
Ctrl + Alt + V
1.4 代码注释
- 单行注释:
Ctrl + /
- 多行注释:
Ctrl + Shift + /
1.5 代码自动生成
Alt + Enter
2、IDEA常用代码快速生成
2.1 快速生成 main 方法
main
2.2 快速生成输出语句
sout
五、IDEA常用插件
1、彩虹括号
2、AI代码自动提示
3、阿里巴巴Java编码规范
4、汉化包
5、设置背景图片
6、文字输入炫酷效果
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/117850.html