美文网首页程序人生工具& 方法工具癖
配置豪华的 Windows 开发环境

配置豪华的 Windows 开发环境

作者: jagttt | 来源:发表于2014-07-10 22:57 被阅读20189次

    列举一些好用,免费的的开发相关工具

    最近愈发发现程序员之间不知道聊什么的话,讲讲些常用的开发工具绝对是个好话题。所以这里我想整理一下我经常用的 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。经过稍许配置,你就可以获得一个如下图一样的命令行:

    ConEmu 界面ConEmu 界面

    如果你平日工作里常与 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 编写的软件。

    C:\Bin 和 bat wrapper

    收尾前介绍下我是怎么整理 Windows 上的命令行工具。我把大部分单个文件的命令行工具放在一个目录,比如 C:\Bin,然后把这个路径放在 Path 上,这样里面的东西就能在命令行里直接用了。但很多像 CMake,Gradle 这样的工具下下来自己就有一个目录结构,不太好直接丢在 C:\Bin 里,这些一个个放在 Path 上又很麻烦。有一个方法就是建立一个 bat 文件来转接一下。比如我想要在命令行里调用 NAnt,我就在 C:\Bin 下建立 nant.bat 里面写:

    @echo off
    C:\Bin\nant-0.92\bin\NAnt.exe %*
    

    其中 %* 表示把所有的参数都转传给 NAnt.exe。如果你有强迫症看不得硬编码的路径的话,可以写成这样用相对路径:

    @echo off
    %~dp0nant-0.92\bin\NAnt.exe
    

    %dp0 会被替换为该文件所在的目录。

    最后

    找些顺手的工具提高工作效率总是能让人感觉非常舒爽。希望这篇看完你也能找到些用的上的东西。

    相关文章

      网友评论

      • adeb5b523d9a:everything的那个es.exe是怎么用的能扫盲吗
        adeb5b523d9a:@jagttt 谢谢
        jagttt:@yasushi 在开启着 everything 的情况下运行 `es -h` 可以看到命令格式
      • 秦寿:其实,everyting本身就有http server,静态页面应该不用再多弄一个了
      • 36f2b73b2a03:listary 应该比everything更好用,更接近spotlight or alfred
      • 508c7ded538d:everything+Total Commander
        这两个是真正的神器
      • 老郭:其实lz是想说,大家都应该装mac osx,上面的问题全部都搞定了:)

        推荐一个静态文件服务器:如果装了nodejs的话,只需要:
        安装:npm install http-server -g
        运行:在你想作为web root的目录下面运行:http-server
      • 流水理鱼:busybox 和 gow 什么区别`````` busybox 瑞士军刀啊.也有win版`
      • 流水理鱼:非常给力~~ 哈哈哈.

        everything 和 PicPick 一直在用. 强烈推荐大家`
      • hslx111:还是买个mac吧。。。
      • jagttt:@feicao 感谢指正 cmder很叼感觉没装的话可以直接装那个 python 自带的那个server似乎大文件很容易出问题,我后来都转用mongoose了
      • 43647e2c229f:everything 的连接错了吧
      • jProvim:給windows下的用戶推薦一下CMDER, https://github.com/bliker/cmder
      • district10:@挂瓜 PowerShell 怎么了?
      • district10:@公爵海恩庭斯 Shell 是什么意思?
      • 挂瓜:@jagttt 我推荐是,结合Total Commander。这才是最大的利器。
      • 挂瓜:@jagttt 不过我一直都用CMD.exe,试试看你说得。ConEmu
        @从容地狂奔 python的SimpleHTTPServer.py,是个很好的东西。我一直都在用这个。
        @Gnat PowerShell?嗯,它可以去死了。
      • 公爵海恩庭斯:@Gnat 有些人一辈子不懂什么叫做shell
      • district10:Windows 下不是有 PowerShell 吗,干嘛还用 cmd。。。。。
      • iClaud:ConEmu 这个赞 ,找了很久...
      • 从容地狂奔:临时搭一个 HTTP 服务器来Server一些静态文件的话,如果你机器上安装有Python,可以试试用这一行代码做个批处理 『python -m SimpleHTTPServer』
      • asH56q:很不错的文章,感谢作者的分享。ConEmu这个简直有如获至宝的感觉。另外,Listary和everything功能有些类似,可以试试,挺好用。

      本文标题:配置豪华的 Windows 开发环境

      本文链接:https://www.haomeiwen.com/subject/mzzjtttx.html