20121115 fukuoka sublime0_kuroneko
-
Upload
kohki-nakashima -
Category
Documents
-
view
1.041 -
download
2
Transcript of 20121115 fukuoka sublime0_kuroneko
1
Sublime Text 2 ビルドにうもん
2012/11/15福岡 Sublime Text 2 勉強会-第0回-
@kuronekomichael
2
sublはテキストエディタ
•エディタなんだけど、簡単な ビルド実行の仕組みも持っています
•デフォルトでF7キー or ツールバーの[Tools]-[Build]から実行可能
今日は、この「ビルドの使い方」のはなし。
Sublime Text 2.appをビルドするって話じゃあないです。OOSでもないしね
3
やってみよう!(C言語)
[Build]を実行すると、同ディレクトリに実行ファイルができるよ
4
やってみよう!(Python)
ちょっとしたスクリプトを書いて、そのまま即実行できちゃう♪
5
何が起きているの?
》 Packages配下に、*.sublime-buildというファイルがあって、拡張子ごとのビルド設定が書いてある
》 前述のC/C++だとg++で実行形式にビルドするよう書いてあるし、Pythonならインタプリタで実行するように書いてある
6
はじめから対応している言語
》C/C++
》D言語
》Erlang
》Haskel
》Ant
》JavaC
》Make
》Python
》Ruby
つーても、コンパイラやランタイムは自前で用意する必要があります。あくまでショートカット一発で、コマンドが実行できるだけなんで
7
例)Python.sublime-build
{
// “cmd”ターミナルで実行するコマンドを指定
"cmd": ["python", "-u", "$file"],
// “file_regex”:ビルド結果からエラー行を検出するための// 正規表現を指定(optional)
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
// “selector”: ビルド対象をautomaticで判断するための
// 識別子を指定する(optional) ※
"selector": "source.python"
}
※識別子(例:”source.python”)とは、拡張子別に決まった固定の文字列です。
知りたいファイルを開いてCmd+Opt+pを押すと、ステータスバーに一定時間表示されます
Macの場合) /Users/{ユーザ名}/Library/Application Support/Sublime Text 2/Packages/Python/Python.sublime-build
8
ビルド設定の自作
》 設定項目はドキュメントに詳しくかいてあります(英語)
http://docs.sublimetext.info/en/latest/file_processing/build_systems.html
・当然ビルド設定ファイルはJSONファイルなので、自作できます
・拡張子を.sublime-buildにして、Package以下に配置 (自作したものは、Package/User配下が良いです)
例) *.jsファイルはNodeで実行する(JavaScript.sublime-build)
9
でもさ
》 ファイル単体でのビルドはいいけど、一般的にはソースファイルが沢山あってビルドするでしょー
》 例えば、拡張子はおなじでも「単体のユーティリティスクリプトとしてのjsファイル」と、「Webアプリの一部としてのjsファイル」で実行したい内容は変わってくるでしょー
》 拡張子単位でビルド設定が決まるのはイケてない!
ので
10
プロジェクトのビルド設定
》ビルドは、プロジェクト単位でカスタマイズできます
》 必要に応じて、メニューバーの[Project]-[Save Project As...]等でプロジェクトを作成しておいてください
》 [Project]-[Edit Project]等で、プロジェクト設定ファイル(*.sublime-project)を編集して、ビルド設定をカスタマイズすることができます
》 プロジェクトファイルの書き方もドキュメントがありますhttp://www.sublimetext.com/docs/2/projects.html
11
例)sample.sublime-project{
// プロジェクトフォルダ"folders": [{
// プロジェクトに含めるディレクトリパス"path": ".",// 上記path内から除外するディレクトリパターン"folder_exclude_patterns": [],// 上記path内から除外するファイルパターン"file_exclude_patterns": ["*.sublime-workspace"]
}],// プロジェクト固有の設定"settings": {
"tab_size": 4,"translate_tabs_to_spaces": true
},// プロジェクト固有のビルドシステム(既存の設定を上書き)"build_systems":[
{"name": "JavaScript","cmd": ["/usr/local/share/npm/bin/mocha"],"working_dir": "$project_path","selector": "source.js"
}]
}
12
実際にみてみましょ
実行結果
テストコードプロダクトコード
プロジェクトのファイル一式
13
まとめ
》 Sublは軽量なテキストエディタですが、
– コンパイルやインタプリタの実行がかんたんにできます
– プロジェクトにまとめて管理することでIDEのような環境を実現することもできます
– ビルド設定をいじれば、自動テストの実行なども実現できます
》 Sublで快適なTDDライフをおくれるかもね!