LoginSignup
42
36

More than 5 years have passed since last update.

Sublime Text API Reference(翻訳)

Last updated at Posted at 2014-04-19

のちのち個人的に必要になりそうなので、Sublime Text 3 API Refernceの翻訳を載せていきます。一応最初の文言以外は翻訳しました。ただ文章がgdgdなのでちょいちょい手直ししていきます。
よく意味がわからないものは原文ママで載せています。また多少の意訳を含んでおり、個人的に使用したことのないAPIも含まれています。英語は苦手ですが、日本語もダメなので良くわからない文章に…(´・ω...:.;::..

Module sublime

使い方:

return_value = sublime.method_name(args)

コールバック

delay(ミリ秒)後にcallbackを呼ぶためのメソッドです。

Methods Return Value 説明
set_timeout(callback, delay) None Callbacks with an equal delay will be run in the order they were added.
set_async_timeout(callback, delay) None 非同期でコールバックを呼ぶメソッドです。

ステータスメッセージ

Methods Return Value 説明
status_message(string) None stringをステータスバーに表示します。

ダイアログ表示

stringを説明文としたダイアログを表示します。

Methods Return Value 説明
message_dialog(string) None メッセージダイアログを表示します。
error_message(string) None エラーログを表示します。
ok_cancel_dialog(string, <ok_button>) bool ok/cancelダイアログを表示します。もし<ok_button>に何らかの引数が与えられた場合、okボタン上にその引数を表示します。またokボタンが選択された場合、このメソッドはTrueを返します。

リソース処理

.pyファイルや.sublime-*ファイルなどのリソース処理に関するメソッドです。
nameにはPackages/Default/Main.sublime-menuのように記述します。

Methods Return Value 説明
load_resource(name) String nameに与えられたリソースをロードします。
load_binary_resource(name) bytes nameに与えられたバイナリのリソースをロードします。
find_resources(pattern) [String] patternに合致するファイル名リソースを見つけます。

JSONエンコーディング

Methods Return Value 説明
encode_value(value, <pretty>) String JSONString型にエンコードします。もしprettyTrueがセットされた場合、戻り値にインデントと改行が含まれるようになります。
decode_value(string) value JSON文字列をオブジェクトにでコードします。もし文字列が無効であった場合、ValueErrorを投げます。

Settingsファイル操作

Settignsファイル操作に関するメソッドです。base_nameにはSettingsファイルのファイル名(拡張子含む)のみを与え、パスを記述してはいけません。
load_settings() ではPackages>Userフォルダ(ディレクトリ)内のSettingsファイルが優先的に読み込まれます。
save_settings() ではUserフォルダ(ディレクトリ)内のSettingsファイルのみが更新され、Settingsファイルがない場合は同名のファイルが新規に作成されます。

Methods Return Value 説明
load_settings(base_name) Settings base_nameにマッチするファイルがパッケージにあるかどうかサーチし、あればファイルを読み込んでsettignsオブジェクトを作成します。次にそのファイル名でload_settingsを呼んだ場合、再度settingsファイルを読み込むことはせず、そのオブジェクトが呼び出されます。
save_settings(base_name) None settingsオブジェクトの内容をファイルに保存します。

Windowオブジェクト取得

Methods Return Value 説明
windows() [Window] 開いているウィンドウすべてのwindowオブジェクトのリストを返します。
active_window() Window 使用しているウィンドウのwindowオブジェクトを返します。

パス取得

Methods Return Value 説明
packages_path() String Packages フォルダ(ディレクトリ)のパスを返します。
installed_packages_path() String installed Packages フォルダ(ディレクトリ)のパスを返します。
cache_path() String cache フォルダ(ディレクトリ)のパスを返します。

クリップボード

Methods Return Value 説明
get_clipboard(<size_limit>) String クリップボードの中身を返します。size_limitは不必要なほど巨大なデータから保護するためのもので、デフォルトでは 16,777,216 文字に設定されています。
set_clipboard(string) None クリップボードに文字列を格納します。

selector評価

Methods Return Value 説明
score_selector(scope, selector) Int 与えられたスコープ(scope)に対しselectorのマッチを行い、そのスコアを返します。0であればマッチしていない、0以上であればマッチしたことを示します。同じスコープ内で違うselectorによるスコアを比較すると、よりよくマッチしたselectorが高いスコアを返します。

コマンド実行

Sublime Text内で使用可能なコマンドを実行するメソッドです。
コマンド名や引数の仕様については.sublime-keymapファイルや.sublime-menuファイルを参照のこと。

Methods Return Value 説明
run_command(string, <args>) None stringに与えられた名前のApplicationCommandを実行します。<args>が与えられれば、それらとともに実行されます。

ログ取得

flagTrueFalseを与えてください。

Methods Return Value 説明
log_commands(flag) None commandのログをコントロールします。もしこのメソッドが実行された場合は、メニューやキーバインドから実行されるすべてのコマンドがコンソールに記録されます。
log_input(flag) None インプットのログをコントロールします。もしこのメソッドが実行された場合は、すべての押下したキーがコンソールに記録されます。
log_result_regex(flag) None 正規表現の結果をコントロールします。このメソッドはビルドシステムで使われる正規表現のデバッグにとても役立ちます。

環境情報取得

Sublime TextのバージョンやOSのプラットフォーム名、CPUのアーキテクチャの情報を取得するメソッドです。

Methods Return Value 説明
version() String バージョンナンバーを返します。
platform() String プラットフォーム名を返します。返す値はosxlinuxwindowsの三種類です。
arch() String CPUのアーキテクチャを返します。戻り値はx32x64の二種類です。

class sublime.View

使い方:

return_value = view.method_name(args)

viewid取得

Methods Return Value 説明
id() int viewの固有識別番号(id)を返します。
buffer_id() int viewのバッファにおける固有識別番号(id)を返します。

ファイルパス取得

Methods Return Value 説明
file_name() String 現在編集しているファイルのパスを返します。またファイルを保存していない場合はNoneを返します。

バッファ名操作

Methods Return Value 説明
name() String バッファに割り当てられた名前(タブに表示されている名前)が存在していれば、それを返します
set_name(name) None バッファに名前(name)を割り当てます。

バッファプロパティ

プロパティ取得

Methods Return Value 説明
is_loading() bool ファイルをロードしているかもしくは使用する準備が整っていない場合にTrueを返します。
is_dirty() bool 編集中のバッファの内容が変更され、なおかつ未保存である場合にTrueを返します。
is_read_only() bool 変更不可(読み取り専用)のバッファである場合にTrueを返します。
is_scratch() bool スクラッチバッファ(内容の変更しても保存/未保存が評価されないバッファ)である場合にTrueを返します。

プロパティ変更

Methods Return Value 説明
set_read_only(value) None バッファに読み取り専用に関するプロパティを付加します。valueにはTrueFalseを与えます。
set_scratch(value) None バッファにスクラッチバッファに関するプロパティを付加します。valueにはTrueFalseを与えます。

Settingsオブジェクト取得

Methods Return Value 説明
settings() Settings viewsettingsオブジェクト(への参照)を返します。Any changes to this settings object will be private to this view.

windowオブジェクト取得

Methods Return Value 説明
window() Window viewが含まれるwindowオブジェクトを返します。

コマンド実行

Methods Return Value 説明
run_command(string, <args>) None stringに与えられた名前のTextCommandを実行します。<args>が与えられれば、それらとともに実行されます。

文字数取得

Methods Return Value 説明
size() int viewで編集しているファイルの文字数を返します。

文字列取得

Methods Return Value 説明
substr(region) String region(編集中のファイル内での範囲を表すオブジェクト)の内容を文字列として返します。
substr(point) String point(編集中のファイル内での位置を表すオブジェクト)の右側の文字を返します。

文字列操作

Methods Return Value 説明
insert(edit, point, string) int 編集中のバッファ内においてstring(文字列)を特定のpointに挿入します。そして挿入された文字列の長さを返します。ただし、タブがスペースに変換されたバッファでは違う挙動を示す場合があります。
erase(edit, region) None regionの内容を消去します。
replace(edit, region, string) None regionにおける記述をstring(文字列)に置換します。

現在の選択範囲取得

Methods Return Value 説明
sel() Selection 選択範囲(の参照)を返します。

注:戻り値であるSelectionオブジェクトは、regionオブジェクトのリストです。

リージョン取得

行(改行含まず)

Methods Return Value 説明
line(point) Region pointが含まれる行全体のregionを返します。
line(region) Region regionが含まれる行全体のregionを返します。複数行にわたる場合にはregionの先頭が存在する行頭からregionの末尾が存在する行末までのregionを返します。

行(改行含む)

Methods Return Value 説明
full_line(point) Region line(point)とほぼ同様ですが、改行も含めた範囲を返します。
full_line(region) Region これもline(region)と改行も含めた範囲を返します。(注:複数行に渡るline(region)でも中間の改行はカウントされているので、実質的な相違点は最後尾の改行が含まれるか否かという点です。)

複数行(行ごと)

Methods Return Value 説明
lines(region) [Region] 与えられたregionがまたがる行を、行ごとのregionのリストとして返します。

改行による分割

Methods Return Value 説明
split_by_newlines(region) [Region] 与えられたregionを、行ごとに分けられたregionリストとして返します。

単語

Methods Return Value 説明
word(point) Region 与えられたpointにおける単語のregionを返します。
word(region) Region 与えられたregionにおける単語のregionを返します。複数単語にわたる場合にはregionの先頭が存在する単語の頭文字からregionの末尾が存在する単語の語尾までのregionを返します。単語ごとに分割してくれるメソッドではありません。

condition分類

pointの位置がどのような状態の位置なのかを分類するメソッドです。

Methods Return Value 説明
classify(point) int 以下の9つのフラグを0個以上用いて計算したビット単位の論理和をClassifies ptとして返します。Classifies pt, returning a bitwise OR of zero or more of these flags(注:訳者は一度も使ったことがないのでよく理解していません。)

classify のフラグ

それぞれのフラグはsublime.CLASS_XXXという形で参照できます。

Flags bit 説明
CLASS_WORD_START 1 単語の手前
CLASS_WORD_END 2 単語の直後
CLASS_PUNCTUATION_START 4 カンマやブラケットの手前
CLASS_PUNCTUATION_END 8 カンマやブラケットの直後
CLASS_SUB_WORD_START 16 PUNCTUATION により連続した単語の手前
CLASS_SUB_WORD_END 32 PUNCTUATION により連続した単語の直後
CLASS_LINE_START 64 行頭
CLASS_LINE_END 128 行末
CLASS_EMPTY_LINE 256 空行

CLASS_XXXを使ったregion取得

これらのメソッドで引数に用いるclassesにはclassifyで用いたフラグをsublime.CLASS_XXXというような形で与えることができます。またフラグを複数与えたい場合は論理演算(+やorなど)で与えることができます。separatorsでは単語分割のセパレータとなる文字列を設定できますが記述しなくてもかまいません。

検索

Methods Return Value 説明
find_by_class(point, forward, classes, <separators>) Region 与えられたpoint以降もしくは以前に位置するclassesにマッチする箇所のregionを返します。forwardTrueを与えると次候補を、Falseを与えると前候補を返します。

選択範囲拡張

戻り値は与えられた point から左右の、つまり前候補から次候補までのregionとなります。

Methods Return Value 説明
expand_by_class(point, classes, <separators>) Region classesがマッチする箇所までのregionを返します。
expand_by_class(region, classes, <separators>) Region classesがマッチする箇所までのregionを返します。

検索による選択範囲取得

オプションとして正規表現ではなく文字列で検索できるようにするsublime.LITERALと、大文字小文字の区別を行わないsublime.IGNORECASEのフラグを設定することができ、論理演算(+やor)を用いて両方同時に設定することも可能です。

Methods Return Value 説明
find(pattern, fromPosition, <flags>) Region 正規表現文字列であるpatternに最初にマッチした結果のregionを返します。与えられたpoint(fromPosition)を起点として検索を開始し、もしマッチする文字列がなければNoneを返します。
find_all(pattern, <flags>, <format>, <extractions>) [Region] 正規表現にマッチした、重複しないすべての箇所のregionを返します。またformatに文字列を、さらにextractionsにリストを与えた場合、検索結果にフォーマットを適用した結果をextractionのリストに作成します。

(注: find_all()extractionsはおそらく正規表現での検索時にformatに対して後方参照(\\1や\\2など)を与えることでフォーマットとして利用できるのだと思われます。参考リンク

行番号と列番号

これらのメソッドでは 0 始まりの行番号と列番号を扱います。またタブは1列と数えるため、ステータスバーの行列の値とは異なる値を返します。

Methods Return Value 説明
rowcol(point) (int, int) 与えたpointにおける行番号および列番号を返します。(注:戻り値は(行番号, 列番号)の順です。)
text_point(row, col) int rowcalの値から文字の位置を計算します。colは行頭からの文字数として解釈されることに注意してください。(注:rowcolはともにintで与えることができます。)

シンタックス設定

シンタックス変更

Methods Return Value 説明
set_syntax_file(syntax_file) None viewで使われているシンタックスを変更します。syntax_filePackages/Python/Python.tmLanguageのように表記してください。現在のシンタックスを取得したい場合はview.settings().get('syntax')を使ってください。

スコープによる選択範囲取得

Methods Return Value 説明
extract_scope(point) Region 与えられたpointにある記述のシンタックスの範囲をregionで返します。

スコープ名取得

Methods Return Value 説明
scope_name(point) String 与えられたpointにある記述のスコープ名を文字列で返します。

selectorを用いた操作

selector評価

sublimeクラスで扱ったものと同じ内容です。

Methods Return Value 説明
score_selector(point, selector) Int 与えられたpointにおけるscopeに対してselectorのマッチを行い、そのスコア(int)を返します。スコアが0ならマッチしていない、0以上であればマッチしているという評価になります。同じscopeに対して異なるselectorの比較を行った場合、よりよくマッチしたselectorがより高いスコアを返します。

scopeselectorに関してはSublime Text Unofficial Documentation - Scopes vs Scope Selectors を参照してください。

selectorによる検索

Methods Return Value 説明
find_by_selector(selector) [Regions] selectorにマッチする箇所すべてをregionのリストとして返します。

スクロール

表示位置をスクロールさせるメソッドです。カーソルは移動しません。

画面上端になるようにスクロール

Methods Return Value 説明
show(point, <show_surrounds>) None pointの位置までスクロールします。
show(region, <show_surrounds>) None regionの位置までスクロールします。
show(region_set, <show_surrounds>) None region_set(注:'selection'オブジェクトだと思われます。)の位置までスクロールします。

画面中央になるようにスクロール

Methods Return Value 説明
show_at_center(point) None pointの位置が中央に表示されるようスクロールします。
show_at_center(region) None regionの位置が中央に表示されるようスクロールします。

表示領域

Region

Methods Return Value 説明
visible_region() Region viewにおいて現在表示されているエリアをregionとして返します。

viewport

(注:この辺りがまったくわかってないです。)

Methods Return Value 説明
viewport_position() Vector レイアウトにおけるviewportの距離をベクトル(tuple)で返します。Returns the offset of the viewport in layout coordinates.(注:訳者はよく理解できていません)
set_viewport_position(vector, <animate>) None レイアウトポジション、つまりtuple形式のベクトルで示した位置までviewportをスクロールします。
viewport_extent() vector viewportwidthheighttuple形式のベクトルで返します。

layout

(注:ここもまったくわかってないです。)

Methods Return Value 説明
layout_extent() vector レイアウトのwidthheighttuple形式のベクトルで返します。
text_to_layout(point) vector テキストの位置(point)をレイアウトポジション(tuple形式のベクター)に変換します。
layout_to_text(vector) point レイアウトポジションをテキストの位置(point)に変換します。

行の高さと幅

Methods Return Value 説明
line_height() real レイアウト内での行の高さを返します。
em_width() real レイアウト内での文字幅を返します。

Regionの装飾

Methods Return Value 説明
add_regions(key, [regions], <scope>, <icon>, <flags>) None 与えられたregionに装飾を施します。各引数の説明については下記を参照してください。
get_regions(key) [regions] keyと関連付けられているregionをリストで返します。
erase_regions(key) None keyと関連付けられたregionを削除します。

add_regions() の引数

  • keyは装飾したregionを指定する名前になります。もしすでに使用されたkeyに対して再度regionをセットした場合、新しくセットされたregionが既存のregionを上書きします。
  • scopeにはcommentstringのようなスコープ名を与えることで、そのregionに色付けすることができます。もし何も設定しなかった場合は色付けされません。
  • iconにはアイコン名を与えることで、regionの位置する行左端のgutter部分にアイコン名に対応したアイコンが表示することができます。与えることが可能なアイコン名はそれぞれdotcirclebookmarkcrossで、scopeによって色付けされます。またiconにはPackages/Theme - Default/dot.pngように、パッケージにある画像ファイルを相対パスで指定することにより独自のアイコンを使用することができます。

さらに以下のフラグを用いてさまざま表示変更を行うことができ、論理演算(+やor)を用いて複数同時に設定することも可能です。

add_region のフラグ

フラグ名 説明
sublime.DRAW_EMPTY スペースやタブなどの何も表示されていない箇所の先頭部分を縦線で表示するようにします。
sublime.HIDE_ON_MINIMAP 装飾が右のミニマップに表示されなくなります。
sublime.DRAW_EMPTY_AS_OVERWRITE  スペースやタブなどの何も表示されていない箇所を縦線ではなく横線で表示するようにします。
sublime.DRAW_NO_FILL regionの色付けを塗りつぶしせず、枠線のみの表示にします。
sublime.DRAW_NO_OUTLINE regionの色付けを枠線を表示せず、塗りつぶしのみの表示にします。
sublime.DRAW_SOLID_UNDERLINE regionに下線(直線)を表示します。
sublime.DRAW_STIPPLED_UNDERLINE regionに下線を(点線)表示します。
sublime.DRAW_SQUIGGLY_UNDERLINE regionに下線を(波線)表示します。
sublime.PERSISTENT regionに対する装飾がセッションに記憶されます。
sublime.HIDDEN 装飾を施しません。

UNDERLINEスタイルはどれか一つしか表示することができません。またUNDERLINEスタイルを使いたい場合はDRAW_NO_FILLDRAW_NO_OUTLINEを同時に設定しないと下線を表示することができません。

ステータス表示

Methods Return Value 説明
set_status(key, value) None viewのステータスバーにkeyに関連付けられたvalueを表示します。ステータスバーでは、個々の要素はカンマで区切られており、keyによって順序が決まっています。またvalueに空の文字列を与えても表示されません。
get_status(key) String keyが設定されていれば、それに関連付けられたステータスを返します。
erase_status(key) None keyに関連付けられたステータスを削除します。

コマンドヒストリー

Methods Return Value 説明
command_history(index, <modifying_only>) (String,Dict,int) 実行したコマンドのヒストリー(厳密にはundo/redoのスタック)からindex(int)に対応するコマンド名(String)、引数(Dict)、リピート回数(int)を返します。

indexの値が、

  • 0 の場合は直前に使用したコマンド
  • 負値 の場合はそれ以前に使用したコマンド
  • 正値 の場合はredoのスタック
  • undo/redoのヒストリー数以上のindex の場合は (None, None, 0)

を返します。

<modifying_only>にはboolを与えることができ、Trueの場合にはファイルに変更を加えたコマンドのみを返します。デフォルトはFalseに設定されています。

バッファの変更回数

Methods Return Value 説明
change_count() int バッファの変更回数(int)を返します。変更回数はundo/redoなどに関わらず、前の状態から何かしらの変更があった時点で増加します。The change count can be used to determine if the buffer has changed since the last it was inspected.

コードの折りたたみ

Methods Return Value 説明
fold(region) bool 与えられたregionにある記述を折りたたみます。折りたためたならTrueを、すで折りたたまれていたらFalseを返します。
fold([regions]) bool 与えられた複数のregionにある記述を折りたたみます。折りたためたならTrueを、すで折りたたまれていたらFalseを返します。
unfold(region) [regions] 与えられたregionにある記述を展開します。また展開した記述のregionを返します。
unfold([regions]) [regions] 与えられたregionにあるすべての折りたたまれた記述を展開します。また展開した記述のみのregionを返します。

文字エンコード

Methods Return Value 説明
encoding() String viewで編集中のファイルのエンコードを返します。
set_encoding(encoding) None viewで編集中のファイルに新しいエンコード(encoding)を適用します。次にファイルを保存した際にはこのエンコードが使用されます。

改行コード

Methods Return Value 説明
line_endings() String viewで編集しているファイルの改行コードを返します。
set_line_endings(line_endings) None viewで編集しているファイルの改行コードを変更します。使用できる引数(line_endings)は WindowsUnixMac OS 9 の3種類です。なお次に保存する時はこの改行コードで保存されるとともに、保存に伴ってステータスバーの表示も変更されます。

上書きモード

Methods Return Value 説明
overwrite_status() Bool 上書きモードのステータス(bool)を返します。
set_overwrite_status(enabled) None TrueもしくはFalseを与えることによって上書きモードのon/offができます。

シンボル取得

Methods Return Value 説明
symbols() [(Region, String)] viewで編集しているバッファのすべてのシンボル位置(GotoAnything+@で検索できる要素)を返します。

注:翻訳元では引数にline_endingsが表記されていますが、与えてみたところ「その引数は使わない」と怒られたので、本稿ではline_endingsを表記していません。

ポップアップメニュー

Methods Return Value 説明
show_popup_menu(items, on_done, <flags>) None itemsに与えられた文字列のリストを使ってカーソル位置にポップアップメニューを表示します。選択肢を選んだ後の動作はon_doneを使って決めることができ、またその際on_doneには選択したリストのインデックスが渡されます。もしポップアップメニューをキャンセルした場合、on_doneには -1 が渡されます。現時点で<flags>に使用できるオプションはありません。

Class sublime.Region

バッファにおける範囲を示すクラスです。範囲を持たない、つまりカーソル位置のみを示す場合は範囲の始点と終点が同じ値(a=b)として取り扱われます。

使い方:

region = sublime.Region(a, b, xpos)     #コンストラクタ
property_value = region.property        #プロパティ
return_value = region.method_name(args) #メソッド

コンストラクタ

Constructor 説明
Region(a, b) 始点aと終点bの範囲を持つregionオブジェクトを作成します。

プロパティ

Properties Type 説明
a int regionオブジェクトの始点です。
b int regionオブジェクトの終点です。カーソル位置でもあります。もしbaより小さい値だった場合、aより値が大きい場合とは逆方向の範囲が作成されます。
xpos int 上下の方向キーを押すなどして、次の行以降(もしくは前の行以前)に移動する際のカーソル位置を決定します。もし定義されていない場合は-1を返します。(注:単位は文字数ではないようです。またabが別の値だった場合、次もしくは前の行への移動はbの位置が優先されるようです。)

メソッド

左端・右端

Methods Return Value 説明
begin() int ab、どちらか小さいほうの値を返します。
end() int ab、どちらか大きいほうの値を返します。

サイズ

Methods Return Value 説明
size() int region内の文字数を返します。戻り値は常に 0 以上の値となります。
empty() bool regionにおいて begin()=end() となる場合、つまり範囲を持たない場合にTrueを返します。

他のRegionとの比較

Methods Return Value 説明
cover(region) Region このregionと引数として与えられたregionを合わせた範囲をregionオブジェクトで返します。
intersection(region) Region このregionと引数として与えられたregionの重複する範囲をregionオブジェクトで返します。
intersects(region) bool このregionと引数として与えられたregionに重複する箇所、範囲があった場合Trueを返します。
contains(region) bool このregionに、関数に与えられたregionがすべて含まれていた場合、Trueを返します。(注:重複する部分があるだけの場合はFalseを返します。)
contains(point) bool このregionにおいて始点と終点の間にpointが含まれていた場合、Trueを返します。

Class sublime.Edit

Editオブジェクトは関数を持っておらず、バッファへの変更をまとめるために存在しています。 objects have no functions, they exist to group buffer modifications.

EditオブジェクトはTextCommandに引き渡されるオブジェクトであり、ユーザーが作成することはできません。無効な、もしくは別のviewからのEditオブジェクトが使用された場合、 その関数群は機能しなくなります。objects are passed to TextCommands, and are not user createable. Using an invalid Edit object, or an Edit object from a different view, will cause the functions that require them to fail.

Methods Return Value 説明
(no methods)

Class sublime.Window

使い方:

return_value = window.method_name(args)

id取得

Methods Return Value 説明
id() int windowの固有識別番号(id)を返します。

ファイル操作

ファイル作成

Methods Return Value 説明
new_file() View 新規ファイルを作成します。戻り値となるviewは何も設定されおらず、 is_loaded() メソッドはTrueを返します。

ファイルを開く

Methods Return Value 説明
open_file(file_name, <flags>) View 既存のファイルを開き、そのviewを返します。もし指定したファイルがすでに開かれていた場合、そのファイルのタブを表示します。

ファイルのロードは非同期で行われるため、戻り値であるviewに対する操作は、 is_loading() メソッドがFalseを返すようになるまで実行できません。

<flags>には以下のフラグが使用でき、論理和(orや+)を用いて複数適用することができます。

open_file() のフラグ

フラグ名 説明
sublime.ENCODED_POSITION file_name:row:row:colといった文字列を付加することで、ファイルを開いた際、当該行や当該位置にカーソルを移動させます。
sublime.TRANSIENT ファイルをプレビューの状態で開きます。この状態では内容に変更があるまでタブが割り当てられません。

すでに開いているファイルを検索

Methods Return Value 説明
find_open_file(file_name) View すでに開いているファイルの中からfile_nameと同じパスを持つファイルを探して、そのviewオブジェクトを返します。もしファイルが見つからない場合はNoneを返します。

viewの取得

現在のview

Methods Return Value 説明
active_view() View windowにおいて現在編集しているファイルのviewオブジェクトを返します。
active_view_in_group(group) View 引数に与えられたgroup(のindex)において現在編集しているファイルのviewオブジェクトを返します。

group(のindex)は0を基点としたint型の数値です。例えば、 GROUP 1 であればそのindex0 となり、 GROUP 2 であれば 1 となります。

複数のview

Methods Return Value 説明
views() [View] windowにおいて現在開いているすべてのファイルのviewをリスト形式で返します。
views_in_group(group) [View] 引数に与えられたgroup(のindex)において現在開いているすべてのファイルのviewをリスト形式で返します。

グループの取得

Methods Return Value 説明
num_groups() int windowで開いているグループの数を返します。
active_group() int windowで現在編集中のグループのindexを返します。

フォーカス

Methods Return Value 説明
focus_group(group) None 指定したグループをactiveにします。
focus_view(view) None 与えられたviewをactiveにします。

index操作

Methods Return Value 説明
get_view_index(view) (group, index) 引数に与えられたviewgroup(のindex)と、group内でのindex(タブを左から数えて何番目に当たるか)をタプル形式で返します。もしそのviewが見つからない場合は -1 を返します。
set_view_index(view, group, index) None viewをそのgroup内のindexに移動させます。groupにはグループのindexを与えます。

プロジェクト

フォルダのパスリスト取得

Methods Return Value 説明
folders() [String] windowにおいて開いている(サイドバーに表示されている)すべてのフォルダ(ディレクトリ)のパスをリスト形式で返します。

プロジェクトファイルのパス取得

Methods Return Value 説明
project_file_name() String もし現在プロジェクトを設定していれば、そのプロジェクトファイルのパスを返します。

プロジェクトの設定

Methods Return Value 説明
project_data() Dictionary windowにおいて使用しているプロジェクトのデータをdict形式で返します。返されるデータはsublime-projectファイルの中身とまったく同じ内容です。
set_project_data(data) None windowにおいて使用しているプロジェクトのデータを更新します。もしプロジェクトファイルを使用していれば、更新内容をそのプロジェクトファイルに保存し、使用していなければ内部に保存します。(注:セットするdatasublime-projectファイルとして扱えるよう

コマンド実行

Sublime Text内で使用可能なコマンドを実行するメソッドです。
コマンド名や引数の仕様については.sublime-keymapファイルや.sublime-menuファイルを参照のこと。

Methods Return Value 説明
run_command(string, <args>) None stringに与えられた名前のApplicationCommandを実行します。<args>が与えられれば、それらとともに実行されます。

Window.run_command メソッドはいかなる種類のコマンドも実行でき、インプットフォーカス経由でそのコマンドを割り当てます。Window.run_command is able to run both any sort of command, dispatching the command via input focus.

各種パネル

クイックパネル

Methods Return Value 説明
show_quick_panel(items, on_done, <flags>, <selected_index>, <on_highlight>) None 与えられたリスト(items)に対してファジーサーチを行うことの出来るクイックパネル(GotoAnythingなどに使われるパネル)を呼び出します。

パネル上でいずれかの要素を選択すると、選択した要素のindexを引数としてon_doneが実行され、パネルがキャンセルされた場合、on_doneには -1 が渡されます。

各引数はそれぞれ、以下のような値を渡すことができます。

show_quick_panel の引数

args 説明
items パネルに表示させたい文字列のリスト
on_done 選択後の処理を行うメソッド
<flags> 等幅フォントを使用するためのフラグ
<selected_index> 最初に選択される要素のindex
<on_highlight> 選択を変更するごとに実行されるメソッド

itemsにはネストしたリストも渡すことができます。例えば[[a1, a2]]というようなリストが渡された場合、一つの要素内にa1a2が別行で表示されます。

<flags>にはsublime.MONOSPACE_FONTの一種類のフラグのみ用いることができます。フラグの内容は本表下で説明します。

on_highlghtでは、選択を変更するごとに引数として与えたメソッドに選択した要素のindexを渡し、実行します。

show_quick_panel のフラグ

フラグ名 説明
sublime.MONOSPACE_FONT クイックパネルに表示されるフォントを等幅フォントにします。

インプットパネル

Methods Return Value 説明
show_input_panel(caption, initial_text, on_done, on_change, on_cancel) View ユーザーが文字列を入力することができるインプットパネルを表示します。

インプットパネルは文字列を入力し、enterを押すと、文字列がon_doneに渡され、メソッドが実行されるパネルです。戻り値として、インプットパネルのviewオブジェクトを返します。

各引数はそれぞれ、以下のような値を渡すことができます。

show_input_panel の引数

args 説明
caption パネル左端にてキャプションとなる文字列
initial_text パネル内に最初に表示させたい文字列
on_done enterを入力した後に実行されるメソッド
on_change 文字を入力するごとに実行されるメソッド
on_cancel パネルをキャンセルした際に実行されるメソッド

on_doneon_changeは引数として文字列を受け取るメソッドでなくてはならず、on_changeでは実行されるごとにインプットパネルに入力しているすべての文字列が引き渡されます。
on_cancelでは与えたメソッドは文字列を引数として受け取ることは出来ません。

アウトプットパネル

Methods Return Value 説明
create_output_panel(name) View nameによって名付けられたアウトプットパネルのviewオブジェクトを返します。

このメソッドで作成したviewではoutput.name(nameはこのメソッドに引数として渡した文字列)をその名前として使用することができます。

またこのメソッドだけではアウトプットパネルを表示しないので、パネルを表示するために show_panel コマンドを使わなくてはいけません。show_panel コマンドは上記のoutput.name使って、デフォルトのキーバインドを参考にして run_command すれば表示できます。

シンボル

Methods Return Value 説明
lookup_symbol_in_index(symbol) [Location] 現在のプロジェクト内の全ファイルにおけるすべてのsymbolの位置を返します。
lookup_symbol_in_open_files(symbol) [Location] 現在開いている全ファイルにおけるすべてのsymbolの位置を返します。

symbolにはクラス名やメソッド名などを文字列で与えることができます。

Class sublime.Settings

Methods Return Value 説明
get(name) value settingオブジェクトにセットしたnameの値を返します。
get(name, default) value settingオブジェクトにセットしたnameの値を返します。値が設定されていない場合はdefaultの値を返します。
set(name, value) None settingオブジェクトにnameに与えた名前をキーとしてvalueに与えた引数をセットします。valueにはintなどのプリミティブな型やリスト、辞書のみをセットできます。
erase(name) None nameの値を削除します。 Does not remove it from any parent Settings.
has(name) bool settignsオブジェクトにnameのキーが存在する場合、Trueを返します。Returns true if the named option exists in this set of Settings or one of its parents.
add_on_change(name, on_change) None nameの値が変更された際に呼び出されるコールバックメソッドを設定できます。
clear_on_change(name) None nameに関連付けられたコールバックメソッドをすべて消去します。

Class sublime_plugin.EventListener

これらのイベントの多くはviewオブジェクトに基づくバッファーによって引き起こされます。そしてそのメソッドは一度だけ呼び出され、パラメータとして現在使用中のviewが使われます。
Note that many of these events are triggered by the buffer underlying the view, and thus the method is only called once, with the first view as the parameter.
viewは新しく作成されたバッファのviewではなく、作成した時点で使用していたviewが用いられます。

Methods Return Value 説明
on_new(view) None 新しいバッファが作られたときに呼び出されます。
on_new_async(view) None 新しいバッファが作られたときに呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。
on_clone(view) None 現在使用中のviewが複製された際に呼び出されます。
on_clone_async(view) None 現在使用中のviewが複製された際に呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。
on_load(view) None ファイルのロードが終了した際に呼び出されます。
on_load_async(view) None ファイルのロードが終了した際に呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。
on_pre_close(view) None viewが閉じられる直前に呼び出されます。引数のviewには閉じられるファイルのviewオブジェクトが使われます。
on_close(view) None viewが閉じられた直後に呼び出されます。(note, there may still be other views into the same buffer).
on_pre_save(view) None viewが保存される直前に呼び出されます。
on_pre_save_async(view) None viewが保存される直前に呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。
on_post_save(view) None viewが保存された直後に呼び出されます。
on_post_save_async(view) None viewが保存された直後に呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。
on_modified(view) None 編集中のファイルに変更が加えられた直後呼び出されます。
on_modified_async(view) None 編集中のファイルに変更が加えられた直後呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。
on_selection_modified(view) None 選択部分を変更した直後に呼び出されます。
on_selection_modified_async(view) None 選択部分を変更した直後に呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。
on_activated(view) None viewにフォーカスした際に呼び出されます。
on_activated_async(view) None viewのフォーカスにした際に呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。
on_deactivated(view) None viewのフォーカスをはずした際に呼び出されます。
on_deactivated_async(view) None viewのフォーカスを切り替えた際に呼び出されます。このメソッドは別スレッドで起動し、Sublime Textの挙動を阻害しません。
on_text_command(view, command_name, args) (new_command_name, new_args) テキストコマンドが呼び出された際に呼び出されるメソッドです。このメソッドでは戻り値として(new_command_name, new_args)のタプルを設定することにより、実行されるコマンドの代わりに戻り値に設定したコマンドが実行されます。(注:何の条件も設定せずに戻り値を設定すると、すべてのコマンドの代わりに戻り値に設定したコマンドが実行されてしまうため大変危険です!)
on_window_command(window, command_name, args) (new_command_name, new_args) ウィンドウコマンドが呼び出された際に呼び出されるメソッドです。このメソッドでは戻り値として(new_command_name, new_args)のタプルを設定することにより、実行されるコマンドの代わりに戻り値に設定したコマンドが実行されます。(注:何の条件も設定せずに戻り値を設定すると、すべてのコマンドの代わりに戻り値に設定したコマンドが実行されてしまうため大変危険です!)
post_text_command(view, command_name, args) None Called after a text command has been executed.
post_window_command(window, command_name, args) None Called after a window command has been executed.
on_query_context(view, key, operator, operand, match_all) bool or None context keyとして与えられたkeyを設定したキーバインドが使われた際に呼び出されます。もしプラグイン上でその状況にどのように反応するかが設定されていた場合、TrueFalseを返します。その状況が不明な場合、Noneを返します。設定可能なoperatorを表の下に示します。

on_query_contextoperator

operator 説明
sublime.OP_EQUAL. keyの値がオペランドと等しいかどうかを評価するためのoperatorです。
sublime.OP_NOT_EQUAL. keyの値がオペランドと等しくないかどうかを評価するためのoperatorです。
sublime.OP_REGEX_MATCH. keyの値がオペランドに設定した正規表現と等しいかどうかを評価するためのoperatorです。
sublime.OP_NOT_REGEX_MATCH. keyの値がオペランドに設定した正規表現にマッチしないないかどうかを評価するためのoperatorです。
sublime.OP_REGEX_CONTAINS. keyの値にオペランドに設定した正規表現が含まれるかどうかを評価するためのoperatorです。
sublime.OP_NOT_REGEX_CONTAINS. keyの値にオペランドに設定した正規表現が含まれないことを評価するためのoperatorです。

match_allは、もし範囲選択をcontextとするのであれば、用いられるべきです。:すべての選択部分とマッチするかどうかを評価する場合は'match_all':trueを、少なくとも一つがマッチすればいよい場合は'match_all':falseを使用してください。

Class sublime_plugin.ApplicationCommand

Methods Return Value 説明
run(<args>) None コマンドを走らせる際に呼ばれるメソッドです。
is_enabled(<args>) bool コマンドがその時点で利用可能な場合にTrueを返します。デフォルトの実装では常にTrueを返します。
is_visible(<args>) bool コマンドがその時点でメニューに表示可能な場合にTrueを返します。デフォルトの実装では常にTrueを返します。
is_checked(<args>) bool メニューバーで使われるようなチェックボックスが使用される場合にTrueを返します。.sublime-menuファイルではこの設定を有効にするために、checkbox属性を記述する必要があります。
description(<args>) String 引数に与えたコマンドの説明を返します。メニューに使われていた場合はキャプションを返します。デフォルトではNoneが返されます。

Class sublime_plugin.WindowCommand

WindowCommandsはウィンドウごとに一つのインスタンスを作成します。Windowオブジェクトはself.windowにより取得できます。

Methods Return Value 説明
run(<args>) None コマンドを走らせる際に呼ばれるメソッドです。
is_enabled(<args>) bool コマンドがその時点で利用可能な場合にTrueを返します。デフォルトの実装では常にTrueを返します。
is_visible(<args>) bool コマンドがその時点でメニューに表示可能な場合にTrueを返します。デフォルトの実装では常にTrueを返します。
description(<args>) String 引数に与えたコマンドの説明を返します。メニューに使われていた場合はキャプションを返します。デフォルトではNoneが返されます。

Class sublime_plugin.TextCommand

TextCommandsviewごとに一つのインスタンスを作成します。viewオブジェクトはself.viewにより取得できます。

Methods Return Value 説明
run(edit, <args>) None コマンドを走らせる際に呼ばれるメソッドです。
is_enabled(<args>) bool コマンドがその時点で利用可能な場合にTrueを返します。デフォルトの実装では常にTrueを返します。
is_visible(<args>) bool コマンドがその時点でメニューに表示可能な場合にTrueを返します。デフォルトの実装では常にTrueを返します。
description(<args>) String 引数に与えたコマンドの説明を返します。メニューに使われていた場合はキャプションを返します。デフォルトではNoneが返されます。
42
36
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
36