编程工具及插件

我工作中主要用到Java、Shell,以及后来由于工作需要不得不用的JavaScript,偶尔也会用到Python处理一些脚本性的东西。

在开发的时候,听说过Google style之后,都会将tab制表符换成两个空格,这个对我来说已成惯例。

  1. IDE– Intellij Idea
  2. 文本编辑器 – Vim、Atom
  3. Shell – iTerm2、zsh、mtux、Solarized Dark
  4. Git – git命令行、Github Desktop/SourceTree
  5. 编程字体 – SourceCodePro、mplus(m+)、Anonymous Pro

IDE – IntelliJ Idea

原先是用Eclipse JavaEE版本的,用的时候感觉加载不必要的插件太慢,后来听说Idea后改用了一下,确实挺不错的。
不管是在代码提示、处理性能方面,都比Eclipse要好一些。这是由于Idea后台会运行一些线程做一些工作,将顿卡的问题在后台处理掉,不过这个也有弊端,就是机器发热比较大。

Idea的上手成本可能有点高,他大部分快捷键是Mac风格,跟Eclipse还是有比较大的差异的,不过习惯之后确实非常好用。

Idea有社区版、收费的Ultimate版本,还有教育版本。

文本编辑器 – Vim(MacVim)、Atom

Vim

在接触Vim之后确实恋上了,这个不用多说,大家都知道。用Solarized Dark主题,没有装太多的插件,因为我一般主要是用来处理一些文本的东西,看看日志之类的。

Atom

github旗下的Atom确实很让人喜欢,之前比较喜欢Sublime Text,但在接触Atom之后,就对这个编辑器爱不释手。以Node为核心,完全的一个Web应用但能以App的形式运行,确实让人惊奇。

Atom让我喜欢的地方

  1. 界面
    我是一个喜欢游戏的人,在游戏的载入画面中如果有一些技巧、提示之类的东西,会让我对这个游戏有更好的认同感。
    Atom就是这样一个东西,当你把所有Tab页关掉之后,他有一人各种功能、快捷键的提示。
  2. 快捷键
    Atom快捷键跟我用的其他工具比较接近,用起来感觉顺手一些。这是个见仁见智的问题了吧。
  3. 代码提示
    这个功能确实很爽,在不需要装太多插件的前提下就能实现。
    在之前某处代码有命名一个变量的话,在后续编码过程中只要输入不超过3个字母就能提示这个变量,这确实很吸引我种不喜欢一个字一个字码代码的人。

我的Atom插件

  1. VIM-Mode
    像vim一样实现键盘控制,不过目前这个插件还不支持命令模式,经常输入:w发现没有效果。
  2. markdown-preview-plus
    用来写blog, ctrl+shift+m打开,挺好用的,即时查看。
    缺点就是不能移出去,对于我13寸的屏幕来说确实有点拥挤。

Shell

终端 - iTerm2

嗯,这个有什么好的,目前我也还没有体会到,只是当初在网上找的时候发现很多人都说这个错,配合mtux+zsh是神器之类的,所以就开始用了。目前发现确实还是挺好用的,比默认的Terminal之类的要方便一些,毕竟有一些快捷键和功能确实挺不错。

Shell - zsh

以前接触Linx的时候只知道bash,后来找终端的时候看到有人介绍说zsh是很多程序员用必备的一个东西。
等到真正下下来安装完用了一段时间之后,确实感觉离不开了。

  1. 现成的主题,在github上有很多。只要将主题放到 ~/.oh-my-zsh/themes下之后,在 ~/.zshrc中配置一下就可以。不仅有对于git分支的显示,还有靓丽的色彩。
    我的主题配置如下:
    1
    $ ZSH_THEME="robbyrussell"
  1. 对于git的集成。只要进入到git工程目录下,就会有对于git的各种命令行上的提示,比如这种:
    1
    ➜  /Users/wangtingbang/prog/git-work/wangtingbang.github.io git:(master) ✗
  1. tab 党的福音
    像对于各种目录,命令之类,不再需要从第一个字母开始输入,通过输入的几个字符,zsh就能自动匹配到目录、命令,如果有多个目录,多次按tab选定之后回车就行,甚至只要输入一个目录,回车一下就可以进入。

mtux

目前没有感觉到哪有什么好处,对于这个我用得不太多。(感觉自己有点low)

Solarized Dark主题

对于经常熬夜干活的人来说,这个暗色的主题还是挺不错的。

代码管理 – git

用命令行的git基本就已经够用,但是命令行的git在版本对比功能(diff)上个人不太习惯,很多时候要借助于Github Desktop或者SourceTree

自己常用的代码管理过程中的git命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#用于clone远程代码库
git clone $URL

##-----更新代码Start----
#在很多文章甚于于git的各种代码的README中都能看到更新代码用git pull
#但pull的方式个人不习惯于用
#原因是刚开始用的时候这个命令把我自己本地的修改给覆盖了
#将远程代码取到本地,但不会更新到本地代码中
git fetch

#-----将自己代码暂存----
git stash

#rebase,将fetch下来的代码更新到本地,实际上是变了本地代码的头指针
git rebase origin/$BRANCH

#将本地暂存的代码取出来,可能出来以后会发现有很多冲突(confilits)
git stash pop


##----代码维护----
#简单地查看变更记录
git log

#对比本地文件FILE与代码库中的变更,一般用于自己修改过这个文件之类
git diff -- $FILE

#代码冲突解决,或者自己误添加文件到提交中的后,这个用于解决冲突和恢复
git reset HEAD $FILE


##----代码提交----
#添加一个文件到提交中,也可以直接用git add . 这种比较暴力的方式把所有文件添加
git add $FILE

# 提交代码,这个提交只会保留在本地的git库中
git commit -m "message"

#推送代码到远程服务器的BRANCH分支
git push origin HEAD:refs/heads/$BRANCH

#也可以用这种方式推送代码
git push origin $BRANCH #也可以用这种方式推送代码

#当远程分支开启的code review之后以这种方式提交
git push origin HEAD:refs/for/$BRANCH

编程字体

SourceCodePro

在IDE、iTerm2、vim还是Atom中都有很不错的表现。

mplus(m+)

我主要在iTerm2中用,一行中能够显示比较多的字,这个字体的c、p、2c、2p等好多种,从细到粗都有,并且每一种的样式都有比较大的区别。适合在终端中使用,看日志、对比文件之类的时候非常好用。

Anonymous Pro

以前在Eclipse中用,字体整体比较细,略有尖锐的感觉,看上去比较显眼。

=============== 以下无正文 ==============