Windows向けの解説です
インストールとセッティング
- SublimeText3をインストールする(https://www.sublimetext.com/3)
- https://packagecontrol.io/installation#st3 の「Package Control.sublime-package」をクリックして、PackageControlをダウンロード。
- 2をC:\Users\ユーザー名\AppData\Roaming\Sublime Text 3\Installed Packagesディレクトリに配置する
- SublimeTextを再起動する
- SublimeTextのコマンドパレット(Ctrl + Shift + P)の、「Package Control: …」からPackageをインストール・無効化・リスト表示などができます。
Preferences -> Settings - User
Sublime本体の設定をする
{
// テーマ
"theme": "Soda Light 3.sublime-theme",
"soda_classic_tabs": true,
"soda_folder_icons": true,
// カラースキーム
"color_scheme": "Packages/User/SublimeLinter/Monokai Extended (SL).tmTheme",
// フォントや見た目
"font_face": "Consolas",
"font_size": 13,
"line_padding_top": 5,
"word_wrap": true,
"highlight_line": true,
// インデントとスペース
"tab_size": 4,
"translate_tabs_to_spaces": true,
"draw_white_space": "all",
"trim_trailing_white_space_on_save": true, // 保存時に行末の半角スペースを削除
"indent_to_bracket": true,
// 文字コード
"default_encoding": "UTF-8",
"fallback_encoding": "UTF-8",
"show_encoding": true,
// 改行コード
"default_line_ending": "system",
"show_line_endings": true,
// 無視するパッケージ
"ignored_packages":
[
"Vintage"
]
}
▼チームで開発する場合に、統一するべき設定
- tab_size
- translate_tabs_to_spaces
- trim_trailing_white_space_on_save
- default_encoding
- default_line_ending
Preferences -> Settings - Syntax Specific
言語(シンタックス)ごとの設定を行う
HTML.sublime-settings
{
// htmlファイルはタブをスペースに変換しない
"translate_tabs_to_spaces": false
}
Preferences -> Key Bindings - User
Sublimeのキーボードショートカットの設定
[
// 基本操作
{ "keys": ["ctrl+pagedown"], "command": "next_view_in_stack" },
{ "keys": ["ctrl+pageup"], "command": "prev_view_in_stack" },
{ "keys": ["ctrl+tab"], "command": "next_view" },
{ "keys": ["ctrl+shift+tab"], "command": "prev_view" },
{ "keys": ["ctrl+up"], "command": "select_lines", "args": {"forward": false} },
{ "keys": ["ctrl+down"], "command": "select_lines", "args": {"forward": true} },
{ "keys": ["ctrl+shift+a"], "command": "expand_selection", "args": {"to": "tag"} },
// Package: Browser Refresh
{ "keys": ["f5"], "command": "browser_refresh", "args": {
"auto_save": true,
"delay": 0.0,
"activate": true,
"browsers" : ["chrome"] }},
// Package: ColorPicker
{ "keys": ["ctrl+shift+c"], "command": "color_picker" },
// Package: Evernote
{ "keys": ["ctrl+alt+e"], "command": "show_overlay", "args": {"overlay": "command_palette", "text": "Evernote: "} },
// Package: IncrementSelection
{ "keys": ["ctrl+alt+i"], "command": "increment_selection" },
// Package: Markdown Preview
{ "keys": ["alt+m"], "command": "markdown_preview", "args": {"target": "browser"} },
// Package: SFTP
{ "keys": ["ctrl+alt+u","ctrl+alt+y"], "command": "unbound" },
{ "keys": ["ctrl+alt+u","ctrl+alt+n"], "command": "unbound" },
{ "keys": ["ctrl+alt+u","ctrl+alt+o"], "command": "unbound" },
{ "keys": ["ctrl+alt+u","ctrl+alt+e"], "command": "unbound" },
{ "keys": ["ctrl+alt+u","ctrl+alt+d"], "command": "unbound" },
{ "keys": ["ctrl+alt+u","ctrl+alt+b"], "command": "unbound" },
{ "keys": ["ctrl+alt+u","ctrl+alt+c"], "command": "unbound" },
{ "keys": ["ctrl+alt+r","ctrl+alt+s"], "command": "unbound" },
{ "keys": ["ctrl+alt+r","ctrl+alt+b"], "command": "unbound" },
{ "keys": ["ctrl+alt+r","ctrl+alt+n"], "command": "unbound" },
{ "keys": ["ctrl+alt+r","ctrl+alt+e"], "command": "unbound" },
{ "keys": ["ctrl+alt+r","ctrl+alt+d"], "command": "unbound" },
// Package: SublimeCodeIntel
{ "keys": ["ctrl+alt+space"], "command": "code_intel_auto_complete" },
// Package: TortoiseSVN
{ "keys": ["alt+u"], "command": "unbound" },
{ "keys": ["alt+c"], "command": "unbound" },
{ "keys": ["alt+r"], "command": "unbound" },
{ "keys": ["alt+l"], "command": "unbound" },
{ "keys": ["alt+d"], "command": "unbound" },
{ "keys": ["ctrl+alt+s","ctrl+alt+u"], "command": "svn_update" },
{ "keys": ["ctrl+alt+s","ctrl+alt+c"], "command": "svn_commit" },
{ "keys": ["ctrl+alt+s","ctrl+alt+r"], "command": "svn_revert" },
{ "keys": ["ctrl+alt+s","ctrl+alt+l"], "command": "svn_log" },
{ "keys": ["ctrl+alt+s","ctrl+alt+d"], "command": "svn_diff" },
// Package: View In Browser
{ "keys": ["ctrl+alt+v"], "command": "view_in_browser" },
{ "keys": ["ctrl+alt+v","ctrl+alt+f"], "command": "view_in_browser", "args": { "browser": "firefox" } },
{ "keys": ["ctrl+alt+v","ctrl+alt+c"], "command": "view_in_browser", "args": { "browser": "chrome" } },
{ "keys": ["ctrl+alt+v","ctrl+alt+i"], "command": "view_in_browser", "args": { "browser": "iexplore" } },
{ "keys": ["ctrl+alt+v","ctrl+alt+s"], "command": "view_in_browser", "args": { "browser": "safari" } }
]
キーボードショートカット
コマンド | 機能 |
---|---|
[ユーザ設定]Ctrl+ Tab | 次のタブ表示 |
[ユーザ設定]Ctrl + Shift + Tab | 前のタブ表示 |
[ユーザ設定]Ctrl + pagedown | next_view_in_stack |
[ユーザ設定]Ctrl + pageup | prev_view_in_stack |
Ctrl + Shift+ P | コマンドパレット |
Ctrl + @ | コンソール |
Ctrl + P | ファイル検索 |
Ctrl + F | ファイル内で文字列検索 |
Ctrl + Shift + F | 複数ファイル間で文字列検索 |
Ctrl + H | 文字列置換 |
Ctrl + K, Ctrl + B | サイドバーをトグル |
Alt + Shift + 1~4 | ウィンドウ分割 |
Ctrl + P | Goto Anything |
Ctrl + G | Goto Line |
Ctrl + R | Goto Symbol(メソッド等にジャンプ) |
Ctrl + Shift + R | Goto Symbol in Project |
F12 | Goto Definition |
Ctrl + Shift + M | カッコ単位で選択する |
Ctrl + Shift + J | インデント単位で選択する |
Ctrl + Shift + A | タグ単位で選択する |
Ctrl押しながらクリック | マルチカーソル |
[ユーザ設定]Ctrl + ↑↓ | マルチカーソル |
Shift + 右ドラッグ | 矩形選択 |
範囲選択してCtrl + Shift + L | split into lines |
Ctrl + D | 選択範囲を拡張する |
Ctrl + Enter | 次の行に挿入 |
Ctrl + Shift + Enter | 前の行に挿入 |
Ctrl + K, Ctrl + V | 履歴からペースト |
Ctrl + ] | →にインデント |
Ctrl + [ | ←にインデント |
Alt + . | 閉じタグ挿入 |
Ctrl + Shift + K | 行を削除 |
Ctrl + Shift + D | 行を複製 |
Ctrl + J | 行の結合 |
Ctrl + Shift + ↑↓ | 行の入れ替え |
Ctrl + ? | コメントアウト |
Ctrl + Space | コードヒントを表示(オートコンプリート) |
Tab | スニペットの操作 |
Ctrl + Shift + [ | タグをたたむ |
Ctrl + Shift + ] | タグを展開 |
Ctrl + Alt + ] | Package: Abacusで整列 |
[ユーザ設定]F5 | Package: Browser Refreshで更新 |
/** と入力してEnter | Package: DocBlockrでDocコメント入力 |
Ctrl + E | Package: Emmet 変換 |
Ctrl + Shift + G | Package: Emmet html入力サポート |
Win + Shift + H | Package: GotoDocumentation |
Tab | Package: Hayakuで変換 |
Alt + ↑↓ | Package: Inc-Dec-Value |
Ctrl + Win + ↑↓ | Package: Inc-Dec-Value |
Ctrl + Alt + I | Package: Increment Selection |
Ctrl + Alt + U, Ctrl + Alt + F | Package: SFTP File Upload |
Ctrl + K, Ctrl + F | Package: SQL Beautifier |
Alt + 左クリック | Package: SublimeCodeIntel Jump to definition |
[ユーザ設定]Ctrl + Alt + Space | Package: SublimeCodeIntel オートコンプリート |
Ctrl + Windows+Alt + ↑ | Package: SublimeCodeIntel Jump to definition |
Ctrl + Windows+Alt + ← | Package: SublimeCodeIntel Go back |
[ユーザ設定]Ctrl + Alt + S, Ctrl + Alt + U | Package: TortoiseSVN update |
[ユーザ設定]Ctrl + Alt + S, Ctrl + Alt + C | Package: TortoiseSVN commit |
[ユーザ設定]Ctrl + Alt + S, Ctrl + Alt + R | Package: TortoiseSVN revert |
[ユーザ設定]Ctrl + Alt + S, Ctrl + Alt + L | Package: TortoiseSVN log |
[ユーザ設定]Ctrl + Alt + S, Ctrl + Alt + D | Package: TortoiseSVN diff |
※[ユーザ設定]はPreferences -> Key Bindings - Userで変更したものです
テーマとカラースキームの設定
テーマはSublimeTextのUI、カラースキームはテキスト色や背景色の設定です。
テーマの設定
- 拡張子は「sublime-theme」
- PackageControlからインストールし、Preferences -> Settings - Userの"theme"で値を設定する。設定する値は各々のPackageの配布サイトを参照してください。
- おすすめのテーマ
- Material Theme(カラースキーム付)
- Theme - Flatland(カラースキーム付)
- Theme - Soda
- Theme - Spacegray(カラースキーム付)
カラースキームの設定
- 拡張子は「tmTheme」
- Preferences -> Settings - Userの"color_scheme"で値を設定する。
- 「C:\Users\ユーザー名\AppData\Roaming\Sublime Text 3\」からの相対パスで「Packages\User\hoge.tmTheme」のように記述する。
- Preferences -> Color Scheme から選択すると値を自動で書き換えてくれる。
- SublimeLinterを使用している場合は、Preferences -> Color Scheme から選択すると、「Packages\User\SublimeLinter」内にtmThemeファイルが作成される。
- tmThemeファイルを修正する際、おすすめの色
- 背景(background): #222222
- 行ハイライト(lineHighlight): #003e6c
- 選択(selection): #003e6c
- コメント(comment foreground): #aaa89b
- おすすめのカラースキーム
- Monokai Soda(Theme - Sodaのcolour-schemes.zipを解凍し、「Packages\User\」内に配置し、Preferences -> Color Scheme から設定)
- Monokai Extended(マークダウンのシンタックスハイライトに対応している)
Package一覧
プログラミング効率化
★★☆ All Autocomplete
コード補完を強化してくれる
★★☆ AutoFileName
htmlやcssの画像のパスの入力補完をしてくれる
★★★ BracketHighlighter
括弧・タグの強調表示をしたり、修正ができる
★★★ Color Highlighter
カラーコードを見やすくしてくれる
★★☆ ColorPicker
カラーピッカーを呼び出せる
★★☆ DataConverter
CSVをYaml,Json,Ruby配列,PHP配列等へ変換できる
★★★ DocBlockr
DocBlockコメントを自動で作成
★★☆ Dotfiles Syntax Highlighting
ドットから始まるファイル向けのシンタックス
★★☆ ApacheConf.tmLanguage
.confファイルや、.htaccessファイルのシンタックス
★★★ DoxyDoxygen
ドキュメンテーションコメントを自動入力&自動更新
★★★ Evernote
Evernoteを使える
★★★ GotoDocumentation
関数の上にカーソルがある状態でwin+shift+hで、ブラウザでリファレンスを開く
★★★ Gulp
SublimeからGulpを使える
★★★ Inc-Dec-Value
数値、カラーコード、日付、曜日、true/false、left/rightの値をAlt+↑↓キーで増減できる
★★★ Increment Selection
複数カーソルで数字を選択すると、いい感じにインクリメントしてくれる(Ctrl+Alt+I)
★★★ LineEndings
ステータスバーに改行コードが表示できる
Preferencess -> Package Setting -> LinEndings -> Settings - Users
{
//ステータスバーに改行コードを表示
"show_line_endings_on_status_bar": true
}
★★★ Pandoc
PandocをSublimeで使える
★★★ Random Everyting
ランダムな数値や文字列を生成できる
★★★ SFTP
SFTP接続できるようになる
★★★ SublimeCodeIntel
関数や変数の定義元へジャンプ、コード補完の自動表示、関数入力補完機能など
★★★ Sublimerge Pro
マージ機能
★★★ SublimeREPL
Sublime内でインタープリタを使える
★★★ Terminal
Sublimeからターミナルを起動できる
★★☆ TrailingSpaces
行末のスペースをハイライト表示できる
Preferencess -> Package Setting -> Trailing Spaces -> Settings - Users
{
// 全角スペースをハイライト表示
"trailing_spaces_regexp": " |[\t]+",
// 行末のスペースをコメント色でハイライト表示
"trailing_spaces_highlight_color" : "comment"
}
コード整形
★★☆ Abacus
複数行の整列をしてくれる
★★★ Alignment
選択範囲内のコード整形ができる
★★★ CSScomb
CSSのプロパティ順序をソートしてくれる
★★★ JsFormat
jsのコード整形
★★★ HTMLBeautify
htmlのコード整形
★★★ HTML-CSS-JS Prettify
html, css, js, jsonのコード整形
★★☆ Pretty JSON
JSONのコード整形
コード解析
★★★ SublimeLinter
構文エラーをリアルタイムでチェックできる
言語ごとに別途パッケージのインストールが必要になる
★★★ SublimeLinter-html-tidy
- Packageをインストールする
- tidyをダウンロード
- tidy(例 C:\Program Files\tidy2)にパスを通す
★★★ SublimeLinter-csslint
- Packageをインストールする
- ターミナルで npm install -g csslint を実行しcsslintをインストールする
★★★ SublimeLinter-jshint
- Packageをインストールする
- ターミナルで npm install -g jshint を実行しjshintをインストールする
★★★ SublimeLinter-eslint
- Packageをインストールする
- ターミナルで npm install -g eslint を実行しeslintをインストールする
★★★ SublimeLinter-php
- Packageをインストールする
- php本体(例 C:\php)にパスを通す
★★★ SublimeLinter-phplint
- Packageをインストールする
- ターミナルで npm install -g phplint を実行しphplintをインストールする
- php本体(例 C:\php)にパスを通す
★★★ SublimeLinter-phpcs
- Packageをインストールする
- composerをインストールした後、ターミナルで composer global require squizlabs/php_codesniffer を実行しphp_codesnifferをインストールする
- php本体(例 C:\php)にパスを通す
★★★ SublimeLinter-phpmd
- Packageをインストールする
- php本体(例 C:\php)にパスを通す
- composerをインストールした後、ターミナルで composer global require phpmd/phpmd を実行しphpmdをインストールする
マークダウン
★★★ GitHub Markdown Snippets
マークダウンのスニペット
★★★ Markdown Extended
マークダウンのシンタックスハイライトに対応したカラースキーム
★★★ Markdown Preview
マークダウンファイルをブラウザプレビューしたり、htmlファイルに変換できる
HTML, CSS
★★★ Bootstrap 3 Snippets
Bootstrap3のスニペット
★★★ Can I Use
ファイル右クリックで、Can I Useを参照できる
★★★ Compass
Compassのビルドができる
★★★ CSS Snippets
CSSのスニペット
★★★ Emmet
HTML, CSSのコーディングを補助してくれるEmmetです
★★★ Hayaku
EmmetよりもファジーなショートコードでCSSコーディングの補助をしてくれる
Preferencess -> Package Setting -> Emmet -> Settings - Users
Emmetの変換はCtrl+Eで、Hayakuの変換はTABで変換するように設定する
{
// TABキーでの展開を無効化し、Ctrl+Eでの変換のみ有効にする
"disable_tab_abbreviations_for_scopes":"css,less,sass,scss,stylus"
}
★★★ HTML5
HTML5のスニペット
★★★ Sass
Sassのシンタックスとコード補完
★★★ Sass Build
Sassのビルドができる
★★★ Sass Snippets
Sassのスニペット
JavaScript
★★☆ cdnjs
cdnjs.comに登録されたライブラリへのリンクを簡単に挿入できる
★★★ JavaScript Console
jsのConsole APIのスニペット
★★★ JavaScript Snippets
jsのスニペット
★★★ JavaScript & NodeJS Snippets
jsとnode.jsのスニペット
★★★ JS Snippets
jsのスニペット
★★★ jQuery
jQueryのシンタックスとスニペット
★★★ jQuery Snippets pack
jQueryのスニペット
★★★ ReactJS
ReactJSのシンタックス
PHP
★★☆ PHP-Twig
Twigのシンタックスとスニペット
Preferences>Browse PackagesでPackageがインストールされているディレクトリを開き、「PHP-Twig」というディレクトリを新規作成し、https://github.com/Anomareh/PHP-Twig.tmbundle からDLしたzipを解凍して、「Preferences」「Snippets」「Syntaxes」を格納する。
★★☆ Silex Snippets
Silexのスニペット
★☆☆ Smarty
Smartyのシンタックスとスニペット
EC-CUBE等の一部CMSではデリミタを変更していることがあるので、tmPreferencesファイルを作成して対応する
C:\Users\hoge\AppData\Roaming\Sublime Text 3\Packages\User\smarty\Comments.tmPreferences を作成して、smartyのコメントの設定をEC-CUBE向けに上書き
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Comments</string>
<key>scope</key>
<string>text.html.smarty</string>
<key>settings</key>
<dict>
<key>shellVariables</key>
<array>
<dict>
<key>name</key>
<string>TM_COMMENT_START</string>
<key>value</key>
<string><![CDATA[<!--{* ]]></string>
</dict>
<dict>
<key>name</key>
<string>TM_COMMENT_END</string>
<key>value</key>
<string><![CDATA[ *}-->]]></string>
</dict>
</array>
</dict>
</dict>
</plist>
C:\Users\hoge\AppData\Roaming\Sublime Text 3\Packages\User\smarty\Smarty.tmPreferences を作成して、smartyのデリミタの設定をEC-CUBE向けに上書き
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Globals</string>
<key>scope</key>
<string></string>
<key>settings</key>
<dict>
<key>shellVariables</key>
<array>
<dict>
<key>name</key>
<string>SMARTY_LDELIM</string>
<key>value</key>
<string><![CDATA[<!--{]]></string>
</dict>
<dict>
<key>name</key>
<string>SMARTY_RDELIM</string>
<key>value</key>
<string><![CDATA[}-->]]></string>
</dict>
</array>
</dict>
</dict>
</plist>
★★★ WordPress
Wordpressのスニペット
★★★ WordPress Developer Resources
ファイル右クリックから、WordPress Developer Resourcesを参照できる
SQL
★★★ MySQL Snippets
MySQLのスニペット
★★☆ SQL Beautifier
SQLを整形できる
WebGL, WebAudio
★★★ Web Audio API Autocomplete
WebAudioAPIの入力補完
★★★ OpenGL Shading Language (GLSL)
GLSLのシンタックス
ブラウザプレビュー
★★★ Browser Reflesh
キーボードショートカットでブラウザの更新が可能になる
★★★ LiveStyle
SublimeTextとブラウザ間の双方向のリアルタイム編集が可能になる
★★★ LiveReload
ファイルを保存すると、ブラウザを自動更新してくれる
★★★ View In Browser
Sublimeで開いているファイルをブラウザで開く
バージョン管理
★★★ Git
コマンドパレットからgitが使える
★★★ GitGutter
前回コミットとの差分を行の左横(ガッター)に表示してくれる
★★☆ TortoiseSVN
TortoiseSVNをSublimeから使えるようになる
Sublimeの機能
★★★ BoundKeys
ショートカットキーを一覧表示してくれる。
★★★ ConvertToUTF8
ファイルオープン時に文字エンコードをUTF8に変換し、セーブした時に元の文字コードでセーブしてくれる。
★★★ EncodingHelper
ステータスバーからShift_JISやEUC-JPを含む多種多様な文字コードのファイルをUTF-8に変換して表示することが出来る。
★★★ IMESupport
IMEでインライン変換の入力文字が正しい位置に表示されない問題をある程度解決できる
★★★ Package Control
Packageインストール作業を楽にするPackage
★☆☆ Origami
変則的にパネルを変形できる
★★★ SideBarEnhancements
サイドバーの右クリック時の項目を追加する
★★☆ SyncedSideBar
サイドバーとタブの表示を同期してくれる