Preferences.sublime-settings 覚書

``User/Preferences.sublime-settings`` ファイルに記述された設定は
``Default/Preferences.sublime-settings`` に記述された設定を上書きする。

特定の種類のファイルの設定はオプションファイルへ記述されることもある。
例えば python ファイル向けの設定は
``Packages/Python/Python.sublime-settings`` へ記述する。

#基本設定
テキストエリアに使用する色を指定する。

```json
"color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
```

font_face と font_size はプラットフォーム固有の設定ファイルによって上書きされる。
(例: ``Preferences (Linux).sublime-settings``)
``Default/Preferences.sublime-settings`` に記述された設定は上書きされる為、
効力を持たない: 

font_face, font_size の設定は必ず
``User/Preferences.sublime-settings`` ファイルへ記述すること。

```json
"font_face": "",
"font_size": 10,
```

有効なオプション:

* “no_bold”
* “no_italic”
* “no_antialias”
* “gray_antialias”
* “subpixel_antialias”
* “no_round” (OS X のみ)
* “gdi” (Windows のみ)
* “directwrite” (Windows のみ)

```json
"font_options": [],
```

区切り文字として認識する文字。

```json
"word_separators": "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~?",
```

false に設定した場合、ガーターへ行番号を表示しない。

```json
"line_numbers": true,
```

false に設定した場合、ガーターを表示しない。

```json
"gutter": true,
```

ガーターとテキストの間の余白。

```json
"margin": 4,
```

折り畳みボタンとして三角形をガーターへ表示する。

```json
"fold_buttons": true,
```

ガーターへマウスが乗るまで折り畳みボタンを非表示にする。

```json
"fade_fold_buttons": true,
```

垂直方向のルーラーを表示する列を指定する。

```json
"rulers": [],
```

true を設定した場合、スペルチェックを有効にする。

```json
"spell_check": false,
```

tab 幅として使用する空白スペースの数を指定する。

```json
"tab_size": 4,
```

true を設定した場合、 tab 押下時に空白スペースを挿入する。

```json
"translate_tabs_to_spaces": false,
```

translate_tabs_to_spaces が true である場合、
use_tab_stops は tab とバックスペースを次のタブストップまで挿入または削除する。

```json
"use_tab_stops": true,
```

false を設定した場合、読込時の tab と空白スペースの検出を無効にする。

```json
"detect_indentation": true,
```

enter 押下時に自動的にインデント幅を計算する。

```json
"auto_indent": true,
```

自動インデントの効率を少し良くする。
例) C のステートメントであれば次の行へ自動的にインデントを付加する。
auto_indent の有効化が必要となる。

```json
"smart_indent": true,
```

インデント時、最初の括弧へ空白スペースを付加する。
auto_indent の有効化が必要となる。

```json
"indent_to_bracket": false,
```

キャレットが行から外れた時に、
auto_indent によって付加された空白スペースを削除する。

```json
"trim_automatic_white_space": true,
```

有効にすると水平方向のスクロールを無効化する。

有効な値:

* true
* false
* “auto” 

”auto” を指定した場合、ソースコードでは水平スクロールを無効とし、
ソースコードではない文書においては水平スクロールを有効にする。

```json
"word_wrap": "auto",
```

文字列の折返しを行う列を指定する。

```json
"wrap_width": 0,
```

false を指定した場合、折返した行を同じ深さのインデントで表示しなくなる。

```json
"indent_subsequent_lines": true,
```

テキストを左寄せではなく、中央寄せで表示する。

```json
"draw_centered": false,
```

引用符や括弧などの自動ペアリングを制御する。

```json
"auto_match_enabled": true,
```

スペルチェックに使用する単語の一覧。

```json
"dictionary": "Packages/Language - English/en_US.dic",
```

スペリングエラーのチェック範囲を設定する。

```json
"spelling_selector": "markup.raw, 
   source string.quoted - punctuation - meta.preprocessor.c.include, 
   source comment - source comment.block.preprocessor, 
   -(source, constant, keyword, storage, support, variable, 
      markup.underline.link, meta.tag)",
```

true を指定した場合、ミニマップ上に表示されている長方形の周りに罫線を引く。
罫線の色はカラースキームの “minimapBorder” キーによって決定される。

```json
"draw_minimap_border": false,
```

true を指定した場合、ミニマップ上のビューポートを常に可視化する。
false を指定した場合、ミニマップへマウスが乗った時だけビューポートが表示される。

