用好这28个工具,开发效率爆涨

简介:用好这28个工具,开发效率爆涨。本文我将主要从Terminal 和 Desktop 2个大类、8个核心开发场景介绍一下我最常使用的效率工具,及如何通过这些工具来提升程序员「幸福感」的实践。

大家好,我是秦世成,我在云效负责制品仓库Packages的开发工作。作为一个有多年经验的资深CRUD后端工程师,使用过很多日常开发所需的工具软件,其中不少能堪称为「神器」,这些「神器」能极大的提升日常开发的效率;小到一个复制粘贴操作,大到开发运维,我们都可以使用合适的工具来进行效率提升,加速日常开发流程,让开发效率蹭蹭蹭。本文我将主要从Terminal 和 Desktop 2个大类、8个核心开发场景介绍一下我最常使用的效率工具,及如何通过这些工具来提升程序员「幸福感」的实践。

Terminal

终端管理

在我们日常开发运维的过程中,经常会和终端打交道,比如服务的部署,文件的浏览查看等;但是我们在和终端打交道的过程中,经常会遇到下面的问题:

  • 需要在多个终端之间切换,来回操作麻烦,容易出错,效率低下
  • 终端输入效率低下,无智能自动提示,输入高亮显示等
  • 终端显示操作不流畅,乱码频发,苦不堪言

通过下面的终端神器,就可以打造一个高颜值,高效率的终端。

iTerm2负责颜值和基本的Shell呈现托管,Tmux负责Shell的多窗口管理,而Zsh负责对Shell功能的拓展提升。

iTerm2:高颜值终端工具

🔗 链接:iTerm2 - macOS Terminal Replacement

👍 推荐指数:⭐⭐⭐⭐⭐

iTerm2 是一款功能强大的终端工具,也可以说是 Terminal 的替代品,也可以说是 iTerm 的后继产品。它适用于 macOS 10.12 或更高版本的 macOS。它支持分窗口操作、自动补齐、粘贴历史、回放功能、全屏等功能,是一款非常强大、非常值得推荐的终端工具。

Tmux:终端复用软件

🔗 链接:https://github.com/tmux/tmux

👍 推荐指数:⭐⭐⭐⭐⭐

Tmux 是一个用于在终端窗口中运行多个终端会话的工具,即终端复用软件(terminal multiplexer)。在 Tmux 中可以根据不同的工作任务创建不同的会话,每个会话又可以创建多个窗口来完成不同的工作,每个窗口又可以分割成很多小窗口。这些功能都是非常实用的。

Tmux可以无差别的优化我们使用终端的体验,特别是分屏+多窗口的功能可以极大的提高使用效率,就如下图所示,可以将自己关注的所有关键信息都展示在一个屏幕上,很极客有没有。不仅如此,tmux还提供了session管理功能,可以同时开启多个session,将相关的多个窗口集中在一个session进行管理,如果搭配上tmux-continuum 插件,还可以自动保存和恢复session,不用再担心重启以后session丢失的问题了。

Tmux的细节和技巧有很多,这里就不再一一介绍了,更多奇技淫巧可以看阮一峰老师的文章《Tmux使用教程》

Tmux社区也提供了许多的插件,满足不同的定制化需求,这里推荐几个比较常用的,更多的插件可以到官网探索:

  • tmux-plugin-manager: tmux插件管理器
  • tmux-powerline:tmux状态栏,颜控必备
  • tmux-continuum: 自动恢复和连续保存tmux env
  • tmux-yank:允许将突出显示的文本复制到系统剪贴板

Zsh & Oh-my-zsh:能抗能打强大Shell

🔗 zsh 链接:https://github.com/zsh-users/zsh

🔗 oh-my-zsh链接:https://github.com/ohmyzsh/ohmyzsh

👍 推荐指数:⭐⭐⭐⭐⭐

Zsh同bash一样,是一款功能强大的终端(shell)软件,提供的强大的自定制的能力,并且其99% 的 Bash 操作 和 Zsh 是相同的。

而oh-my-zsh则是zsh的配置管理工具,其提供了强大的功能,插件,主题等,能够最大效率的提升使用shell的效率。

大家可能比较好奇,我都有Bash了,为了还要用Zsh呀?Bash虽然能够满足我们使用Shell的基本要求,但是我们不仅要能用,而且还要用的好,用的舒服。作者在接触Zsh之前,一直使用的是Bash,就在那个黑乎乎的界面上敲着生疏的命令,不仅效率低下,而且容易出错,极其枯燥。后来接触了Zsh+oh-my-zsh以后,原来Shell可以这么有趣,Zsh不仅可以兼容Bash 99%的操作,并且提供了高颜值的交互界面及高效率的插件,这种感觉就像以前就用notepad敲代码,后来切换到了IDE上,Shell使用体验大大提升。

