IntelliJ IDEA是一个相对较新的Java IDE。它是我所使用过的(我用过大部分Java开发环境)Java开发环境中最为有用的一个。高度优化的IntelliJ IDEA使普通任务变得相当容易。
通常不是较大的标签特性使一个产品真正有用。而是这些小的方面:里面的许多小的细节使整个包无缝集成及乐于使用。
下面是我真正喜爱Idea的一些理由。
1、感知语法词选择
反复使用Ctrl-w使所选表达式逐步增大直到选取整个文件。但是这一点听起来并不是很重要,它在与其它特性如“introduce variable”refactoring(“引入变量”重整)相结合使用时才真正好用。我可以把脱字符置于复杂表达式上,按Ctrl-w直到选取所需范围然后按Ctrl-Alt-v为表达式引入一个新的变量。如果我要替换这个表达式的其他事件Idea甚至也可以自动做到。
2、多种导航形式
在一个工程里,Idea有很多种方法用于转换。除鼠标之外所有的命令都可以通过键盘实现(这一点对于像我这样难以忍受不停地切换到鼠标的人来说绝对不错)。Ctrl-n可以通过键入类名查找一个类。Ctrl-shift-n可以查找文件。Ctrl-e得到最近编辑的文件,通过键入文件名或者鼠标键选择。命令不仅可以容易地在你的工程两个视图里导航并且使整合操作变得轻而易举。Alt-f1可以是你在任何一个其他视图里选择当前文件。工程导航地方法太多在这儿不能全部列举。所有命令没必要像观点一样都给出概念。
3、本地历史
开启本地历史,你源代码中的每一个改变(在tool和externally里)都被跟踪。这个特性救了我很多次所以我推荐它。不同的地方在一个绝对漂亮的差异查看器里高亮显示出来。
4、灵活的JUnit支持
单元测试可以独立运行。特殊的测试方法可以单独拉出来独立运行。Idea能够在一个包或者工程里自动运行所有测试而不需要手工启动一个麻烦的测试套件。在GUI运行器里的堆迹线上双击可以直接切换到源代码的相应行。就我个人认为我更喜欢文本运行器。它不但秀美而且速度更快功能更多。
5、设计优良的整合支持
Idea支持很多整合功能。更重要的使它们设计的好容易使用。有一些你会一直使用,也有一些几乎用不到。当你发现你需要他们时它们就成了一个大的时间节约器。
6、代码助手
在Idea里有一些真正强大的代码编写助手。在这里我只能介绍给你一点它的好处。一个比较好的例子是“委托方法”助手。它允许你在你的类里面为一个对象实例委托方法调用。它并不是你每天都使用的东西,但当你需要它的时候你就会发现自己节省了大量的时间。另一个例子是产生冗余代码和等价特性。你会发现这是一个自己经常使用的特性。其他一些代码助手特性为:产生Getters/Setters,产生构造器与“surround with…”(译者注:被什么保护)等特性。
7、灵活的代码重格式化
关于代码怎样重格式化的选择有许多。它可以为每一个工程单独设置,所以没必要担心自己是否必须支持不同的代码标准。重格式化一个文件或者一个完整的工程眨眼间就可以完成。
8、XML支持
Idea支持XML中的代码实现。如果没有定义图表或者DTD(文件类型定义)Idea将基于文件中已经包含的来实现。否则可能基于为文件定义的图表或者DTD来实现。Idea同时还会校正XML。
9、直观简洁的GUI
更为好玩的是每一个程序中的函数都可以通过键盘访问的到。在一个开发工具里这是应该有的但可悲的是大多数IDE对键盘导航并不注意。
为了完成工作不必要在不同的视图之间切换,也不必要在不同的窗口之间选择了。
10、与文件系统自动同步
不管你的IDE是多么优秀,通常都需要在工具之外作一些工作。Idea在这一点上做的很好。大多数工程都可以在Idea里不用改变他们的结构就可以使用。Idea还可以检查文件在外部的更改情况。这不需要人工刷新以告诉Idea一个文件已被更改。
11、定制的键盘映射
Idea自带的默认键盘映射非常有用。如果有时需要改变也很容易做到。有些键也可以设置阻挡比如外来的工具与Ant目标等。
12、动态的错误高亮显示
在键码时Java代码,XML与Java文档标签被动态解析,错误也会被报告。Ant建立文件甚至可为Ant工程句法提供额外支持。
13、检查
运行代码检查以报告大量的代码中潜在的错误点。它可以编制成脚本以作为一个批量工作运行,结果也可以以网页的形式提交。
14、完全理解JSP
Idea理解JSP的结构。作用于普通Java代码的众多功能同样适用于JSP(比如整合功能)。同时支持JSP调试。
15、灵巧的编辑功能
一些小技巧如键入匹配的引号及括号使得生活更加容易:)。
16、支持EJB
Idea理解EJB,尽管它不包括对个别应用服务器的特殊支持。不管怎样最好与Ant一起使用。EJB支持容易使用而且实在-本来就是这样。
17、几乎没有向导
从前许多厂家都绑定大量的向导而不是设计一个简单易用的接口。虽然有向导但只是一个滥用的工具。Idea只包含了一个用于帮助创建新工程的向导,并且仍然能够创建一个对新手来讲容易使用的程序。
18、灵巧的模板
这些灵巧的模板是代码的片断,它们被用来做各种各样令人惊讶的事情。我第一次使用“iterate over collection”模板时就被震惊了。它不仅挑拣出正确的默认收集变量而且还知道我已经放进去了什么以及默认的方法。这个特性很难在纸上描述。下载一个测试版本试验一下吧!
19、最好的代码实现支持
Idea现在有三种代码实现支持包括实现默认得变量名称,JavaDoc以及其他代码细节。
20、集成Ant
Idea支持Ant建立工具。不仅是运行目标它还支持编译与运行程序前后运行目标,另外也支持绑定键盘快捷键。
在编辑一个Ant建立XML文件时,Idea还对组成Ant工程的XML部分提供支持。
21、未使用代码高亮显示
如果Idea检查出某一个变量或者方法没有被使用,它会把它作为一个不明显的警告显示出来。检查可用来做更详细的死代码分析。甚至JavaDoc标签也能被查出来。
22、小技巧
Ctrl-d复制选中的代码。如果没有选择则复制整行。在没有选择的情况下Ctrl-c拷贝一整行,Ctrl-x剪切一整行。
Ctrl-Shift-j会做一个想VI那样的连接,除非它是句法敏感的。比如有这么一行:
String s = "This is " + " a split string";
连接之后成为:
String s = "This is a split string";
23、有规律的查找与替换表现
规律查找是可能的,但更美妙的事实是你也可以做规律替换。这一点可节约大量的时间。
24、快速JavaDoc
JavaDoc对任何一个标识符来说都可以通过Ctrl-q轻易地查看到。在编码实现期也可以访问。
25、意识动作
在Idea觉察到它可以通过某种方法帮助你时它会提供一些有用地选择。例如你要使用一个表达式使它可以与指定地变量相匹配,Idea会察觉到这一点然后给你一些选择,要么使用表达式要么改变你在使用地变量地类型。
分享到:
相关推荐
内容概要:本文详细介绍了基于MATLAB GUI界面和卷积神经网络(CNN)的模糊车牌识别系统。该系统旨在解决现实中车牌因模糊不清导致识别困难的问题。文中阐述了整个流程的关键步骤,包括图像的模糊还原、灰度化、阈值化、边缘检测、孔洞填充、形态学操作、滤波操作、车牌定位、字符分割以及最终的字符识别。通过使用维纳滤波或最小二乘法约束滤波进行模糊还原,再利用CNN的强大特征提取能力完成字符分类。此外,还特别强调了MATLAB GUI界面的设计,使得用户能直观便捷地操作整个系统。 适合人群:对图像处理和深度学习感兴趣的科研人员、高校学生及从事相关领域的工程师。 使用场景及目标:适用于交通管理、智能停车场等领域,用于提升车牌识别的准确性和效率,特别是在面对模糊车牌时的表现。 其他说明:文中提供了部分关键代码片段作为参考,并对实验结果进行了详细的分析,展示了系统在不同环境下的表现情况及其潜在的应用前景。
嵌入式八股文面试题库资料知识宝典-计算机专业试题.zip
嵌入式八股文面试题库资料知识宝典-C and C++ normal interview_3.zip
内容概要:本文深入探讨了一款额定功率为4kW的开关磁阻电机,详细介绍了其性能参数如额定功率、转速、效率、输出转矩和脉动率等。同时,文章还展示了利用RMxprt、Maxwell 2D和3D模型对该电机进行仿真的方法和技术,通过外电路分析进一步研究其电气性能和动态响应特性。最后,文章提供了基于RMxprt模型的MATLAB仿真代码示例,帮助读者理解电机的工作原理及其性能特点。 适合人群:从事电机设计、工业自动化领域的工程师和技术人员,尤其是对开关磁阻电机感兴趣的科研工作者。 使用场景及目标:适用于希望深入了解开关磁阻电机特性和建模技术的研究人员,在新产品开发或现有产品改进时作为参考资料。 其他说明:文中提供的代码示例仅用于演示目的,实际操作时需根据所用软件的具体情况进行适当修改。
少儿编程scratch项目源代码文件案例素材-剑客冲刺.zip
少儿编程scratch项目源代码文件案例素材-几何冲刺 转瞬即逝.zip
内容概要:本文详细介绍了基于PID控制器的四象限直流电机速度驱动控制系统仿真模型及其永磁直流电机(PMDC)转速控制模型。首先阐述了PID控制器的工作原理,即通过对系统误差的比例、积分和微分运算来调整电机的驱动信号,从而实现转速的精确控制。接着讨论了如何利用PID控制器使有刷PMDC电机在四个象限中精确跟踪参考速度,并展示了仿真模型在应对快速负载扰动时的有效性和稳定性。最后,提供了Simulink仿真模型和详细的Word模型说明文档,帮助读者理解和调整PID控制器参数,以达到最佳控制效果。 适合人群:从事电力电子与电机控制领域的研究人员和技术人员,尤其是对四象限直流电机速度驱动控制系统感兴趣的读者。 使用场景及目标:适用于需要深入了解和掌握四象限直流电机速度驱动控制系统设计与实现的研究人员和技术人员。目标是在实际项目中能够运用PID控制器实现电机转速的精确控制,并提高系统的稳定性和抗干扰能力。 其他说明:文中引用了多篇相关领域的权威文献,确保了理论依据的可靠性和实用性。此外,提供的Simulink模型和Word文档有助于读者更好地理解和实践所介绍的内容。
嵌入式八股文面试题库资料知识宝典-2013年海康威视校园招聘嵌入式开发笔试题.zip
少儿编程scratch项目源代码文件案例素材-驾驶通关.zip
小区开放对周边道路通行能力影响的研究.pdf
内容概要:本文探讨了冷链物流车辆路径优化问题,特别是如何通过NSGA-2遗传算法和软硬时间窗策略来实现高效、环保和高客户满意度的路径规划。文中介绍了冷链物流的特点及其重要性,提出了软时间窗概念,允许一定的配送时间弹性,同时考虑碳排放成本,以达到绿色物流的目的。此外,还讨论了如何将客户满意度作为路径优化的重要评价标准之一。最后,通过一段简化的Python代码展示了遗传算法的应用。 适合人群:从事物流管理、冷链物流运营的专业人士,以及对遗传算法和路径优化感兴趣的科研人员和技术开发者。 使用场景及目标:适用于冷链物流企业,旨在优化配送路线,降低运营成本,减少碳排放,提升客户满意度。目标是帮助企业实现绿色、高效的物流配送系统。 其他说明:文中提供的代码仅为示意,实际应用需根据具体情况调整参数设置和模型构建。
少儿编程scratch项目源代码文件案例素材-恐怖矿井.zip
内容概要:本文详细介绍了基于STM32F030的无刷电机控制方案,重点在于高压FOC(磁场定向控制)技术和滑膜无感FOC的应用。该方案实现了过载、过欠压、堵转等多种保护机制,并提供了完整的源码、原理图和PCB设计。文中展示了关键代码片段,如滑膜观测器和电流环处理,以及保护机制的具体实现方法。此外,还提到了方案的移植要点和实际测试效果,确保系统的稳定性和高效性。 适合人群:嵌入式系统开发者、电机控制系统工程师、硬件工程师。 使用场景及目标:适用于需要高性能无刷电机控制的应用场景,如工业自动化设备、无人机、电动工具等。目标是提供一种成熟的、经过验证的无刷电机控制方案,帮助开发者快速实现并优化电机控制性能。 其他说明:提供的资料包括详细的原理图、PCB设计文件、源码及测试视频,方便开发者进行学习和应用。
基于有限体积法Godunov格式的管道泄漏检测模型研究.pdf
嵌入式八股文面试题库资料知识宝典-CC++笔试题-深圳有为(2019.2.28)1.zip
少儿编程scratch项目源代码文件案例素材-几何冲刺 V1.5.zip
Android系统开发_Linux内核配置_USB-HID设备模拟_通过root权限将Android设备转换为全功能USB键盘的项目实现_该项目需要内核支持configFS文件系统
C# WPF - LiveCharts Project
少儿编程scratch项目源代码文件案例素材-恐怖叉子 动画.zip
嵌入式八股文面试题库资料知识宝典-嵌⼊式⼯程师⾯试⾼频问题.zip