```json
"always_show_minimap_viewport": false,
```

有効にした場合、キャレットのある行がハイライト表示される。

```json
"highlight_line": false,
```

有効な値:

* “smooth”
* “phase”
* “blink”
* “solid”

```json
"caret_style": "smooth",
```

キャレットの大きさを設定する。

```json
"caret_extra_top": 0,
"caret_extra_bottom": 0,
"caret_extra_width": 0,
```

キャレットを囲む括弧への下線を無効化するには false を指定する。

```json
"match_brackets": true,
```

キャレットが移動した時に限り括弧をハイライト表示したい場合はfalse を指定する。

```json
"match_brackets_content": true,
```

``[]`` をハイライト表示したくない場合は false を指定する。
match_brackets が true である場合に限り効力を持つ。

```json
"match_brackets_square": true,
```

false を指定すると ``{}`` をハイライト表示しなくなる。
match_brackets が true である場合に限り効力を持つ。

```json
"match_brackets_braces": true,
```

false を指定すると ``<>`` をハイライト表示しなくなる。
match_brackets が true である場合に限り効力を持つ。

```json
"match_brackets_angle": false,
```

有効にした場合、 HTML と XML のタグの合致を可視化する。

```json
"match_tags": true,
```

現在選択されているテキストが他の場所にも存在している場合にハイライト表示する。

```json
"match_selection": true,
```

各行の上部余白をピクセル単位で指定する。

```json
"line_padding_top": 0,
```

各行の下部余白をピクセル単位で指定する。

```json
"line_padding_bottom": 0,
```

false を指定した場合、バッファの終わりを超えたスクロールを無効にする。
OS X では、本設定の値はプラットフォーム固有の設定に上書きされる。
本設定はユーザ設定へ記述し、上書きする必要がある。

```json
"scroll_past_end": true,
```

up キーまたは down キーを押下して、最初の行または最後の行に達した場合の動作を指定する。
OS X では、本設定の値はプラットフォーム固有の設定に上書きされる。
本設定はユーザ設定へ記述し、上書きする必要がある。

```json
"move_to_limit_on_up_down": false,
```

“none” を指定すると空白スペースの描画を off にする。
”selection” を指定すると選択中の空白スペースのみを描画する。
”all” を指定すると全ての空白スペースを描画する。

```json
"draw_white_space": "selection",
```

false を指定するとインデントガイドを無効化する。
インデントガイドの色と幅は対応する ``.tmTheme`` ファイルを編集することで
カスタマイズすることができる:

* “guide”
* “activeGuide”
* “stackGuide”

```json
"draw_indent_guides": true,
```

インデントガイドの描画方法を指定する。

有効なオプション:

* “draw_normal”
* “draw_active”

draw_active はキャレットを含むインデントガイドを異なる色で描画する。

```json
"indent_guide_options": ["draw_normal"],
```

true を指定すると行末の空白スペースをファイルの保存時に削除する。

```json
"trim_trailing_white_space_on_save": false,
```

true を指定するとファイルの保存時に、ファイルの終端行へ改行文字を追加する。

```json
"ensure_newline_at_eof_on_save": false,
```

true を指定するとファイルやアプリケーションを切替えた時に自動的にファイルを保存する。

```json
"save_on_focus_lost": false,
```

一時ファイルを生成し、名前を変更することで元のファイルを上書きする。

```json
"atomic_save": false,
```

エンコーディングが自動的に決定できない場合に適用するエンコーディング。
ASCII, UTF-8, UTF-16 は自動的に検知される。

```json
"fallback_encoding": "Western (Windows 1252)",
```

新しいファイルの保存時と、エンコーディングが不明なファイル
(例: プレイン ASCII ファイル)を開く際に使用するエンコーディング。
(自動検知または明示的に指定して)指定のエンコーディングでファイルを開く場合、
この設定は無視され、ファイルを開いた時に使用されたエンコーディングで
ファイルの保存が行われる。

```json
"default_encoding": "UTF-8",
```

null バイトを含むファイルを 16 進数で開くことを既定とする。

```json
"enable_hexadecimal_encoding": true,
```

ファイル作成時に使用する改行文字を決定する。

有効な値:

* ‘system’ (OS が使用する改行文字)
* ‘windows’ (CRLF)
* ‘unix’ (LF のみ)

```json
"default_line_ending": "system",
```

有効にした場合、 tab を押下すると最適な保管を挿入する。
無効にした場合、 tab はスニペットを呼び出すか、 tab を挿入する。
tab_completion が有効である場合、 Shift+tab は tab を挿入する。

