Tutorialをやっててハマったこと - 01_環境構築編


 Qiitaに初投稿。会社都合で退職になったので、一度挫折したRuby on Rails Tutorialを今後の就活のためにやってみることにした。その時に躓いたりハマって苦しんだりしたことをメモとして残しておく。

エンジニア歴

 プログラミングは少しだけ触った程度でSEになりたくて就活。普段はWindows使いなのでMacOSは殆ど触ったことなし(コマンドは全然知らない)。Web系の会社に就職した後、Ruby on RailsやSinatra使って社内ツールを作ってた。1年2ヶ月で退職。

Sublime編

インデントでかい。Rubyのコーディング規約にインデントを合わせたい。

 Q: 他言語をいじることもあるから、Railsで触るファイルだけ設定したいのだが、どうすれば?
 A: 今回は個別の設定ファイルを作成する。

新規作成で新しいファイルを開いた後に右下のPlain textをクリックしてRubyを選択、もしくは何かしらのrbファイルを開く。次にSublime TextPreferences基本設定 - 拡張シンタックス指定 - ユーザを選択。新たに開かれたファイルに以下を追記する。

Ruby.sublime-settings
{
  "tab_size": 2,
  "translate_tabs_to_spaces": true 
}

同様に、Ruby Slim, JavaScript, SCSSのsublime-settingファイルにも書き込んでおく。今はこれだけだが、後で書き足すかもしれない。

【参考URL】

不可視なスペースやタブを可視化したい

 Q: タブと半角スペースの区別がつかなくて不便である。どうすれば?
 A: タブ・スペースの可視化がおすすめ。

Sublime TextPreferences基本設定 - ユーザを選択。以下を追記する。

Preferences.sublime-settings
"draw_white_space": "all"
【参考URL】

日本語検索がうまく出来ない

 Q: 日本語を検索しようとすると、検索ワードが消えてしまう。どうすれば?
 A: 正直言って不満が残る対処法だが、"Enter次を検索"の機能を停止するしかなさそう。

まず、Default(OSX).sublime-keymapを編集できるようにしておく(下記URL参照)。
Sublime TextPreferencesキーバインド - 標準を選択。次にFind panel key bindingsという文字列を検索。以下のコードをコメントアウトすると、Enterが改行として入力されるようになる。

// { "keys": ["enter"], "command": "find_next", "context":
//  [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}]
// }

Enterで次を検索ができなくなるため、以下のコードを追加して、command + n次を検索command + p前を検索を追加した。

{ "keys": ["super+n"], "command": "find_next", "context":
    [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}]
},
{ "keys": ["super+p"], "command": "find_prev", "context":
    [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}]
},
【参考URL】

インデントに色を付けたい

 Q: インデント幅が狭いと、階層構造がわかりにくい。どうすれば?
 A: インデント毎に線を引くことにする。

Sublime TextPreferences基本設定 - ユーザを選択。以下を追記する。

"draw_indent_guides": true,
"indent_guide_options": ["draw_normal", "draw_active"],

更に[カラーテーマ名].tmThemeに、以下を追記。自分はMonokaiを使っているので、そこに追記した。

Monokai(SL).tmTheme
<dict>
    <key>name</key>
    <string>Monokai</string>
    <key>settings</key>
    <array>
        <dict>
            <key>settings</key>
            <dict>
                <key>background</key>
                <string>#272822</string>

                ...

+               <!-- インデント設定 -->
+               <!-- 親インデント -->
+               <key>stackGuide</key>
+               <string>#00ff00</string>
+               <!-- 現在のインデント -->
+               <key>activeGuide</key>
+               <string>#ff0000</string>
+               <!-- 基本インデント -->
+               <key>guide</key>
+               <string>#ffffff</string>
            </dict>
        </dict>
    </array>
</dict>

ちなみに.tmThemeの場所がわからない場合は、以下のコマンドをターミナルで走らせるとディレクトリをリストアップしてくれる。

$ mdfind -name .tmTheme
【参考URL】

ターミナル編

gitコマンドの補完が使えない

 Q: gitのブランチ名を補完して欲しい。どうすれば?
 A: Git-Completionを導入すべし。

gitをどうやって導入したのかで対応が変わるらしいため、詳しくは下記URLを参照。

【参考URL】

とりあえず

 こんな感じ。本当はsublimeに導入したパッケージもまとめたいけど、もう昔のことで忘れてしまった。次回はRails Tutorialでの躓きポイントをまとめたい。