sublimetextでcを書く(情報科学基礎実験を乗り越えるために)
この記事はIS17er Advent Calendar 2016 - Adventarの8日目の記事として書かれました。
情報科学基礎実験もとうとうアセンブリに突入しニーズが低いとは思いますが、きっと誰かの役に立つと信じてsublimetextでc言語の開発環境?を整えた話を書きます。(僕自身はそろそろvimに乗り換えるつもりなのですが...笑)
Sublimetextとは?
"恋に落ちるエディタ"というキャッチフレーズとともに近年人気のエディタらしい (AtomとかBracketsとか競合に押されている感じもあるが...)
授業ではEmacsが推奨されているがsublimetextの方が気楽に使えると思う。
sublimetextの良さや導入方法については時間がないので下記サイトに丸投げ。
オススメのパッケージ
僕がsublimetextでCやアセンブリを書く際に使っていパッケージを紹介します。
- ConvertToUTF8
- BracketHighliter
- TrailingSpaces
- C Improved
- Clang-Complete
- x86 and x86_64 Assembly
ConvertToUTF8
様々な文字コードをUTF8に変換して使うためのパッケージ ありがたみを感じることはないけど多分ないと文字化けなどで困る
BracketHighliter
カーソルの外側の括弧がわかりやすいようにハイライトをつけるパッケージ
↑行番号の隣と{}の下にハイライトが付いている
TrailingSpace
行末の空白をハイライトしてくれるパッケージ
C Improved
カラースキームが少し良くなる
C Improved - Packages - Package Control
Clang-Complete
⌘
+s
でセーブすると文法ミスを指摘してくれる他、
Cの各種関数の自動補完とかもしてくれる。
コンパイルせずにエラーがわかるし、エラー箇所を直接ハイライトしてくれるから結構助けられてる。
x86 and x86_64 Assembly
アセンブリをハイライトしてくれる
x86 and x86_64 Assembly - Packages - Package Control
C言語用ビルドシステム
sublimetextでは⌘
+b
でソースコードをsublimetextのコンソール上でコンパイル及び実行してくれる...
はずが、デフォルトではC言語用の設定がなかったので自分で書いた。
上のようにTools>Build System> New Build Systemで新しい設定ファイルを作成。
今回はC言語用なので C.sublime-buildという名前で保存
{ "selector":"sourse.c", "cmd":["gcc","-Wall","$file","-o","${file/c/out/}"], "variants":[ { "name":"実行", "cmd":"${file/c/out/}" }, { "name":"debag", "cmd":["gcc","-Wall","-g","$file","-o","${file/c/out/}"] }, { "name":"アセンブリ出力", "cmd":["gcc","-Wall","-S","$file","-o","${file/c/s/}"] }, { "name":"コンパイルのみ", "cmd":["gcc","-Wall","-c","$file","-o","${file/c/o/}"] } ] }
以上のように(JSON形式で)設定を書くと⌘
+b
でソースコードをコンパイルしてくれる
(例えばhello.cを書いている時は$ gcc -Wall hello.c -o hello.out
を実行してくれる)
実行したりアセンブリを出力したかったりする時は⌘
+shift
+b
から他のコマンドを選択して実行できるようにした。
それぞれの設定の意味は察してください笑
(詳しい説明は下記のサイトとかを見るといいかもしれない)
Build Systems — Sublime Text Unofficial Documentation
なんだかグダグダになってしまったのでそのうち真面目に書き直すつもりですが、解決方法、アドバイス等あれば教えていただけるとありがたいです。
最後まで読んでくれた方々ありがとうございました!!