就如下图所示:高颜值交互界面,Git信息自动提示,命令行高亮,输出内容更加友好等等。

我敲的不是命令行,而是艺术品。

oh-my-zsh同样提供了诸多实用的插件:

  • git: 提供了当前的workspace下的git提示,比如分支信息,commit信息等
  • zsh-autosuggestion:自动从history中,推荐输入的shell命令
  • zsh-syntax-highlighting:提供了shell命令的高亮显示
  • zsh-z: 提供了在你访问的目录间快速跳转的能力
  • zsh-vim-mode:将shell中的操作键映射为vim,加速shell输入速度

开发调试

作为一个合格的CRUD工程师,在日常开发(mō yú)过程中,进行最多的操作就是 调接口->看响应->改代码->调接口->看响应->改代码...

那么如此高频的操作怎么能少了几件趁手的兵器呢。

如果你喜欢在终端下调用接口进行调试,那么不妨可以使用下面一组工具:

调接口(httpie)->看响应(jq & fx)-> 改代码(tig & vim)

httpie:高颜值http客户端

🔗 链接:HTTPie – API testing client that flows with you

👍 推荐指数:⭐⭐⭐⭐

Httpie是一个命令行 HTTP 客户端。它的目的是使 CLI 和网络服务之间的交互尽可能人性化。它提供了一个简单的 HTTP 命令,允许使用简单自然的语法发送任意 HTTP 请求,并显示多彩输出。HTTPie 可用于测试,调试以及通常与 HTTP 服务器交互。

我们以往使用的最多的就是curl,curl也是一个很强大的Http客户端,就是丑了些(手动狗头),如果你厌倦了curl,不妨来试试httpie,绝对会给你不一样的http CRUD体验。

jq & fx:JSON处理和可视化

🔗 jq链接:jq

🔗 fx链接:GitHub - antonmedv/fx: Command-line tool and terminal JSON viewer 🔥

👍 推荐指数:⭐⭐⭐⭐

jq是一款轻量级,并且足够灵活的命令行JSON处理器,可以在命令行中优雅快速的处理JSON。

在遍地RESTful和JSON的时代,解析并处理JSON成为我们最常见的需求:

  • 比如我们需要通过Shell调用接口完成一些自动话的操作,接口的响应为JSON格式,这时我们就需要使用 jq 来解析JSON内容获取我们需要的信息。
  • 有或者我们需要处理大批量的数据,我们需要从这些数据中提取出有用信息,一种方式就是写个代码来解析,但是这不免杀鸡用牛刀;另一种就是我们可以直接使用jq来进行内容的提取与过滤。

fx是一款强大的终端JSON预览器,可以在终端中预览高亮折叠预览JSON。

如果JSON内容比较多的话,我们不用再使用less或者more这种分页工具来查看了,不仅低效,而且费眼。fx可以在终端中预览JSON,并提供高亮和折叠凳功能。

爱护双眼,从我做起。

tig:git的终端命令行工具

🔗 链接:https://github.com/jonas/tig

👍 推荐指数:⭐⭐⭐

git的终端命令行工具,提供了终端的git操作界面,相对于原始的git来说,tig提供了更加优化的git操作界面,对于git的新手小白来说很适用。比如浏览提交历史,分支合并情况等。

tip:tig命令倒过来写就是git :-)

文件浏览

ranger:文件浏览

🔗 链接:https://github.com/ranger/ranger

👍 推荐指数:⭐⭐⭐

ranger提供了和finder或者是windows资源管理器一样的文件操作体验,可以在终端中快速的浏览文件和文件夹,不用再频繁的ls和cd了。

ag:文件内容搜索

🔗 链接:https://github.com/ggreer/the_silver_searcher

👍 推荐指数:⭐⭐⭐⭐

比grep、ack更快的递归搜索文件内容。快速的递归搜索一个目录下的所有文件内容对于我们定位问题或者是获得一个目录的全貌来说极为有用,一般我们都使用grep命令来对一个目录下的所有进行递归搜索,但是如果目录下文件太多的话,grep效率未免太慢了。通过ag,我们可以快速高效的对目录进行递归搜索,更方便更高效。

系统运维

ncdu:高效磁盘分析工具

🔗 链接:NCurses Disk Usage

👍 推荐指数:⭐⭐⭐

可视化和高效率的分析磁盘实用情况,在获取各个目录占用情况时很有用

glances:系统大盘工具

🔗 链接:Glances - An Eye on your system

👍 推荐指数:⭐⭐⭐

有时候我们需要预览系统的各项指标,比如cpu占用,load情况,我们一般都是活用top或者是htop来,glances就是用来替代top和htop的,其提供了更为强大的操作和更加有用的数据。

mycli:MySQL客户端

🔗 链接:https://github.com/dbcli/mycli

👍 推荐指数:⭐⭐⭐⭐

mysql的命令行工具,加入了自动补全和语法高亮。

提升幸福指数

shell相对于GUI的操作来说,确实有诸多的不便,一不小心,就敲错命令了,不得不又从头再来,命令就算不敲错,那也记不住那么多的命令,那么下面就给大家推荐几个提升程序员幸福指数的终端工具,解放大脑,释放双手。

the fuck:释放双手,回归生活

🔗 链接:GitHub - nvbn/thefuck: Magnificent app which corrects your previous console command.

👍 推荐指数:⭐⭐⭐

在终端下是不是经常输错命令,搞得自己心烦意乱,The Fuck 是一款了不起的工具,帮你彻底解决这个问题,当你输错命令后,只要输入 fuck 命令,它会帮你自动纠正错。

tldr:释放大脑,回归双手

🔗 链接:https://github.com/tldr-pages/tldr

👍 推荐指数:⭐⭐⭐⭐

为了我们不必再去阅读晦涩的manpage,tldr(Too long, Don't read)提供了更加友好的用户帮助手册。

其他CLI工具:

  • 包管理软件,提供了快捷的安装软件的方式:
    ○ Linux:apt-get & yum & apk等
    ○ Windows:Chocolatey
    ○ MacOS: Homebrew
  • cloc:代码行数统计工具
  • ab:apache出品的一款功能强大的测试工具

Desktop

相对于终端工具来说,桌面工具种类就比较多了,这里我们就推荐几个比较经常用到提升效率的桌面工具,其中涵盖了开发,设计等等。

开发工具

Intellij IDEA:集成开发环境

🔗 链接:IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains

👍 推荐指数:⭐⭐⭐⭐⭐

先用Intellij IDEA来镇楼,最好用的跨平台的IDE, YYDS。使用Java的小伙伴们应该都不陌生吧。

Insomnia:Http客户端

🔗 链接:The API Design Platform and API Client - Insomnia

👍 推荐指数:⭐⭐⭐⭐

Insomnia 是一个跨平台的 REST API 客户端,基于 Electron 而构建。

相对于Postman来说,二者功能差不多,不过我更喜欢Insomnia,因为颜值更高,并且KeyMap支持vim。

Navicat Premium:数据库工具

🔗 链接:Navicat GUI | DB Admin Tool for MySQL, PostgreSQL, MongoDB, MariaDB, SQL Server, Oracle & SQLite client

👍 推荐指数:⭐⭐⭐⭐

支持MySql、PostgreSQL、Oracle、Sqlite和SQL Server的客户端,操作友好,功能强大,提供了很多强大的操作,比如倒入到处,表批量操作,备份等等。

Charles:Http抓包工具

🔗 链接:Charles Web Debugging Proxy • HTTP Monitor / HTTP Proxy / HTTPS & SSL Proxy / Reverse Proxy

👍 推荐指数:⭐⭐⭐

Charles是一款用于HTTP信息抓包工具,可以快速有效的获得HTTP信息,非常利于开发者的网页开发和调试修改等!Charles 有着可视化的操作界面,非常利于编辑者的使用和调试!作为一款Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。

Alibaba Cloud AI Coding Assistant (阿里云智能编码插件Cosy)

🔗 链接:阿里云智能编码插件 - 灵动指尖 快码加鞭

👍 推荐指数:⭐⭐⭐⭐⭐

Java开发过程中最好用的插件之一。代码智能补全和示例代码搜索功能带来了沉浸式开发体验,亲测大幅提升编码效率。

比较牛的是代码补全功能支持整行的补全结果,开发团队还做了纯本地化处理可以断网使用,不会泄露代码,安全感极高。

代码搜索功能可以通过API或者中英文描述搜索网上开源的示例代码,在代码行内即可一键搜索需要用到的API示例也非常实用。

设计工具

Draw.io:高颜值画图软件

🔗 链接:https://github.com/jgraph/drawio

👍 推荐指数:⭐⭐⭐⭐⭐

优秀的画图工具,各种架构图,流程图不在话下;并且其中的sketch模式,作者尤为偏爱。

Typora:高颜值文档写作工具

🔗 链接:https://github.com/typora

👍 推荐指数:⭐⭐⭐⭐⭐

强大的Markdown工具,支持Latex,流程图,时序图等拓展Markdown语法

提升幸福指数

桌面工具使用起来最大的问题就是窗口太多了,不方便管理,这里我们和Terminal一样,同样有桌面管理,启动管理等工具,同样还有其他能够提升效率的工具推荐。

Context:开启的窗口切换工具

🔗 链接:Contexts - Radically simpler & faster window switcher for Mac

👍 推荐指数:⭐⭐⭐⭐

快捷的在各种窗口间切换工具,在打开比较多的窗口的时候,可以快速的切换。

Alfred:快速启动工具

🔗 链接:Alfred - Productivity App for macOS

👍 推荐指数:⭐⭐⭐⭐⭐

Alfred 是一个用键盘通过热键、关键字、自定义插件来加快操作x效率的工具,它不但是搜索工具,还是快速启动工具,甚至能够操作许多系统功能,扩充性极强

Paste:粘贴板工具

🔗 链接:Paste - Clipboard manager for Mac, iPhone, and iPad

👍 推荐指数:⭐⭐⭐⭐⭐

粘贴板工具,能够保留一定时间内的粘贴板记录,并提供搜索等功能,一次可以复制多项内容,然后再一次粘贴多项内容,再也不用切来切去了。

OmniFocus:GTD工具

🔗 链接:Task Management Software BuiltFor Pros - OmniFocus - The Omni Group

👍 推荐指数:⭐⭐⭐

GTD实践类软件,有效提升效率

原文链接

本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511335.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文石服务器维护,文石BOOX OS 2.0新系统即将上线,联合京东读书推出BOOX书城

原标题:文石BOOX OS 2.0新系统即将上线,联合京东读书推出BOOX书城作为行业领先的电纸书品牌,文石多年来一直致力于完善BOOX电纸书的功能,优化系统,提高性能,简化操作,力图在开放性和傻瓜式之间寻…

Docker 那些事儿:如何安全地停止、删除容器?

作者 | 飞向星的客机来源 | CSDN博客🌟 前言本篇文章将会讲讲如何停止、删除容器和对容器进行资源限制。停止和删除容器🍑 停止容器在工作中,有时会需要将容器暂停,例如,要为容器文件系统做一个快照时。使用 docker pa…

独家专访阿里云存储负责人吴结生:我经历的三个重大决策

简介:云原生正在重新定义存储,而存储只是基础软件领域中的一环。本期 C 位面对面,我们有幸邀请到了阿里巴巴高级研究员,阿里云智能存储负责人吴结生(Jason Wu),他亲历了阿里云存储技术高速发展的…

梦想加:联合办公智能化之路

2018年梦想加携手阿里云,通过云服务器ECS进行弹性的资源调度,通过弹性伸缩从容应对突发性流量洪流,灵活启停应用环境降低资源成本。 创始人介绍 ​梦想加创始人兼CEO王晓鲁,1982年生于北京,连续创业者,200…

自己虚拟服务器都用json可以吗,vue+webpack项目中使用dev-server搭建虚拟服务器,请求json文件数据,实现前后台分离开发...

在项目开发中,前后台分离,做了假数据,项目使用vue2.0重构,后台也推到重来了,为了不耽误开发进程,我做了虚拟的数据请求,使用vue-cli脚手架搭建的项目文件中dev-server搭建虚拟api请求&#xff0…

如何检查 Linux 服务器的运行时间

作者 | 刘光录来源 | TIAPLinux 中的 uptime 用于查看系统启动后的运行时间。它是一个比较简单的 Linux 命令,可以不带参数直接运行:uptime这将显示一行输出,显示当前时间、正常运行时间(以天和小时为单位)、当前登录到…

宜创科技:低代码技术赋能企业数字化

数字科技的魅力就在于用技术赋能企业,助力企业成长,在阿里云创新中心平台上,也孵化出了一批低代码创业公司,宜创科技就是其中一家。 使命和愿景 宜创无代码的使命是,无代码技术赋能每一个企业数字化;愿景…

Apsara Stack 技术百科 | 边缘场景智能云化,让云无处不在

简介:在过去十年间,随着计算技术的发展和移动互联网的广泛普及,各行业对数据本地计算和智能分析的需求与日俱增,越来越多的应用场景被接入了终端设备,导致终端侧的数据陡然增长,中心节点的处理算力不堪重负…

大数据时代下,App数据隐私安全你真的了解么?

简介:你是否有过这样的经历:你和朋友聊天表达你近期想要购买某件商品,第二天当你打开某购物软件时,平台向你推送的商品正是你想要购买的;或者,你是否接到过陌生来电,他们准确的报出了你的名字和…

为什么数据流转是混合云的核心能力?

“数据”作为重要的企业“新资产”,如何在云时代下挖掘创新甚至创造利润,是企业数字化转型中需要思考和探索的问题。 数据流转能力让企业的数据在混合云中流动起来,为后续的创新提供了基础和保障。 作者 | 万博智云CTO 孙琦 自进入2010之后&a…

幻璃镜服务器维护中,【公告】丨幻璃镜6月1日维护更新说明

原标题:【公告】丨幻璃镜6月1日维护更新说明更新公告【幻璃镜】六一维护更新说明各位亲爱的小伙伴们有没有很期待六一的更新呢?小缃特别为大家整理了更新内容预告驭灵[芙谣]登场~因爱生恨的赤鱬族痴情少女你是否才是那个她真正应当追随侍奉的对象&#x…

慢sql治理经典案例分享

简介:菜鸟供应链金融慢sql治理已经有一段时间,自己负责的应用持续很长时间没有慢sql告警,现阶段在推进组内其他成员治理应用慢sql。这里把治理过程中的一些实践拿出来分享下。 作者 | 如期 来源 | 阿里技术公众号 菜鸟供应链金融慢sql治理已…

2022,你的团队距离持续部署还有多远?

简介:2022,你的团队距离持续部署还有多远?持续部署这个词我们经常听到,可是到底怎样才是做到了持续部署?如何才能做到持续部署?本文将为你逐层拆解持续部署的内涵和实施路径。 编者按:持续部署…

云原生时代,开发者应具备这5大能力

【CSDN 编者按】十年前,Netscape创始人、硅谷著名投资人马克安德森(Marc Andreessen)预言“软件正在吞噬世界”;数年后,软件里90%以上的代码都是开源代码,“开源正在吞噬软件”;如今&#xff0c…

庚顿数据:实时数据库赋能工业互联网

本期《看见新力量》采访了2021中国(湘潭)工业软件产业创新创业大赛全国总决赛季军——北京庚顿数据科技有限公司的总经理姚羽,一起来看看他们的实时数据库产品如何赋能工业互联网。 客户故事 自2007年8月成立以来,庚顿数据一直从事…

基因大数据:一面是科技,一面是责任

基因大数据,一面是科技,一面是责任。以基因科技为核心,为行业提供“存、传、算、用”全栈式解决方案,用数据智慧为精准医疗保驾护航。 客户故事 人和未来从创业初期到现在,阿里云一直伴随其成长,人和借助阿…

用数据库修改服务器的时间格式,如何查询数据库服务器的时间格式

如何查询数据库服务器的时间格式 内容精选换一换CDM支持文件类数据到表的迁移,本章节以OBS-->MySQL为例,介绍如何通过CDM将文件类数据迁移到表中。流程如下:创建CDM集群并绑定EIP创建MySQL连接创建OBS连接创建迁移作业已获取OBS的访问域名…

一条 shell 命令的阻塞与唤醒

作者 | 闪客来源 | CSDN博客新建一个非常简单的 info.txt 文件。name:flash age:28 language:java在命令行输入一条十分简单的命令。[rootlinux0.11] cat info.txt | wc -l 3这条命令的意思是读取刚刚的 info.txt 文件,输出它的行数。我们之前分析了一下 shell 进程…

21克:仅需3天,我们就用Quick BI搭建起数据驾驶舱

简介:数智化并不仅仅是大型企业才需要去思考的课题,而是摆在所有企业面前的一个可选项。借助Quick BI搭建的数据分析体系,21克实现了销售、财务、供应链等多部门业务的数据化支撑,从一份份本地化的Excel文件,到清晰美观…

新监管形势下的数据流通合规技术解最新探究 (连载一)

简介:新监管形式下,数据的合规合理应用和数据安全是大家密切关注和探讨的话题点,而DataTrust隐私增强计算平台,能在保障数据隐私及安全前提下完成多方数据联合分析、联合训练、联合预测,实现数据价值流通,本…