Vim Rubyデバッガー

最近まで、私はNetbeansでRubyコードを書きました。 物事はクールで非常に快適ですが、私は長い間Vimを見ていました。それは痛々しいほど強力なテキストエディターであり、Beanは夢にも思いませんでした。 何回か切り替えようとしましたが、コードで何らかのギャグに遭遇するとすぐに、Vimを閉じ、Netbeansを開き、ブレークポイントを設定して、何が間違っているのかを見つけ始めました。 一般的に、私はデバッガーに慣れています。

しばらく苦労した後、VimでRubyデバッガーを作成するというアイデアが生まれました。 彼はコードrails.vim、NERDTree.vimを開き、VimScriptを学び始めました。 レッスンをしてくれたtpopeとMarty Grenfellに感謝します(おそらく彼らは決してそれを読んだり、学ぶことはないでしょう)。 プラグインはgithubで見ることができます。

プラグインでできること


1. ruby-debug-ide gemを使用して、Rubyスクリプトをデバッグします。
2.ブレークポイントの設定/削除、変数の監視、コードの移動。
3.コマンドを手動で入力します。 例:RdbCommand p Post.allは、Postモデルのすべてのエントリを表示します。

必要なもの


正しく動作するために、プラグインには以下が必要です。
  1. Vimバージョン> = 7.0、 +記号+ clientserverオプションを使用してコンパイル。 これは次の方法で確認できます。


    :echo has("signs") && has("clientserver") && v:version >= 700

    結果は= 1でなければなりません
  2. インストールされたgem ruby​​-debug-ide
  3. Linuxを使用している場合は、 lsofをインストールする必要があります

設置

  1. リポジトリのクローンを作成します。

    git clone git://github.com/astashov/vim-ruby-debugger.git

  2. 結果から、必要なのはvimフォルダーのみで、残りは開発専用です。 vimの内容を〜/ .vim /(またはWindowsの場合はvimfiles)にコピーします。

    その結果、3つのファイルを取得する必要があります。
    • plugin / ruby​​_debugger.vim-プラグイン自体
    • doc / ruby​​_debugger-ドキュメント
    • bin / ruby​​_debugger.rbは、Vimとruby-debug-ide gemの間の中間Rubyスクリプトです。 それらの間のすべてのコミュニケーションは彼を通して行われます。

  3. 次に、Vimを実行して実行します



    :helptags ~/.vim/doc

    プラグインのドキュメントをインストールします。 コマンドで読むことができます

    :help ruby-debugger

インストールが完了しました!

使用する

  1. Vimを起動します。 gvimを使用する場合、Vimサーバーが自動的に起動します。vimの場合、servernameオプションを使用して起動する必要があります:vim --servername VIM
  2. たとえば、ある鉄道プロジェクトに行きます。
  3. デバッガーコマンドでサーバーを起動します

    :Rdebugger

    (デフォルトでは、スクリプト/サーバーwebrickを実行します。別のスクリプトをデバッグする必要がある場合は、次を実行できます。

    :Rdebugger foo.rb

  4. ブレークポイントをどこかに設定します(デフォルトでは<Leader> bコマンドで、ほとんどの場合は\ bです)。
  5. ブラウザのブレークポイントでページを開きます。 Vimは、ブレークポイントがトリガーされた行に自動的にジャンプします。
  6. 次に、変数を見て、一般的にコードを見て回ります-楽しんでください! :)

チーム


デフォルトでは(もちろん、.vimrcでそれらをオーバーライドできます)、次の略語が適用されます。

それらをオーバーライドする方法については、 ruby-debugger-detailsを参照してください。

バグに遭遇した場合、または新しいクールな機能を思いついた場合


その後、Githubの問題のレポートに大いに感謝します。 anton / sbk / astashov.netに書き込むこともできますが、Issuesのレポートの方が優れています。 :)プラグインはほとんどすべてのアクションを〜/ .vim / tmp / ruby​​_debugger_logファイルに記録するため、このファイルの内容をバグに添付することをお勧めします。

LinuxとWindowsでパフォーマンスをテストしました。 Linuxでは、プラグインはより良く機能します。Windowsでは、バックグラウンドでプロセスを開始する方法がまだわかりません。そのため、サーバーと中間のrubyスクリプトでウィンドウがちらつきます。 持っていないので、MacOでチェックしませんでした。

そして最後に、プラグインのスクリーンショット:
スクリーンショットVim Ruby Debugger

Source: https://habr.com/ru/post/J59731/


All Articles