在超过6次实习期期间,有很多可爱的导师看过我编码,也让我看他们编码(我喜欢结对编码)。感谢他们,在过程中我学到了很多东西,让我在工作中更有效率,更加愉悦。
我想和你们分享我学到的这些关于文本编辑的技巧和窍门!
这不是一篇关于你应该使用哪个文本编辑器的博客。我会分享一些这些天我使用过的编辑器的示例(Mac 系统上的 Sublime Text )—— 但很多文本编辑器是可定制的。这就意味着这些技巧&窍门中的很多都可以在你的编辑器中设置(我很想在评论里看到解释该怎么做)。让我们抛开“这个工具是最好的”的话题,只是学习怎样让我们的工具更好的帮助我们。
自动检测你的代码
检测器可以让代码更清晰,更容易阅读,和更找到错误。有时我在完成一些改变后,运行检测器,或者在 GitHub上 打开一个 pull 请求后,让检测器在线运行。但是当检测器运行时,我写检测通过的代码变的更快了....就像我在写我的代码。我不仅停止了在提交代码之前几分钟枯燥的调整,还训练我自己在事情发生之前就解决问题的习惯。
上图的检测器告诉我:一个变量没有定义,我丢失了一个冒号
80个字符规则
许多风格指南都有武断的规则,如一行最多是80个字符长度(或者100,或其它什么的)。大多数的文本编辑器,当你不管输入什么,达到限制时,会增加一条小线来提示你。
在 Sublime Text ,你可以从 View > Ruler 开启该功能
自动符合一些空格约定
许多风格指南偏向于在文件结尾处没有空格,和在每个文件的结尾有一个新行。平常很难记住要这样做,但幸好我的文本编辑器能帮我做这些!Sublime 在它的用户设置中有 “ensure_newline_at_eof_on_save” 和 “trim_trailing_white_space_on_save”。
在整个代码库中查找(并替换)
当我处理一个代码库中的许多文件时,在里面搜索可以看到所有被使用或被引用的地方 ( MacOS 的 Sublime 用 ⌘ shift F ),这非常好。可以选择在特定的文件夹或文件类型中进行搜索,这非常棒。有时候我觉得打开/关闭区分大小写或使用正则表达式是很有帮助的--尽管我不经常使用这些功能。
快速地找到函数的定义
当然,我可以在代码库中搜索函数名,找到它的定义,然后弄清楚它是如何工作的。但是如果能更快地达到目的,不是更好吗?
右击, goto definition , 然后……哈哈! 结果就出来了。
快速查找文件
我经常需要查找并打开一个文件,但并不记得它在代码库的精确位置。所以我希望能够在查找栏中输入文件名,且能看到我正查找的所有可能(符合)的文件,让我快速地打开新的文件。我喜欢灵活的搜索输入所带来的额外益处。我甚至可以弄一堆的拼写错误或删掉文件名的一部分,Sublime 依然可以知道我想要什么!(我敢打赌这搜索算法背后通常被称为“模糊搜索”的技术,是相当有趣的!)
在 Sublime Text, 你可以用 ⌘P 调出这个搜索栏
上、下移动行
我以前经常用选中+复制+粘贴,为将一行代码(或整个函数)移到另一行下面。从那时起,我就想出了如何用快捷方式上下移动行的方法了。这虽是一个小小的变化,但它让我感觉好多了(有点像三个手指的拖动感觉)。
MacOS 的 Sublime Text 可使用 control+ ⌘ + up/down
语法高亮显示
语法高亮显示使阅读和扫描(扫视、快速地浏览)代码更容易。而且有助于在码字时发现有错误--如果它看起来颜色不太对劲,它可能是一个错误。
有时语法默认为高亮显示的,有时只有某些语言/技术在你的默认设置里。当我得到一台新的工作笔记本,我知道我需要去安装一个包才能得到 jsx 的语法高亮。然而,在处理许多 jsx 文件时,我仍然拖了好几个月的时间(都还没安装)。最后我花了一分钟安装了它,事情变得更好了。
为 React .jsx 文件添加语法高亮的前后对比
Git stuff
最后,如果你在你的工作流程中有使用到 git ,你可以在你的文本编辑器中添加一些支持来告诉你一些 git 相关的东西。我喜欢看到的一件事就是从我上次提交以来所增加/删除/修改的行(一个轻量级的 git diff )。我有时也使用工具(糟糕的名字 git blame ,找背锅的)去查看是谁最后在文件中更改了一行。
标记显示在左边要感谢 gitgutter 包
多说几句!
你的文本编辑器可以为你做很多很酷的事情! 我相信持续学习这些工具有助于更高效,更开心地工作。 另外我不打算第一时间开始使用这些工具,而是在长期的过程中做选择,比如为它们感到兴奋,或者满足我需求时再做选择。
希望这些提示和技巧能令你兴奋或帮到你!我希望看到讨论你们喜欢使用文本编辑器哪种功能的评论。