```json
"tab_completion": true,
```

入力時の自動補完を有効にする。

```json
"auto_complete": true,
```

自動補完の呼び出し元ファイルの最大サイズ。

```json
"auto_complete_size_limit": 4194304,
```

入力後に補完ウィンドウが表示されるまでの遅延期間をミリ秒単位で指定する。

```json
"auto_complete_delay": 50,
```

自動補完が呼び出される範囲を設定する。

```json
"auto_complete_selector": "meta.tag - punctuation.definition.tag.begin, 
   source - comment 
      - string.quoted.double.block 
      - string.quoted.single.block 
      - string.unquoted.heredoc",
```

自動補完を呼び出す状況を設定する。

```json
"auto_complete_triggers": [ {"selector": "text.html", "characters": "<"} ],
```

既定では自動補完は enter を押下した時にコミットされる。
上記の動作の代わりに tab を使用して補完を行うことができる。
tab による補完は、補完のコミット操作と
改行操作を明確に区別することができる点において優れている。

```json
"auto_complete_commit_on_tab": false,
```

スニペットフィールドが有効である場合に自動補完が表示されるかどうかを指定する。auto_complete_commit_on_tab が true である場合に限り有効となる。

```json
"auto_complete_with_fields": false,
```

自動補完ウィンドウ内の最初の項目を選択している時に
up キーを押下した場合の動作を指定する:

* false を指定した場合、ウィンドウを非表示にする。
* true を指定した場合、ウィンドウ内の最後の項目を選択する。

ウィンドウ内の最後の項目を選択している時に 
down キーを押下した場合も上記と同様の動作となる。

```json
"auto_complete_cycle": false,
```

``</`` 入力時に HTML タグと XML タグを自動的に閉じる。

```json
"auto_close_tags": true,
```

複数行を選択している場合、既定では shift+tab はインデント解除のみを実行し、
上記以外の時に shift+tab を押下すると tab 文字を挿入する 
本設定は tab_completion が有効である場合に tab 文字の挿入を許可する。
true を指定した場合、 shift+tab は常にインデント解除を行い、
tab 文字の挿入を実行しなくなる。

```json
"shift_tab_unindent": false,
```

true を指定した場合、何も選択していない状態で
コピーコマンドと切取りコマンドを実行すると現在の行を対象に実行される。

```json
"copy_with_empty_selection": true,
```

true を指定した場合、選択されたテキストは検索パネル表示の際にパネルへコピーされる。
OS X では本設定の値はプラットフォーム固有の設定に上書きされる為
ユーザ設定へ記述する必要がある。

```json
"find_selected_text": true,
```

auto_find_in_selection が有効である場合、
複数行のテキストを選択した際に ”Find in Selection” フラグは自動的に有効となる。

```json
"auto_find_in_selection": false,
```

drag_text が有効である場合、
選択したテキストをクリックすると drag-drop 操作を開始する。
本設定は Linux 版では現在実装されていない。

```json
"drag_text": true,
```

#ユーザインターフェイス設定
Sublime Text の UI の見た目を制御する。(ボタン、タブ、スクロールバー等)

```json
"theme": "Default.sublime-theme",
```

0 を指定した場合、滑らかなスクロールを無効にする。
スクロールの速度は 0 から 1 の間で指定すると遅くなり、
1 より大きい値を指定すると速くなる。

```json
"scroll_speed": 1.0,
```

フォルダー展開時または折畳時のサイドバーのアニメーションを制御する。

```json
"tree_animation_enabled": true,
```

アプリケーション全体のアニメーションを制御する。

```json
"animation_enabled": true,
```

更新されたファイルのタブを可視化する。

```json
"highlight_modified_tabs": false,
"show_tab_close_buttons": true,
```

フォルダーをサイドバーへ太字で表示する。

```json
"bold_folder_labels": false,
```

OS X のみ: true を指定した場合、 Lion 形式のフルスクリーンサポートを無効にする。
設定の変更を反映する為に Sublime Text を再起動する必要がある。

```json
"use_simple_full_screen": false,
```

OS X のみ。

有効な値:

* true
* false
* “auto”

auto は 2560 ピクセルより大きいスクリーンで実行する場合に有効となる。
(例: Retina ディスプレイ)
本設定を有効にした場合、描画の高速化の為に OpenGL が使用される。
設定変更を反映する為に Sublime Text を再起動させる必要がある。

