【Atom】在一个中/大型项目中,那些好用而强大的atom功能

作为一个学生党,一开始使用atom时候并没有意识到atom一些小功能的巨大作用,直到自己实习参与了项目,才知道这些功能在一个项目中是能极大提高工作效率的开发利器

下面是一位不愿意透露其姓名的彭湖湾同学(其实就是我啦)的使用体会,我们姑且称之为W同学

1.通过关键字段全项目检索目标代码文件command+shift+F(mac)ctrl+shift+F(windows)

【场景一】:W同学在tower(一个团队协作工具)上接到了一个小任务,他要在公司运营的一个站点上站点模块里,对一个公告栏的bug进行修正

但这个模块并不是他写的,他并不熟悉。W同学一开始试图逐个打开文件并在里面寻找站点公告这一部分的文件代码,但这个文件嵌套得比较深,当W同学连续做了【打开目录A】--》【打开目录A中的目录AA】--》【打开文件夹AA中的文件AAA】--》【卧槽文件不在目录A!fuck!】--》【打开目录B】....同上 许多次之后,W同学意识到他所做的一切相当的傻逼,因为这导致找代码的时间占了他解决问题的90%的时间

【解决办法】W同学发现在目标代码里,有“站点公告”一行醒目的字段,并且他认为整个项目里只有目标文件含有这个字段,于是!他command + shift +F弹出一个搜索框,输入关键字段——“站内公告”

然后回车,atom开始在数K数W个文件的项目中通过“站内公告”字段寻找目标文件

点击该文件!于是在检索数K数W个文件后,W同学找到了这个SieNews文件。

2.通过关键字段在目标文件中定位目标代码:command+F(mac)ctrl+F(windows)

【场景二】:W同学通过方法一找到了目标文件,但现在又有了另外一个问题,在修改这个文件的时候他发现问题出在一个叫submit的函数上,但问题是这个文件的代码超过了1000行,虽然也不多,但是W同学想“偷个懒”,能不能直接定位找到那个函数呢?

【解决方法】:没错,和场景一一样,这次我们故技重施,敲command + F,弹出:

输入关键字Submit回车:

页面已经自动定位到了submit函数的位置!

诶,等等! 刚刚搜索框的上方提示“13 result found for Submit ”,这意味着,你搜索Submit时候,不仅是Submit函数,SubmitForm函数,SubmitText等等也会被纳入搜索的结果集,总共13个,那么Submit不在第一个搜索结果怎么办呢?——这时候你只要按回车,每按一次页面就会定位到下一个submit搜索结果里,看起来就像是“逐帧跳跃”

3.直接通过文件名全局搜索目标文件command+T(mac)ctrl+T(windows)

【场景三】W同学这次遇到了和场景一一样的问题,他想要搜索一个目标文件,但这次不一样的地方在于,他知道这个文件的名字是什么,这时候怎么全局搜索呢?

【解决方法】:command + T ,弹出

输入文件名,然后就能看到你想找的文件啦,然后只要点击一下,就打开了那个文件

