IDE调研之二
Eclipse和Jetbrains的IntelliJ IDEA对比:
Eclipse工具
- 在Eclipse中,可以最大化控制台。通过双击标签或者Ctrl+M快捷键就可以实现,但是在IntelliJ IDEA中却没有类似的方式。
Eclipse的项目结构支持更强大。Eclipse中存在由工程组成的工程区,每个工程都能被单独分组或隐藏,打开或关闭。
Eclipse的界面更精美。相比IntelliJ IDEA,Eclipse的字体和图表都更漂亮,给人的感觉更为稳定。而且所有的本地控件都用的很值。
Eclipse的插件编写更容易,使用的系统资源也更少,运行也而更为流畅。
Eclipse是免费的。当然,现在IntelliJ IDEA也有免费版,所以这个也不能算作Eclipse的优势了,只是IntelliJ IDEA收费版的功能更为强大而已。
IntelliJ IDEA
更好的调试。IntelliJ IDEA在调试上的表现,可以说比Eclipse强大太多。在调试过程中哦,当我们需要求一些表达式的值时,如果使用Eclipse就需要选定整个表达式,然后用Crtl+Shift+I看到这个表达式的值。但是,在IntelliJ IDEA中,只需要移动光标到表达式下然后用Alt+F8就可以实现。IntelliJ IDEA能够很好地理解你可能需要的表达式,还会给出的建议参数变量。你可以直接编辑并能立刻得到这个表达式的值,不会像在Eclipse中一个Debug界面跳来跳去。
更高的开发效率。IntelliJ IDEA在代码自动生成方面表现比Eclipse更为智能,比如IntelliJ IDEA能生成某个类的测试类,还能正确地放到test的相应目录下。在对ZenCoding的支持上,写html非常方便,tab快速补全,和原生集成一样。IntelliJ IDEA在开发效率上更明显的一点是,对JS、CSS以及插件的支持更好。
更智能的重构。这一点其实也属于开发效率,但是IntelliJ IDEA得重构功能还是想让我单独强调一下。所有的现代IDE都提供重构功能,这一点上,IntelliJ IDEA能读懂你需要什么,并且会针对不同的情况给你提供最合适的解决方案。
目录分层少而清。IntelliJ IDEA的目录分层很少,但是却很清晰,IDE配置的东西都能在Settings利找到,工程的配置也能在Project Settings里找到。
对于IDE工具来说,所需要的功能无非就那么几项:代码缩进、代码结构、高亮显示、智能提示、文件管理、程序编译和运营、Debug调试程序、另外针对不同语言和框架有一些专用的工具,比如Java语言支持的一些框架,Php语言支持的一些库,对Android开发支持了一个简单的可视化布局。而且他们的IDE工具定位非常明确,就是针对程序人员而开发的IDE工具,所以在可视化编程、拖拽式设计方面基本没有支持(我粗略查看仅仅有Android的一个简单布局)。基本上都是类似NotePad++那种方式的纯代码式的编写工具。Visual Studio和Eclipse等其他许多IDE,它们总是开发的非常全面和完备,除了纯代码开发界面以外,还有傻瓜化的拖拽式工具,力求做到人皆可用,放之四海而皆准。而JetBrains的工具恰恰与上述大头们背道而驰。他只做一类很窄的人群(相对于二八法则来说,傻瓜式操作的人要远远大于纯开发式的人员)。而对于IDE工具来说,可视化开发模块恰恰是非常大的一块大头。 而纯代码式开发是想对来说非常简单和轻量级的开发。JetBrains专注于开发一个非常简单的功能,而不是去规划一个大而全的复杂功能。这样舍弃了大头客户群和高难度的开发任务,只专注于开发简单的代码编写模块部分的开发。使得JetBrains公司可以更好的关注到用户体验和程序员开发中真实需要的细节性要求。所以JetBrains的IDE工具在纯代码开发方面做到了很多大头公司无法达到的便捷性和很好的用户体验度。在和微软、Adob等众多IDE开发大头的拼搏中,能保留自己独有的优势。
引用自:《从JetBrains公司产品给我的商业模式启示》
相比于Visual Studio的此类一个多语言IDE,Jetabrains将不同语言IDE各自分开,具体优劣其实取决于使用者的习惯和需要(个人查阅分析如下):
- 键盘映射程序员的键盘快捷键使用习惯;
- 掌握IDE需要时间和精力,使用多语言IDE对于需要使用多种语言进行开发的程序员来说是非常有益的。
- IDE并非功能越多越好,功能多意味着更大的复杂度,会分散程序员的精力,且容易带来更多的错误;
- 于一个现代的IDE来说,语法着色、错误提示、代码折叠、代码完成、代码块定位、重构,与调试器、版本控制系统(VCS)的集成等等都是重要的功能,因此优劣相比也是相对的;
参考文章:
《Python适合自己的IDE才是最好的IDE》
如何做到让开发者花钱买IDE的?
- 成熟的产品很好用,性能方面很不错;
- 他们家产品之间的快捷键统一,切换起来无门槛;
- 支持 vim 模式
总之就是使用更方便,动作更敏锐,性能更OK等等
挖掘Visual Studio插件(是查阅了解有哪些VS常用插件功能?)
常用插件:
Refactoring Essentials:代码重构分析
Roslynator:代码重构
CodeMaid:代码格式化
Github Extension for VisualStudio:Github插件(一般会自带)
Easy Git Integration Tools:Git 工具
VisualSVN:SVN工具
Pronama-chan IDE:背景插件
Web Essentials :前端扩展
Package Installer:Bower,npm,Yarn,JSPM,TSD,Typing和NuGet智能下载,项目右键Quick Install Package
Trailing Whitespace Visualizer:删除任何尾随的空格来保持代码文件的清洁
Time Stamp Margin:此扩展为调试输出窗口添加时间戳边距
Ctrl+Click Go To Definition:使ctrl +单击对光标下的标识符执行“转到定义”
Solution Error Visualizer:突出显示错误和警告在解决方案资源管理器
ILSpy:反编译,dll库右键Open in ILSpy
Vue.js Pack 2017:包含Vue.js JavaScript库的HTML Intellisense和代码段
Visual Studio Spell Checker:窗口键入或交互式时检查注释,字符串和纯文本的拼写
Double-Click Maximize:双击最大化
CodeNav:显示当前文档的代码结构
CodeGaze:过多缩进检查
AsyncFixer:异步代码质量检查
引用自:《常用IDE插件》
比如Web开发:
- VS10X CodeMap。 在代码编辑器提供了一个代码导航,可以快速定位到类里的每个方法和属性;还可以把代码块标识成不同的颜色,以便区分;支持的语言是包括 C#、C++、VB;
- VSEditorBackgroud。设置背景图;
- CssCop - FxCop For StyleSheets。 Css检测;
- JsLint .NET for Visual Studio。检测JavaScript;
Eclipse对应的插件市场怎么样?
非营利性Eclipse基金会的Eclipse IDE以其插件生态系统著称,拥有海量插件可供下载,用户也可以通过插件定制自己的Eclipse;
引用自《你应该关注的几个Eclipse超酷插件》
不同IDE都会有各自的许多插件,目的自然都是为了提高开发效率、代码质量或增强用户体验等,让IDE变得更优秀,性能上更优越;插件市场好坏对也是IDE性能好坏的一个体现;通过插件提升IDE的性能,也有插件开发这一方向;(插件市场不知如何调研)
各家IDE对AI工具的支持:
Visual Studio可以;
微软宣布新的 Visual Studio Tools for AI 现在可以下载使用,这是用于微软 Visual Studio 的一个扩展。
Visual Studio Tools for AI 扩展用于构建、测试和部署深度学习/AI 解决方案。
引用自:https://www.oschina.net/news/90733/microsoft-visual-studio-tools-for-ai-available-now
Eclipse:没有查到可以支持AI开发;
Xcode:没有查到可以
下载安装并使用分析的软件:
Visual Studio一直有在使用;
Eclipse在做web项目的时候现在也有在使用;
Xcode已经下载,使用还在琢磨过程中;
IDE调研之二的更多相关文章
- 【转】谁说Vim不是IDE?(二)
谁说Vim不是IDE?(二) 环境配置 “如果你认为Vim只是一个文本编辑器,你就输了”——来自Vim老鸟 Vim以简洁的方式提供了丰富的配置功能,主要配置体系由一个文件和文件夹组成.在一台安装了 ...
- 【高软作业2】:Java IDE调研分析
一 序言 随着软件项目开发需求的增多,拥有一款优秀的.顺手的IDE(Integrated Development Environment)对程序员来说显得格外重要.本文就Java程序开发,选择了3款I ...
- java selenium (八) Selenium IDE 用法
Selenium IDE 是Firefox 浏览器的一个插件, 它会记录你对Firefox的操作,并且可以回放它的操作. 用法简单,不过我觉得这个没多大的用处 阅读目录 Selenium IDE ...
- 【Android Studio安装部署系列】二、Android Studio开发环境搭建
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio开发环境安装步骤 下载Android Studio 下载地址: http://www.wanandroi ...
- 为什么需要云IDE?
一.云 IDE?是新概念吗? 不不不,早在 2010 年就有成熟的产品了:Cloud9 IDE 时至如今,云 IDE 已经相当常见了,比如: Cloud9:亚马逊为其云计算服务提供的 IDE Ecli ...
- 手把手搭建一个属于自己的在线 IDE
背景 这几个月在公司内做一个跨前端项目之间共享组件/区块的工程,主要思路就是在 Bit 的基础上进行开发.Bit 主要目的是实现不同项目 共享 与 同步 组件/区块,大致思路如下: 在 A 项目中通过 ...
- BUAA_2021_SE_Case_Analysis
案例分析作业 项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 案例分析作业 我在这个课程的目标是 通过课程学习,完成第一个可以称之为"软 ...
- 快成物流科技 x mPaaS | 小程序容器加持下的技术架构“提质增效”
导言 从 2017 年开始,GMTC"移动技术大会"就更名为"大前端技术大会".发展至今,混合开发.原生开发.前端开发等概念正在深度融合,组成"大 ...
- 简化SSH框架的整合
一.开发环境: (1) OS:Windows 7 (2) DB:MySql 5.1.6 (3) JDK:1.8.0_17 (4) Server:Apache Tomcat 8. ...
随机推荐
- tkinter的GUI设计:界面与逻辑分离(一)-- 初次见面
PyQt实现界面与逻辑分离的设计很是方便,详情可以见我的第一篇博文. 不过本文将使用python的标准库 tkinter,来实现界面与逻辑分离的GUI 设计. 我们来设计一个很简单的程序: 目的:长度 ...
- sklearn常见分类器的效果比较
sklearn 是 python 下的机器学习库. scikit-learn的目的是作为一个“黑盒”来工作,即使用户不了解实现也能产生很好的结果. 其功能非常强大,当然也有很多不足的地方,就比如说神经 ...
- 05-session-会话跟踪技术
1.session简介 Django中默认支持Session,其内部提供了5种类型的Session供开发者使用: 数据库(默认) 缓存 文件 缓存+数据库 加密cookie Session是服务器端技 ...
- SQL Server 跨库查询
1. 开启Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句: reconfigure reconfigure 2. 跨库查询操作 select * from ...
- 【正经向】NOIP2017烤后总结
[正经向]NOIP2017烤后总结 Warning: 合法的评论(举例): 博主辣么juruo还来参加NOIP,不要脸 不合法的评论(举例): %%%%%博主太强了,我菜爆了 博主将删除不合法评论,& ...
- 如何把项目通过git上传之github完整教程
作为一个有追求的程序员,需要撸点自己的开源项目,虽然我现在只是在学着造轮子,但这并不影响我成为大神的心.Github是基于git实现的代码托管,很多程序员在上面托管自己的开源项目,我使用Github也 ...
- X5webview完美去掉分享功能和缓存功能(2)
前段时间比较忙,没有来得及写完如何将X5WEBVIEW分享功能和缓存功能屏蔽,下面直接来干货,上代码. 1.首先在布局文件中增加一个全屏的布局, <!-- 视频全屏--> <Fram ...
- 取消Ubuntu18.04开机输入密码登录
设置>>详细信息>>用户>>解锁>>(输入密码进行认证)>>{自动登录}选项打开
- CentOS7.2下配置SOCKS5代理
SOCKS介绍: 1.这里只做简单介绍. SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Int ...
- 【Skynet】Traceback汇总
error: ./skynet/lualib/skynet.lua:534: ./skynet/lualib/skynet.lua:156: ./logic/gate/socket_msg.lua:5 ...