ハイパーニートプログラマーへの道

頑張ったり頑張らなかったり

Sublime text2でのRubyを扱う前にしておきたい、SublimeCodeIntelの導入

SublimeCodeIntelの設定(もう導入済みでしたが)

まず、こちらを参考にしました。

SublimeText3でRubyをコーディングする際の最低限のインストール&設定(Windows) - For myself tomorrow

Windowsのようで、ちょっと違うコードになるのかな?

SublimeCodeIntel/SublimeCodeIntel · GitHub

こちらのREADMEを見ると

"Ruby": {
        "ruby": "/usr/bin/ruby",
        "rubyExtraPaths": []
    },

となっています。さてどうするかと。

rubygems - Getting auto-complete to work with Ruby Gems in Sublime Text 2, with SublimeCodeIntel and RVM - Stack Overflow

こちらではバグのせいで通らないってあるけど、まあ古い記事だしなあ。
rvmでRubyをインストールしたようで、

"Ruby": {
        "ruby": "~/.rvm/rubies/default",
        "rubyExtraPaths": ["~/.rvm/gems/ruby-2.1.1"]
        }

こんな感じで設定してるようです。それでいくかなあ。

一応いろいろ確認

$ echo $PATH
/Users/noriyo_tcp/.rvm/gems/ruby-2.1.1/bin:/Users/noriyo_tcp/.rvm/gems/ruby-2.1.1@global/bin:/Users/noriyo_tcp/.rvm/rubies/ruby-2.1.1/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/eclipse/sdk/platform-tools:/Applications/eclipse/sdk/tools:/Users/noriyo_tcp/.rvm/bin:/Users/noriyo_tcp/.rvm/bin

ExtraPathsはなんかこれっぽいので(?)

/Users/noriyo_tcp/.rvm/gems/ruby-2.1.1

こうじゃ。

~/.rvm/gems/ruby-2.1.1

あとは

$ ls ~/.rvm/rubies
default     ruby-2.1.1

2つあるんだけど、デフォもruby-2.1.1だしなあ(そうだったはず、いやそうだ)

$ ruby -v
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin12.0]

デフォを採用しようか?

~/.rvm/rubies/default

こうしてみる。

やっと設定

設定する場所はPreferences>Package Settings>SublimeCodeIntel>Settings - Userです。

Settings - Defaultを全コピペしてきて、

   "codeintel_config": {
        "Python": {
            "env": {
                /*
                "PATH": "/usr/local/bin:/usr/local/sbin:$PATH",
                "PYTHONPATH": "/usr/local/lib/python2.7/site-packages:/usr/local/lib/python:$PYTHONPATH"
                */
            }
        },
        "JavaScript": {
            "javascriptExtraPaths": [],
            "codeintel_scan_files_in_project": false,
            "codeintel_max_recursive_dir_depth": 2
        },
        "PHP": {
            "phpExtraPaths": [],
            "codeintel_scan_files_in_project": false,
            "codeintel_max_recursive_dir_depth": 5
        },
        "Ruby": {
            "ruby": "~/.rvm/rubies/default",
            "rubyExtraPaths": ["~/.rvm/gems/ruby-2.1.1"]
        }
    }

"codeintel_config"ブロック内に追加します。そして再起動。

自動補完の設定

Preferences>Package Settings>SublimeCodeIntel>Key Bindings - User

{ "keys": ["alt+space"], "command": "auto_complete" },
    { "keys": ["alt+space"], "command": "
    (以下略)
}

以前導入したときに自動補完をalt+spaceにしてたんだった。
デフォルトではどうだったか忘れましたが・・・。

これで自動補完はいいのかな? 要チェック。

タブサイズとスペースの設定

SublimeCodeIntelとは関係ないですが

Preferences>Browse Packages...>Ruby

に、Ruby.sublime-settingsというファイルを作成

{
    "tab_size": 2,
    "translate_tabs_to_spaces": true
}

これでタブがスペース2個になります。


文末の空白をトリムする。

Preferences>Setting - Defaultの該当箇所をコピペ(もしくは直接記述)

Preferences>Setting - User

// Set to true to removing trailing white space on save
    "trim_trailing_white_space_on_save": true

これは

Sublime Text 2ってエディタがすごくイイ。Dreamweaverから乗り換えた時の初期設定とか使い方とかをメモ | Mnemoniqs Web Designer Blog

上の記事を参考にしましたが、表現はちょっと違ってて、正しくは「保存する際に文末の空白をトリムする」ということでは。

スペースを可視化したい、というのであれば

// Set to "none" to turn off drawing white space, "selection" to draw only the
    // white space within the selection, and "all" to draw all white space
    "draw_white_space": "all",

参考記事:

[み]Sublime Text2で、スペースとかタブを見えるようにする方法

保存する際にトリムされるが、全角の空白には対応してくれないようです。

全角空白をハイライトするプラグインがあるようですが、また今度。