BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

GitHub与Facebook合作联合发布Atom IDE

| 作者 Atom 关注 0 他的粉丝 ,译者 薛命灯 关注 12 他的粉丝 发布于 2017年9月15日. 估计阅读时间: 5 分钟 | QCon北京2018全面起航:开启与Netflix、微软、ThoughtWorks等公司的技术创新之路!

亲爱的读者:我们最近添加了一些个人消息定制功能,您只需选择感兴趣的技术主题,即可获取重要资讯的邮件和网页通知

9月12号,Atom官网宣布GitHub与Facebook合作联合推出Atom IDE,将IDE风格的功能带到了Atom上。

Atom IDE提供了更加智能的自动完成特性和多种代码导航特性,如轮廓视图(outline view)、跳转(go to definition)、查找引用(find all references)等。除此之外,还有其他一些有用的功能,如悬停显示(hover to reveal)、错误和警告(诊断信息)和文档格式化。

初始版本的Atom IDE支持TypeScript、Flow、JavaScript、Java、C#和PHP,它利用强大的语言服务器为代码和项目提供深度的语法分析。很多公司目前都采用了语言服务器协议(language server protocol),如微软、Eclipse、SourceGraph、Palantir、Red Hat、Facebook和GitHub。

目前建议在Atom Beta 1.21上使用Atom IDE,因为这个版本的Atom能够确保底层的语言服务器可以正常运行。

要使用Atom IDE至少需要安装两个包——一个是用户界面,一个是用于支持编程语言的包。

  • 打开Atom的“Install Packages”对话框(Settings View: Install Packages and Themes)。
  • 搜索并安装atom-ide-ui
  • 安装用于支持编程语言的包(如ide-typescript)。目前支持的语言如下所示。

TypeScript和JavaScript(ide-typescript)

ide-typescript由SourceGraph团队开发,利用了微软的TypeScript语言服务器。这个包也支持JavaScript,提供了自动完成、文档概览、诊断和错误提示等功能。

Flow(ide-flowtype)

Facebook发布的ide-flowtype将Flow的类型注解系统带到了Atom上。

C#(ide-csharp)

OmniSharp是C#最早的语言服务器之一,得益于OmniSharp,ide-csharp才能将各种IDE风格的特性带到Atom上。

Java(ide-java)

ide-java需要安装Java 8运行时后才能使用。

PHP(ide-php)

ide-php使用了FelixFBecker的PHP语言服务器,为PHP提供支持(要求安装PHP 7运行时)。

这些IDE包的功能取决于底层的语言服务器,它们会在打开相应的文件后被激活。以下列举了其中的一些功能。

自动完成

所有的IDE包都支持自动完成。不过出于性能方面的考虑,有些包要求用户手动触发自动完成功能(比如同时按下Ctrl键和空格键)。

诊断

Atom窗口的左下角有一个红色的感叹号和一个黄色的三角形,通过点击这两个符号就可以打开诊断信息面板,从面板上可以看到错误信息和警告信息。点击这些信息可以直接跳到有问题的代码处。在编辑器里,行数左边也会有相应的提示。

查找所有引用

把鼠标指针停放在你想要查看的类或变量上,然后通过右键菜单或命令面板的“Find References: Activate”命令来查找所有引用了这个类或变量的地方。

格式化

有些包提供了重新格式化文档的功能,只要从命令面板里选择“Code Format: Format Code”即可。

跳转

按下Ctrl键,同时在类或变量上单击鼠标左键,就可以跳转至定义类或变量的地方。

悬停

将鼠标指针悬停在某一个类型或对象上就可以看到更多与之相关的信息。

轮廓视图

有些包会将当前文档的结构显示成树状,这样就可以直接查找并跳转至相应的代码位置。轮廓视图可以通过View菜单或Outline View: Toggle命令来打开和隐藏。

引用高亮

有些包可以让你看到当前变量或对象的直接引用,只要将鼠标指针放在变量上,引用该变量的地方就会高亮显示。

未来的计划

Atom IDE的旅程也才刚刚开始,希望通过社区的努力能够支持更多的语言(如Rust、Go、Python等),也希望将来可以直接运行和编辑应用程序,让Atom IDE成为真正的IDE。

如果有新的语言服务器出现,可以使用atom-languageclient这个npm包来创建支持该语言的Atom IDE包。


感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

太卡了 by ant ant

只求atom不要变成eclipse

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT