私が探しているものは、次のように簡単に言えます。
ドキュメントで使用するためにCソースコードコメントの形式を(少なくとも部分的に)自動的に指定できる既存のツール/方法はありますか?
私は主にCコメントを処理することに興味がありますが、言語に依存しないツールがあればいいでしょう。
vim
私はIDE、主にSciteやGeanyなどのGUIテキストエディタ(残念ながら見つけるのは難しいです)を使用しないことに注意してください。emacs
そのため、スタンドアロンのコマンドラインツール(またはむしろPythonライブラリ)を探しています。すべての重いタスクを実行し、非常に単純な実行可能スクリプトがコマンドラインツールとして機能することを許可します。あるいは、GUIテキストエディタ(または比較的単純なGUIテキストエディタ)に対してこれらのフォーマットを指定できるプラグインです。
いくつかの例を挙げてみましょう。
理想的には、これがテキストエディタで次のモードになることを願っています。複数行のC/* ... */
コメントにある場合、入力すると行が希望の幅(80文字)に切り捨てられ、新しい行コメントの先頭に自動的に追加されます*
。
Ssiteには次のものがあります。http://lua-users.org/wiki/SciteLineBreak拡張機能は次のように動作します(フルサイズアニメーションgifを見るにはクリックしてください):
したがって、「new」と入力した場合にのみ機能します。カーソルの前にテキストがある場合は、実際に改行を決定することはできません。だから投稿は:
...テキストを入力するときは改行文字を挿入しますが、バックスペースキーを押すかコピー/貼り付けするときは挿入しません。
...明らかにC複数行のコメントが何であるかを知りません/* ... */
。
したがって、「ライブ」や「複数行のコメントを認識する」などのGUIテキストエディタ機能は、*
行の先頭に挿入/削除でき、コピー/貼り付け、バックスペース、カーソルの前のテキストを処理できます。本当に良いです。このように動作するものはありますか?
一方、コマンドラインツールがテキスト入力を受け取り、書式設定されたテキスト出力を返す「コマンドライン」タイプの対話があります。 Sciteなどのテキストエディタでは、入力を選択したテキストでこのツールを呼び出し、テキスト選択を出力に置き換えるLuaスクリプトプラグインを簡単に作成できます。
Windows/Visual Studio の世界には、次の有料プラグインがあります。Visual Studio 用 Atomineer Pro ドキュメント(発見を通じてdoxygenコードコメントを書くための最良のツールや技術は何ですか - ThinbugCTRL)、キーボードショートカット++を押した後、関数SHIFT署名に基づいて文書コメントフレームワークを作成できますD。
コマンドラインツールの機能と同様に、テキスト行を関数署名として受け入れ、文書のスケルトンを作成できます。強力な酸素(またはドキュメントのコメントと関数の署名を含むテキストが提供されている場合は、コメントに既存のテキストを保持し、関数の署名の新しいパラメータを挿入してください)。似たようなものはありますか?私はこのようなものを見つけるのに苦労しています。おそらく簡単ではないからです。ツールは「複数行のコメント認識」だけでなく、「プログラミング言語認識」も可能でなければなりません。
私はそのようなコマンドラインツールの1つの可能性がソースコード「きれいな印刷」フォーマッタであると思いましたが、アスタイル)私が知っている限り、以前は一般的にコメントを残しました。しかし、同様のアイデアを議論するこのフォーマッタを見つけました。コメント パッケージング · 問題 #265 · もっときれい/もっときれい- しかし、まだ実装されていないようです。 Atom Text Editorプラグインのデモスクリーンショットがあります(フルサイズアニメーションgifを見るにはクリックしてください)。
私が知っている限り、これは改行して書式が消えたら、コメントテキストを置き換えるためにプラグインが呼び出されます。プラグインは、ブロックを形成する複数の1行コメントも認識できます。
だから私のオプションの1つはAtomを使うことです。JavaScript コメントの書式設定C注釈形式を指定するためのプラグイン。ただし、Atomを使ってみたところやや圧倒的でした(ほぼIDEのように感じられる)。これが私がスタンドアロンのコマンドラインツールでプラグイン機能を使用することを好む理由です。
それでは、文書フレームを生成できない場合でもテキスト入力を許可するコマンドラインツールはありますか?複数の1行コメントブロックまたは複数行コメントブロックを認識し、文字の幅に合わせてフォーマットし(コメントの既存のインデント処理方法をカスタマイズできます)、新しくフォーマットされたテキストを出力しますか?