4. 代码折叠让代码看起来更加简洁 alt+command+shift+{(mac)alt+ctrl+shift+{(windows)

【场景4】W同学接到一个任务——写一个响应式的静态页面,虽然没有复杂的逻辑在里面,但是仍然要写一大摞的函数。在做一些细节上的修改的时候,这看起来很杂乱无章。于是W同学尝试把每个代码块折叠,仅以函数名的形式展示

【解决方法】进入目标页面,敲 alt + command +shift + { ,(注意要依次按这四个键,不能同时按)看一下页面,所有代码块都被折叠了,只保留函数名在外头

【注意】:要撤销按alt + command +shift + }

【吐槽】四个键还真是很难按啊。。。

5.单个代码块折叠

【场景5】还是上面的那个问题,如果这个时候你只想要折叠一个代码块而不是所有代码块,这时候怎么办呢?

【解决办法】比如对这个函数,在光标移到函数名附近前它是这样的:

光标移到函数名附近后,出现了一些小箭头

点击const前的小箭头

代码块已被折叠

6.让导航上的文件在目录树中打开并且集中焦点

【场景6】W同学遇到有些烦人的问题,他在导航中打开了20+的页面,现在他想在目录树中找到这个文件。但是很不巧,这20个页面先后打开的过程中,目录树经过多次折叠,W同学已经无法直接在目录树中直接找到那个文件了

【解决方法】对在导航中的文件点击右键,在弹出的框里点击reveal in tree view

再回来看目录树,目标文件已经被打开

7.atom的其他快捷键操作

atom相关操作的快捷键还有非常多,感兴趣的同学可以来看简书上的这篇文章http://www.jianshu.com/p/e33f864981bb 对于其他的快捷键 我个人比较喜欢用的是其中两个快捷:

control + E移动到本行结束

control + A移动到本行开始

至于其他的一些快捷键,感觉对速度和效率的提升并不算大。当然了,具体如何操作,就是各人的爱好了

时间: 2024-10-24 15:15:12

【Atom】在一个中/大型项目中,那些好用而强大的atom功能的相关文章

SLAM+语音机器人DIY系列:(二)ROS入门——8.理解roslaunch在大型项目中的作用

摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人"miiboo"中的大部分程序也采用ROS进行开发,所以本文就重点对ROS基础知识进行详细的讲解,给不熟悉ROS的朋友起到一个抛砖引玉的作用.本章节主要内容: 1.ROS是什么 2.ROS系统整体架构 3.在ubuntu16.04中安装ROS kinetic 4.如何编写ROS的第一个程序hello_world 5.编写简单的消息发布器和订阅器 6.编写简单的s

新建解决方案 在解决方案中添加项目中,解决方案消失的解决办法

新建空白解决方案的步骤:文件--新建项目--其他项目类型--Visual Studio 解决方案 这样就建立出了一个空白解决方案. 然后在资源管理器中可以添加项目,但是添加项目的时候会发现,解决方案消失了,解决办法  工具--选项--项目和解决方案(如果看不到这个,在下方有一个显示所有设置打勾),然后右边有一个 总是显示解决方案.勾上,解决方案就出现了 记录一下. 新建解决方案 在解决方案中添加项目中,解决方案消失的解决办法,布布扣,bubuko.com

Eclipse 中 Java 项目中 .settings 文件夹作用

今天工作时,因对 .settings 文件夹误操作,耗时 6 个多小时,才了解到原因就出在 .settings 文件夹.经查阅资料,对 .settings 做如下整理: 就如setting这个名字,就是存放存放各种插件的配置文件..有这些文件的约束你可以更好的利用IDE进行coding.所以呢,这些文件只是用来配置环境用的. 1. org.eclipse.jdt.core.prefs 该文件是与Compile相关的配置,一般情况下的内容如下: 可以手动修改该文件,添加一些其他的配置,然后重启Ec

关于intellij idea 中javaweb项目中使用jstl报错500错误问题

问题截图如下 taglib红色说明项目中没有导入jstl相关jar包 在tomcat中运行后,报错如下 解决办法 1.找到相关jar包(jstl.jar/standard.jar)拷贝到项目的lib目录下 2.在modules添加这两个jar包到工程的 lib中 3.在artifacts导入到output中 一切OK!

mockjs 在项目中vue项目中使用

一.为什么要使用mockjs 总结起来就是在后端接口没有开发完成之前,前端可以用已有的接口文档,在真实的请求上拦截ajax,并根据mockjs的mock数据的规则,模拟真实接口返回的数据,并将随机的模拟数据返回参与相应的数据交互处理,这样真正实现了前后台的分离开发. 二.在vue的项目中怎么去使用mockjs 1.下载mockjs npm install mockjs --save 2.使用mockjs 2.1在项目目录中新建mock/mockServer.js  模拟服务端 1 import

161010、在大型项目中组织CSS

编写CSS容易. 编写可维护的CSS难. 这句话你之前可能听过100次了. 原因是CSS中的一切都默认为全局的.如果你是一个C程序员你就知道全局变量不好.如果你是任何一种程序员,你都知道隔离和可组合的模块是构建可维护系统的关键. 为了试图帮助人们构建可维护的CSS,已经有很多CSS指南了:SMACSS, OOCSS, BEM, ITCSS, ACSS, CCSS,Atomic Design, Maintanable CSS, rscss, 并且可能还有 更多. 那么,CSS的问题是什么? spa

160901、在大型项目中组织CSS

编写CSS容易. 编写可维护的CSS难. 这句话你之前可能听过100次了. 原因是CSS中的一切都默认为全局的.如果你是一个C程序员你就知道全局变量不好.如果你是任何一种程序员,你都知道隔离和可组合的模块是构建可维护系统的关键. 为了试图帮助人们构建可维护的CSS,已经有很多CSS指南了:SMACSS, OOCSS, BEM, ITCSS, ACSS, CCSS,Atomic Design, Maintanable CSS, rscss, 并且可能还有 更多. 那么,CSS的问题是什么? spa

Selenium的PageFactory & PageObject 在大型项目中的应用

因为最近遇到的技术问题一直没找到可行的解决办法,一直在翻看selenium的源代码,之前写测试代码的时候就是拿来即用,写什么功能啊,就按手动的操作步骤去转换,近日看到一个文章,又去wiki上查了查,觉得写的不错就记录下来了. 在使用selenium做UI测试的时候,往往并不是页面的每个功能我们都要测试,总有一些经常要进行回归的功能,再细致一点的说,有一些节点是我们经常操作的,那么我从项目初期开始就进行自动化测试代码编写的话,我们可以设计适应项目的一套自动化测试代码结构,基本的思路就是对每一个页面

软件构建工具Scons在大型项目中的几点总结

最近在为团队搭建统一的软件构建环境,目的是用scons为十几个软件模块提供统一的编译框架和命令,支持生成release/debug不同版本的可执行文件,同时支持不同的调试级别. 1.整体结构和实施过程 a.约定好不同模块在统一的代码库中的相对位置 因为软件模块之间可能存在库依赖.头文件依赖等关系,固定的相对路径能够使得模块中包含其他模块头文件或者库的脚本语句固定下来: b.为每个新增加模块写sconscript脚本,在里面利用scons.python语句实现软件构建.部署和清除: c.如果子模块