人気のあるSublime Text 2エディターに誰もが慣れ親しんでいることを願っています。リクエストを選択して組み合わせを押すだけで、BD Oracleでクエリをエディターから直接すばやく呼び出すためのプラグインを作成することで、私の生活を楽にする方法についての経験を共有したいと思います。
Sublime Textには、スピード、使いやすさ、クロスプラットフォームで人気のある、いわゆる拡張機能が豊富にあります。 すべての味と色のパッケージとプラグイン。 しかし、SQLクエリを呼び出すためのプラグインは見つかりませんでした(間違っている場合は、共有していただければ幸いです)。 まあまあ、いいえ-問題ありません、あなた自身で書きます。
ドキュメントを読んで、いくつかの
例を見てから始め
ましょう 。
プラグインは非常に簡単に機能します。リクエストを選択し、組み合わせを押すと、結果が新しいウィンドウに表示されます。
まず、新しいプラグインを作成しますツール->新しいプラグイン
import sublime, sublime_plugin class ExampleCommand(sublime_plugin.TextCommand): def run(self, edit): self.view.insert(edit, 0, "Hello, World!")
すぐにOquery.pyという名前で名前を付けて保存しますが、SublimeはUserフォルダーに保存するように提供していますが、OqueryフォルダーのPackagesフォルダーに1レベル上位に保存します。
ベースと通信するには、
cx_Oracleクラスが必要です。 ダウンロードしてOQueryフォルダーに戻り、その中にlibフォルダーを作成します。このフォルダーに必要なライブラリーを格納します。 その中に、ダウンロードしたアーカイブをcx_Oracleフォルダーに保存します。
リクエストレスポンスを素敵なテーブルの形式で提供したいのですが、このためにすでに適した
プラグインがあります。 同じことを行います。フォルダをダウンロードして解凍し、prettytableに名前を変更します。
データベース設定を保存するには、Oquery.sublime-settigs構成ファイルが必要です。 それを作成し、プラグインのルートフォルダーにコンテンツと共に保存します(例):
{ "host" : "localhost", "port" : 1521, "dbname" : "demoDB", "username" : "user1", "password" : "pass" }
これで、プラグイン自体を作成することになりました。
ファイルの先頭で、エンコードを宣言し、データベース自体へのコネクタや出力プレートのライブラリなど、必要なモジュールをインポートします
行
sys.path.append(os.path.join(os.path.dirname(__file__), "lib","cx_Oracle")) sys.path.append(os.path.join(os.path.dirname(__file__), "lib","prettytable"))
ライブラリを探す場所を崇高に伝えます。 プリティテーブルSublimeを接続するとき、私はunicodedataモジュールが存在しないことを誓いましたが、Sublimeには非常にunicodedataモジュールの場所がわからないというバグがあるため、単純にインポートしてもエラーは解消されませんでした。 あまりグーグルではない、私は行を追加することで解決策を見つけた
sys.path.append(os.path.dirname(sys.executable))
そして、問題は解決されています。
チーム自体に到達する
class OqueryCommand(sublime_plugin.TextCommand): def run(self, edit):
以上です。 しかし、チームに挑戦するための組み合わせを宣言する必要もあります。 これは非常に簡単に設定->キーバインディングユーザーで行われます。 そして、それに1行を追加します
[ { "keys": ["ctrl+o", "ctrl+r"], "command": "oquery" } ]
プラグインは(ctrl + o)+ rの組み合わせで機能します。 別のものを選択できます。
これですべてのリクエストが選択され、ボタンを押すだけで新しいウィンドウに回答が表示されます。 それは素晴らしいことではありませんか?
必要に応じて、他のデータベースにすべてをやり直すことができます。
だれに怠iness、私は
アーカイブを同封し
ます