- RubyMine extensions and themes made by users -RubyMine 所使用的 color scheme 列表
- Dark Pastels color scheme
- Color Schemes for IntelliJ IDEA
Intellij IDEA color scheme 資源整理
最近常使用 Intellij IDEA IDE 來寫 Java 和 Scala 的程式,整理一些我覺得好看的配色主題如下︰
新的 Scala Eclipse Plugin 真好用
因為之前提到的 Scala NetBeans Plugin 執行的問題(可能後來好了,如果有朋友試成功了麻煩請告訴我),所以後來還是搭配 Eclipse 搭配 Scala 官方的 Eclipse Plugin 進行開發。
結果今天逛到 Screencast: Introduction to the Scala Developer Tools,才知道原來新的 SDT 已經在開發中了,詳情可以到 Scala Wiki 中 tools:eclipse 頁 看看。再跟著 screencast 中的 demo 試一下,覺得實在是非常好用啊!速度和各項功能都增加不少,非常推薦有興趣的朋友使用啊!
在這邊記錄一下有用的技巧︰
- alt + / : 程式碼提示
- ctrl + 滑鼠點按 class: 跳至該 class 的定義檔
NetBeans 6.1 下的 scala plugin 爛掉了……
最近更新的版本(20070325 nightly build),都無法正常使用,所以只好又跳回 Eclipse 下,搭配 scala 官方提供的 Eclipse plugin 來寫。
也沒辦法,NetBeans 6.1 跟它的 scala plugin 都還在開發中,只好再看看過幾天會不會修復囉!
Scala 為 Map collection 增加 "->" 語法糖衣 (syntactic sugar) 的作法
最近在閱讀 Programming in Scala 這本書,書中在第十九章時,提到當我們在建立 Map 時常使用的語法︰
Map(1->"one",2->"two",3->"three")
當中的 -> 並不是內建在 scala 語言本身,而是透過一些機制所建立的語法糖衣。於是好奇就去 trace 了一下 collection/mutable/Map.scala 檔,看看這個糖衣本身是怎麼被實作出來的。後來發現其實並不難,實作方式可以參考下列的 code:
object MyMap {
def apply() = new MyMap[String, String]();
}
class MyMap[A, B] {
def +=(key: A): MapTo = new MapTo(key);
class MapTo(key: A) {
def -> (value: B) {
println("key:\t" + key);
println("value:\t" + value);
}
}
}
使用方式︰
val myMap = MyMap(); myMap += "one" -> "1"