はじめまして。
ちょっとよさげなマクロができたので投稿します。
JavaDocのようなコメントを生成します。
PHPやJavaScriptなど、関数宣言に型を使わない言語専用です。
(Javaはだめ)
関数・クラス・変数・ファイルヘッダ対応のつもり。
あえてJSぽく書いてみました。
# Wikiに投稿したかったけどできなかったのでこちらへ。
# 長くてすみませんが前・後編で。
-----------------------------
/**
* サクラエディタマクロ
* PHP・JS向けxDoc風コメント作成
* @author てふてふさん
* @license
http://www.opensource.org/licenses/gpl-license.php GPL
* @version 1.0
* @link
* @since sakura:1.5.5.0
* @see 似たようなのがあったので参考にしました
* @see → doxgen用のコメントを付加
* @see
http://sakura.qp.land.to/?Macro%2F%C5%EA%B9%C6%2F100 *
* 起動方法:対象となる function や class 行の上でマクロ起動。
* 種別 :JScript
*/
// 改行コードの取得
var cr = ["\x0d\x0a", "\x0a", "\x0a"][Editor.GetLineCode()];
d("cr:「" + cr + "」");
/**
* デバッグ出力
* @param s 文字列
*/
function d(s) {
// Editor.AddTail(s + cr);
}
/**
* オブジェクトの要素表示(デバッグ)
* @param o オブジェクト
*/
function inspect(o) {
var s = "";
for (key in o) {
s += key + " => " + o[key].toString() + cr;
}
d(s);
}
/**
* スクリプト離脱
* @throw number=0の例外オブジェクト
* @param s メッセージ
*/
function exit(s) {
throw {number: 0, message: s};
}
/**
* ファイルヘッダを出力する
*/
function fileHeader() {
out.put("/**" + cr);
out.put(" * " + cr);
// 以下、不要なものはコメントアウトしてください。
out.put(" * @package " + cr);
out.put(" * @author " + cr);
out.put(" * @copyright " + cr);
out.put(" * @license " + cr);
out.put(" * @version " + cr);
out.put(" * @filesource " + cr);
out.put(" * @link " + cr);
out.put(" * @see " + cr);
out.put(" * @since " + cr);
out.put(" */" + cr);
out.flush();
up(out.line - 1);
Editor.GoLineEnd();
exit("ファイルヘッダ出力");
}
/**
* カーソルを上に移動
* @return
* @param n 移動回数
*/
function up(n) {
if (n > 0) {
for (var i = 0; i < n; i++) {
Editor.Up();
}
} else if (n < 0) {
for (var i = 0; i > n; i--) {
Editor.Down();
}
}
}