Hatena::ブログ(Diary)

日記

2013-01-28

Sublime Text Tips 2. コンソールで使用できる変数

Sublime Text 2はPython処理系を内蔵しており、シェルpythonを起動したときのインタラクティブシェルのような、対話的な実行環境が利用できます。

コンソールを表示するには、メニューから View→Show Console を選択します。

コンソールではあらかじめ幾つかのモジュールインポートされていたり、グローバル変数が設定されています。

使える物の一覧は、「globals().keys()」で表示できます。コンソールで入力してみると、以下のように表示されます。

>>> globals().keys()
['zipimport', '__builtins__', '__package__', 'sys', 'window', 'sublimelog', 'uzipimporter', 'LogWriter', '__name__', 'os', '__doc__', 'sublime', 'view']

つまり、あらかじめ以下のようにインポートされた状態になっています。

import zipimport
import os
import sys
import sublime
import sublimelog  # 詳細不明

また、viewとwindow変数が利用できます。viewは sublime.View クラス、 windowは sublime.Window クラスのインスタンスです。これらのクラスの詳細は API Reference - Sublime Text 2 Documentation を参照してください。

uzipimporterとLogWriterはよくわかりません。

viewとwindowには現在のビュー(タブ)とウィンドウに対応するインスタンスが設定されていて、ビューやウィンドウを切り替えると、この変数の内容も変わります。

特に重要なのはview変数です。Sublime Text 2のプラグイン作成では sublime.View クラスを使用して、カーソル位置を変更したり、テキスト内容を変更したりします。view変数が使えるため、実行しようとしているコード片をコンソールで気軽に実行することができます。

例えば、view.sel() は現在のカーソル位置、選択位置を返します。カーソルを移動してからコンソールに移って view.sel() を実行してみてください。カーソル位置により結果が変わってくることがわかると思います。カーソル位置は、簡単に言うとファイルの先頭からの文字数で表わされるんですが、詳細はまた別の記事で書こうと思います。

コンソールはSublime Text 2のプラグイン作成に大いに役立ちます。ぜひ活用してください。

トラックバック - http://d.hatena.ne.jp/chikatoike/20130128/1359341257
Connection: close