シンプルなSublime Text 2プラグインの作成

はじめに


奇妙なことですが、Habréでテキス​​トエディターSublime Text 2の言及を検索したところ、ほとんど何も見つかりませんでした。 私は状況を直し、この美しいツールについてhabrausersに伝えようとしました。 最初に、なぜ彼がそんなに優れているのかを簡単に説明し、次にシンプルだが便利なプラグインを作成します。



Sublime Text 2を選ぶ理由


Sublime Text 2が最高のテキストエディターであると言うふりをすることはできませんが、私は非常に気に入ったので、その理由は次のとおりです。



問題の声明


エンジニアリングの実践からの実例。 テキスト内の選択された数値の10進数から16進数への変換。 この機能は、キーボードショートカットCtrl + Shift + Hと同様に、メインメニューとコンテキストメニューからアクセスできる必要があります。 実行結果:数字と大文字を使用して記述された16進数の数字。「0x」などの先頭文字はありません。 選択したテキストが数字ではない場合、ステータスバーでこれを誓います。 この例は、詳細が失われないように意図的に最大限に単純化されているという事実に注目してください。Sublimeのプラグイン作成のシンプルさです。



プラグインを書く


[ ツール]-> [新しいプラグイン]をクリックして、ワークを確認します。 クラスの名前を変更し、runメソッドに関数を記述します。 私は次のものを手に入れました:

import sublime, sublime_plugin class DecToHexCommand(sublime_plugin.TextCommand): MAX_STR_LEN = 10 def run(self, edit): v = self.view #      dec = v.substr(v.sel()[0]) #          if dec.isdigit(): v.replace(edit, v.sel()[0], hex(int(dec))[2:].upper()) else: #    ,      if len(dec) > self.MAX_STR_LEN: logMsg = dec[0:self.MAX_STR_LEN]+ "..." else: logMsg = dec sublime.status_message("\"" + logMsg + "\" isn't a decimal number!")
      
      





dec_to_hex.pyという名前のエディターが提案する場所に保存します



メニュー項目を追加します。 キーボードショートカットを規定する


ホットキーから始めましょう。 メニューで、[ 設定]-> [キーの割り当て]-[ユーザー ]をクリックします。 JSON形式の設定を持つファイルが開きます。 ほとんどの場合空です。 行を追加します

  { "keys": ["ctrl+shift+h"], "command": "dec_to_hex" }
      
      





保存します。 それだけです 原則として、すでに使用できます。 うまくいかない場合は、このテーマのコンソールに書かれている内容を確認する必要があります(Ctrl + `)。

コンテキストメニューにアイテムを追加するには、次の内容のContext.sublime-menuファイル作成します



 [ { "command": "dec_to_hex" } ]
      
      







前のケースのように、コメントなしですべてが明確だと思います。 プラグインが保存されたのと同じディレクトリに保存します。 つまり %USERPROFILE%\ AppData \ Roaming \ Sublime Text 2 \ Packages \ User 、Windowsユーザー用。 同じ場所で、 Main.sublime-menuファイルを作成します。 この項目は[編集]メニューで最も適切だと思ったので、Main.sublime-menuファイルに次のように書きました。

 [ { "id": "edit", "children": [ { "command": "dec_to_hex" } ] } ]
      
      





チェックします。 メインメニューとコンテキストメニューに、 Dec To Hexという名前で表示されます。



それだけです プラグインをパッケージにパックして友人と共有する方法、およびトピックが誰にとっても興味深いものである場合は、次回Sublimeのその他の興味深い機能について説明します。



参照:






UPD:開発ビルドとライセンスのコストについて書きました。 Sky4egVCodervtxのおかげで



All Articles