Scala开发的第四种选择
前些日子Groovy之父对Scala的评价让这门语言声名鹊起,我也跃跃欲试,可一直苦于没有一款比较好的编辑器,起码能高亮我的scala关键字。
Scala官方推荐过Eclipse、Netbeans和Intellij Idea的插件,除了第三个我没有安装之外,其余的两个都安装了对应的插件试了试,结果可想而知,不然我也不会写这篇文章了。
曾经一位学长这么对我说:有一种说法,世界上有三种程序员,第一种用vi,第二种用emacs,其余的都归为第三种。
我不太喜欢vi的风格,一般只是用来在linux里修改一些文件,毕竟vi算是土著民了,几乎所有发行版都要自带(gvim另当别论)。而emacs一般还是需要另外安装的。
废话说的有点多。
Emacs在http://www.gnu.org/software/emacs/,你可以下载对应平台的版本。比较新的是23.1版,我windows里和linux里都是这个版本,图标我很喜欢。
http://www.scala-lang.org/node/354这里是scala官网对emacs插件的介绍。可以照着做。没有svn客户端的话直接点击链接下载也可以不过就是麻烦点,链接有点多。
先上图:
关键字高亮还不错,这就够了。
另外奉上我的emacs配置文件:
1 (require 'cc-mode)
2 ;;把c语言风格设置为k&r风格
3 (add-hook 'c-mode-hook
4 '(lambda ()
5 (c-set-style "k&r")))
6 ;;set c++ style as stroustrup style
7 (add-hook 'c++-mode-hook
8 '(lambda()
9 (c-set-style "strostrup")))
10 ;;显示行号
11 (require 'linum)
12 (global-linum-mode)
13
14 ;;自定义按键
15 (global-set-key [f1] 'shell);F1进入Shell
16
17 ;普通设置
18 (setq make-backup-files nil);不产生备份文件
19 (setq default-major-mode 'c-mode);一打开就起用 text 模式
20 (global-font-lock-mode t);语法高亮
21 (auto-image-file-mode t);打开图片显示功能
22 (tool-bar-mode nil);去掉那个大大的工具栏
23 (fset 'yes-or-no-p 'y-or-n-p);用y/n代替yes/no
24 (scroll-bar-mode nil);不用滚动条
25
26
27 ;;加入color-theme插件
28 (require 'color-theme)
29 (color-theme-initialize)
30 (color-theme-deep-blue)
31
32 (add-to-list 'load-path "d:/emacs-23.1/emacs_plugins/scala-mode")
33 (require 'yasnippet-bundle)
34 (require 'scala-mode-auto)
35 (add-hook 'scala-mode-hook
36 '(lambda ()
37 (yas/minor-mode-on)
38 ))
39 (setq yas/my-directory "d:/emacs-23.1/emacs_plugins/scala-mode/contrib/yasnippet/snippets")
40 (yas/load-directory yas/my-directory)
2 ;;把c语言风格设置为k&r风格
3 (add-hook 'c-mode-hook
4 '(lambda ()
5 (c-set-style "k&r")))
6 ;;set c++ style as stroustrup style
7 (add-hook 'c++-mode-hook
8 '(lambda()
9 (c-set-style "strostrup")))
10 ;;显示行号
11 (require 'linum)
12 (global-linum-mode)
13
14 ;;自定义按键
15 (global-set-key [f1] 'shell);F1进入Shell
16
17 ;普通设置
18 (setq make-backup-files nil);不产生备份文件
19 (setq default-major-mode 'c-mode);一打开就起用 text 模式
20 (global-font-lock-mode t);语法高亮
21 (auto-image-file-mode t);打开图片显示功能
22 (tool-bar-mode nil);去掉那个大大的工具栏
23 (fset 'yes-or-no-p 'y-or-n-p);用y/n代替yes/no
24 (scroll-bar-mode nil);不用滚动条
25
26
27 ;;加入color-theme插件
28 (require 'color-theme)
29 (color-theme-initialize)
30 (color-theme-deep-blue)
31
32 (add-to-list 'load-path "d:/emacs-23.1/emacs_plugins/scala-mode")
33 (require 'yasnippet-bundle)
34 (require 'scala-mode-auto)
35 (add-hook 'scala-mode-hook
36 '(lambda ()
37 (yas/minor-mode-on)
38 ))
39 (setq yas/my-directory "d:/emacs-23.1/emacs_plugins/scala-mode/contrib/yasnippet/snippets")
40 (yas/load-directory yas/my-directory)