前回はsublime text 3のカスタムプラグインの手順を書きましたが、あくまで入り口と言えるだけで実用的な機能はあまりありません。今回は使い方を紹介します。これは、最近の作業のニーズに基づいています。php コード書式設定ツール php cs fixer は、sublimetext 3 に統合されており、php コードを書式設定するためのプラグインとして機能します。
まず、次のことを行う必要があります。 install php cs fixer、download php-cs-fixer.phar
wget http://get.sensiolabs.org/php-cs-fixer.phar -O php-cs-fixersudo mv php-cs-fixer.phar /usr/local/bin/phpcssudo chmod +x /usr/local/bin/phpcs
次に、インストールが成功したかどうかを確認します:
phpcs
表示:
Usage: help [options] [--] []
は何でもOKです
このプラグインの目標について話しましょう:
ファイルを保存するときに php ファイルを自動的にフォーマットします
php ファイルをフォーマットするためのキーの組み合わせ
まず、崇高なコマンドが必要です。
class MikeCommand(sublime_plugin.TextCommand): def run(self, edit):
run メソッドでは、 phpcs コマンドを呼び出して php ファイルをフォーマットします
class MikeCommand(sublime_plugin.TextCommand): def run(self, edit): view = self.view; fileName = view.file_name(); suffix = os.path.splitext(fileName)[1][1:] if suffix == 'php': fix(fileName)def fix(phpFile): if not os.path.exists(phpFile): return; command = 'phpcs fix ' + phpFile; os.system(command);
キーマップ内でキーの組み合わせがファイル内で設定されているためです:
[ { "keys": [ "ctrl+alt+k" ], "command": "mike" }]
したがって、ctrl+alt+k を使用すると、コードは自動的に
をフォーマットします。それでは、自動保存中に対応するコマンドを実行するにはどうすればよいでしょうか? Sublime text 3 API は EventListener を提供するので、sublime_plugin.EventListener から継承するクラスを定義し、対応するイベントをリッスンします。 🎜>
class AutoAlign(sublime_plugin.EventListener): def on_post_save(self, view): fileName = view.file_name(); suffix = os.path.splitext(fileName)[1][1:] if suffix == 'php': fix(fileName)
$value) { $ids = explode(',', $value); asort($ids); $fullPermutation[$key] = md5(implode(',', $ids)); } return $fullPermutation;}
$value) { $ids = explode(',', $value); asort($ids); $fullPermutation[$key] = md5(implode(',', $ids)); } return $fullPermutation;}
class HandlerThread(threading.Thread): def __init__(self, view): self.view = view threading.Thread.__init__(self) def run(self): fileName = self.view.file_name(); suffix = os.path.splitext(fileName)[1][1:] if suffix == 'php': fix(fileName)
class AutoAlign(sublime_plugin.EventListener): def on_post_save(self, view): thread = HandlerThread(view) thread.start()
import osimport os.pathimport threading
開発者によって最もよく使用されている 7 つの Sublime text 3 プラグイン