変数名や式とその値を、整形・構文ハイライト付きで表示するPythonデバッグヘルパー。ic()でprint()を置き換えられます。
ryboe/q
Goのデバッグ用ヘルパー。q.Q(vars)で整形した出力を、標準出力ではなく$TMPDIR内のログファイルに書き込みます。
- スター
- 1,542
- フォーク
- 69
- 未解決の Issue
- 2
- 最終コミット
- 13 日前
これは何?
qは、print文によるデバッグに使える小さなGoパッケージです。変数や式をq.Qに渡すと、読みやすく整形して出力します。ネストしたstructもfmt.Printfより確認しやすくなります。
出力先は標準出力ではなく、$TMPDIR/qファイルです。作業中は専用のターミナルでこのファイルをtailする方法が紹介されており、tailの開始やログの消去に使えるシェル関数(qqとrmqq)も用意されています。q.Qの呼び出しは並行利用しても安全です。
VS Code、Zed、Sublime Text、GoLand、Emacs、Vim/NeoVim向けのエディタスニペットが含まれており、q.Qの呼び出しをすばやく挿入できます。このパッケージは、zestypingによるPythonのqモジュールをGoに移植したものです。
主な機能
- 01q.Qに渡した変数や式を整形して出力します。
- 02標準出力ではなく$TMPDIR/qに出力を書き込みます。
- 03シェルヘルパーのqqとrmqqでログファイルのtailや消去ができます。
- 04並行利用しても安全です。
- 05VS Code、Zed、Sublime Text、GoLand、Emacs、Vim向けのエディタスニペットが含まれています。
ユースケース
- Goのデバッグ中に、変数の値やネストしたstructを手早く確認する。
- 実行中のプログラムの標準出力を散らかさずに、プログラムの状態を追跡する。
クイックスタート
- 1
リポジトリをGOPATHにクローンします
git clone https://github.com/ryboe/q "$(go env GOPATH)"/src/q - 2
パッケージをインポートし、コード内で変数を指定してq.Qを呼び出します
使う前に知っておきたいこと
- 出力はログファイルに書き込まれるため、確認するには別のターミナルで$TMPDIR/qを監視する必要があります。
収録されている特集
トピック
よくある質問
- q とは?
- Goのデバッグ用ヘルパー。q.Q(vars)で整形した出力を、標準出力ではなく$TMPDIR内のログファイルに書き込みます。 qは、print文によるデバッグに使える小さなGoパッケージです。変数や式をq.Qに渡すと、読みやすく整形して出力します。ネストしたstructもfmt.Printfより確認しやすくなります。
- q は無料で使えますか?ライセンスは?
- q は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- q は今もメンテナンスされていますか?
- 活発にメンテナンス中。q の最終コミットは 2026年10月25日 です。
- q は何に使えますか?
- Goのデバッグ中に、変数の値やネストしたstructを手早く確認する。 実行中のプログラムの標準出力を散らかさずに、プログラムの状態を追跡する。
- q のインストール方法は?
- リポジトリをGOPATHにクローンします: git clone https://github.com/ryboe/q "$(go env GOPATH)"/src/q パッケージをインポートし、コード内で変数を指定してq.Qを呼び出します
- q はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/ryboe/q
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
使いやすさと起動のしやすさを重視し、邪魔にならないよう設計されたGo言語用デバッガーです。
標準のlogging設定を単一のloggerに置き換え、ファイルのローテーション、カラー出力、構造化ログを提供するPythonロギングライブラリ。
DEBUG環境変数で有効化でき、Node.jsとWebブラウザーで名前空間付きのデバッグ出力を行う、小さなJavaScriptユーティリティです。
関数呼び出しを記録し、コードの実行をインタラクティブなタイムラインで可視化する、低オーバーヘッドのPythonトレーサーです。