http://pre-sence.com/archives/setting-up-windows-devenv#
配置豪华的 Windows 开发环境
列举一些好用,免费的的开发相关工具
发布于 2014.7.10
最后更新 2016.11.30
最近愈发发现程序员之间不知道聊什么的话,讲讲些常用的开发工具绝对是个好话题。所以这里我想整理一下我经常用的 Windows 下开发相关的免费工具。如果你中午吃饭的时候讲到没话说,不妨试试“那个啥 xxx 你用过没,还挺好用的”这样来防冷场吧。
ConEmu + clink
在 Windows 下做开发和 cmd.exe 打交道是是少不了的。如果你经常辗转于 Linux 和 Windows,那么 cmd 绝对会烂得让人想撞墙。然而好消息是这个悲剧的局面随着 ConEmu 的出现而彻底结束。装上这个后你就有了一个超级豪华加强版的 cmd.exe:
- 支持 ClearType 字体,真彩色主题的炫酷界面
- 窗口长度宽度可以随意拖拉,可以近乎无限的回滚历史
- 鼠标拖拉选择文字不再是拉出一个方框,而是像正常人想象的那样拉出几行来
- 好使的 Tab,好使的快捷键,好使的各种设置
ConEmu 自带了 clink,一个尝试再 cmd 上加入 bash 常见功能并且真的做到了的项目。这样除开上面的你又获得了这些功能:
- Tab 键补全当前目录下的文件和 Path 上的可执行程序
- Ctrl-V 粘贴到命令行,不用右键点窗口标题栏再点粘贴。
- Ctrl-R 补全历史命令
- 自动存数历史命令,下次开机也能找回之前的命令行历史
如果你经常用 Putty 的话,基本上 ConEmu 给人的感觉就是像用 Putty 来连上本地的 cmd。经过稍许配置,你就可以获得一个如下图一样的命令行:
如果你平日工作里常与 cmd 打交道,那不妨对自己好一点迅速装上这个试试。
gow
还是命令行相关的,如果你常怀念 Linux 下的 ls, cat, tail 这些东西又不想装上一个几个 G 的 cygwin 的话,gow 正是你在苦苦寻找的东西。它打包了一些常用的,并且在 Windows 下可以正常工作的 Linux 命令行工具。
值得一提的 gow 附带了一个单文件命令行版本的 vim,非常适合用来写 commit message 或者做些简单的编辑操作。
SourceTree
如果你工作用到 git 或者 hg 做版本控制的话,SourceTree 这个图形界面的 git/hg 客户端可以提高相关操作的效率。如果你是刚开始使用 git/hg,这个可以帮助你迅速上手;如果你对各种命令已经能用的随心所欲也可以试试用这个。
我现在经常用到 git,工作流程是大部分写操作都是在命令行里完成,而各种查看的操作,比如看分支情况,看 diff 看 log 都是直接切到
SourceTree 里面看,省了很多敲命令的时间。SourceTree
没有设计成隐藏底层的命令行调用,你在它里面的操作都是以命令行的形式完成的。同时你在命令行里操作后,切到 SourceTree 按一下 F5
刷新后就看的到。举个例子,我在命令行里运行 git merge
,提示有冲突。切到 SourceTree 可以看到冲突的文件,点开菜单可以选择用图形工具来 resolve,然后再切到命令行里做 git merge --continue
就行了,感觉非常顺畅。
额外的,图形化的界面使得很多文件路径相关的操作变得非常简单。你可以拖动文件来完成 stage/unstage/discard 文件的操作,而不用手动敲入一长串文件名。SourceTree 对于 git 还支持鼠标点击来 stage 某一小段代码,这个比起你命令行下看半天绝对要方便很多。
Windows 下支持 git/hg 的图形化客户端不多,我用下来感觉这个各方面目前应该算是比较好的。
TDM-GCC
如果你是做 C/C++ 相关的开发,或者有在 Windows 上编译 C/C++ 项目的经验的话,你应该听说过 MinGW。它的大概意思就是在 Windows 上提供一套于 Win32 兼容的 POSIX 环境,用来跑 GCC 编译器。TDM-GCC 就是一套基于 MinGW 跑在 Windows 32/64 上较新的 GCC,可以用来将 C/C++ 代码编译成原生的 Windows 程序。
相比于之前看到的其他各种版本,TDM-GCC 的特点一个是“新”。目前其附带的 GCC 版本是 4.8.1,已经跟上了 Debian Testing 上的版本,而且是一个支持 C++11 的版本;另一个特点就是“卧槽还真的能用”。MinGW 总体状态感觉其实不是太靠谱。很多其他的 Windows 上的 GCC 编些自己写的小程序没问题,编别的东西的时候就少这少那各种错让人无比头疼。而 TDM-GCC 感觉这方面做的很好,很少会有奇怪的错误。另外它支持编译 32/64 的程序,默认静态链接标准库,编译出来的东西拷出去给别人就能用不需要附带一堆 dll 感觉非常棒。
如果你想在 Windows 上试试 GCC 的话,TDM-GCC 应该是目前最好的选择。
everything
用过 OSX 的用户一定知道右上角的 Spotlight 非常好用。everything 基本上就是 Windows 上的 Spotlight。装上后它需要花十分钟左右索引一遍硬盘,然后你就可以全局按照文件名来查找任何文件,并且瞬间得到结果。对于新建的文件或者重命名操作,everything 里也会立即获得结果,叼的令人发指。
它还附带一个简单的命令行接口,你可以轻易的把它的功能加入你的自动化脚本里。
mongoose
如果你是做 Web 开发的话那么应该经常有需要临时搭一个 HTTP 服务器来 serve 一些静态文件。Linux 下你可以软链到你的 /var/www
什么的,在 Windows 上似乎没有什么简单原生的方法。看到现在 mongoose 应该是当下不错的一个选择。下下来以后打开,选择你要 serve 的目录再在浏览器打开应该就可以了,和主流 HTTP 服务器一样它会自动处理 MIME Type,用来在开发过程中放静态文件绝对是够用了。
再比方说你要给你的同事传一个文件,除了开 QQ 来传以外用这个也是一个不错的选择。
PicPick / LICECap
如果你常开着 QQ 的话那么截图方面的需求基本就已经满足了。如果你需要更高级的功能或者不太开 QQ,PicPick 是一个不错的选择。一方面它有很多常见的截图软件功能,比如截取当前活动窗口,自动滚动窗口截取长网站图片等等。另一方面它还带上了很多实用工具,比如全屏取色器,可浮动的像素标尺,还有一个功能挺够用的图像编辑器。
如果你想截 gif 图片的话,LICEcap 可能是目前唯一一个免费开源的选择。好消息是它效果还挺不错,用起来也很有意思:你要把它的窗口像快门一样对到你要录制的地方然后开始录,开始前还有几秒准备时间。
Pandoc
Pandoc 是一个"万能文档转换器",但我基本上是用它来把 Markdown 转换成 PDF,.docx
这些蛋疼的格式。比如你的工作需要你用 Word 写文档,有了这个你就可以写 Markdown 然后用 Pandoc 转成 .docx
然后再把你的模板样式刷上去就好啦。
值得一提的是 Pandoc 是用 Haskell 写的,说不定这也是唯一一个常见民用的 Haskell 编写的软件。
Clover
之前也尝试过学会用 Total Commander 甚至是 Far Manager,但始终都没学会。后来我觉得我应该只是需要资源管理器加个 Tab 就够用了。之前随便搜了下就发现了 Clover Explorer,给资源管理器加了个 Chrome 的 "Chrome",功能跟我想象的异常吻合。用了一段时间感觉很棒,而且还是国货精品,推荐装个试试看。
Zeal
如果我有机会写一篇 OSX 开发工具介绍的话,排第一的肯定是 Dash。它是一个离线查看各种编程文档的工具,功能界面都做的无可挑剔,用起来真的是会让人心情愉快。在 Windows 上目前类似的软就就是 Zeal,其基本上就是按照 Dash 做的,功能比较基础但也够用,比起切到浏览器开谷歌搜效率要总是要高一大截。Dash 很大气的把它的文档库放出来免费给 Zeal 用,所以可以下到的文档也很足。
DeskPins
有时候你就是希望把一个窗口像常见的视频播放器一样常驻在最顶上,那么 DeskPins 说不定是唯一靠谱的选择。装好了以后点一下右下角的图标,然后把那个 Pin 安到你需要置顶的窗口上,然后就 ok 了。
由于它官网提供的下载网址不太好下到,这里有一个 DeskPins v1.32 的镜像。
C:Bin 和 bat wrapper
收尾前介绍下我是怎么整理 Windows 上的命令行工具。我把大部分单个文件的命令行工具放在一个目录,比如 C:Bin
,然后把这个路径放在 Path
上,这样里面的东西就能在命令行里直接用了。但很多像 CMake,Gradle 这样的工具下下来自己就有一个目录结构,不太好直接丢在 C:Bin
里,这些一个个放在 Path
上又很麻烦。有一个方法就是建立一个 bat 文件来转接一下。比如我想要在命令行里调用 NAnt,我就在 C:Bin
下建立 nant.bat
里面写:
@echo off
C:Bin
ant-0.92inNAnt.exe %*
其中 %*
表示把所有的参数都转传给 NAnt.exe
。如果你有强迫症看不得硬编码的路径的话,可以写成这样用相对路径:
@echo off
%~dp0nant-0.92inNAnt.exe
%dp0
会被替换为该文件所在的目录。
最后
找些顺手的工具提高工作效率总是能让人感觉非常舒爽。希望这篇看完你也能找到些用的上的东西。