```json
"gpu_window_buffer": "auto",
```

有効な値:

* “system”
* “enabled”
* “disabled”

```json
"overlay_scroll_bars": "system",
```

タブを縮小する代わりに左右へスクロールする。

```json
"enable_tab_scrolling": true,
```

ステータスバーへファイルエンコーディングを表示する。

```json
"show_encoding": false,
```

改行文字をステータスバーへ表示する。

```json
"show_line_endings": false,
```

#アプリケーション動作設定
hot_exit を有効にした場合、プロンプトを表示せずにアプリケーションを即時終了する。
変更は保存されず、終了時に開いていたファイルは次回起動時まで記憶され、起動時に開かれる。

関連するプロジェクトのウィンドウを閉じるとプロンプトを表示せずにウィンドウを閉じる。
保存されていない変更はプロジェクトと共にワークスペースファイルへ記録される。

```json
"hot_exit": true,
```

Sublime Text 終了時にフルスクリーンモードであった場合、
remember_full_screen は次回起動時に Sublime Text を
フルスクリーンモードで起動することを許可する。
false を指定した場合、 Sublime Text はフルスクリーンモードで起動しなくなる。

```json
"remember_full_screen": false,
```

ファイルを再読込する前に、ファイルが更新されていない場合でも毎回プロンプトを表示する。
既定では、ファイルが更新されていない場合、自動的にファイルを再読込する。
ファイルの変更が保存されていない場合、プロンプトは常に表示される。

```json
"always_prompt_for_file_reload": false,
```

OS X のみ: ファイルがファインダーから開かれた場合、
またはドックアイコンへのドラッグによって開かれた場合、
新しいウィンドウを生成するかどうかを指定する。

```json
"open_files_in_new_window": true,
```

OS X のみ: 起動時に空のウィンドウを生成するかどうかを指定する。

```json
"create_window_at_startup": true,
```

true を指定した場合、最後のファイルを閉じると同時にウィンドウを閉じる。
ただしウィンドウ内で開いているフォルダが存在しない場合に限る。
OS X では本設定の値はプラットフォーム固有の設定に上書きされる為、
ユーザ設定へ記述する必要がある。

```json
"close_windows_when_empty": false,
```

タイトルバーへファイルの完全なパスを表示する。
OS X では本設定の値はプラットフォーム固有の設定に上書きされる為、
ユーザ設定へ記述する必要がある。

```json
"show_full_path": true,
```

ビルド実行時にパネルへビルド結果を表示する。
false を指定した場合、ビルド結果は
Tools / Build Results menu を介して表示することができる。

```json
"show_panel_on_build": true,
```

サイドバーに表示されているファイルをクリックした際に、
ファイルの内容をプレビュー表示する。
ダブルクリックまたはファイルを編集するとファイルを開き、タブへ登録する。

```json
"preview_on_click": true,
```

folder_exclude_patterns と file_exclude_patterns は
どのファイル / フォルダーをサイドバーへ一覧表示するかを指定する。
本設定はプロジェクトを基準に指定することもできる。

```json
"folder_exclude_patterns": [".svn", ".git", ".hg", "CVS"],
"file_exclude_patterns": [
   "*.pyc", "*.pyo", "*.exe", 
   "*.dll", "*.obj","*.o", "*.a", 
   "*.lib", "*.so", "*.dylib", 
   "*.ncb", "*.sdf", "*.suo", 
   "*.pdb", "*.idb", ".DS_Store", 
   "*.class", "*.psd", "*.db", "*.sublime-workspace"
],
```

これらのファイルはサイドバーへ表示され続けるが、
Goto Anything や Find in Files には含まれない。

```json
"binary_file_patterns": [
   "*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", 
   "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", 
   "*.swf", "*.jar", "*.zip"
],
```

index_files はサイドバー内の全ファイルを解析し、
解析したファイルのシンボルインデックスを生成する。

```json
"index_files": true,
```

インデックスへ使用するスレッド数を指定する。
0 を指定した場合、 Sublime Text はコア数を基準にスレッド数を決定する。
全ワーカーを無効化したい場合は index_files を使用する。

```json
"index_workers": 0,
```

index_exclude_patterns はインデックスへ登録しないファイルを指定する。

```json
"index_exclude_patterns": ["*.log"],
```

無視するパッケージを列記する。
パッケージがプラグインを含んでいる場合、
このリストから登録を削除する際に、再起動が必要となる場合がある。

```json
"ignored_packages": ["Vintage"]
```