差分表示
- 最後の更新で追加された行はこのように表示します。
- 最後の更新で削除された行は
このように表示します。
*ハック
-ジャンプテーブル
--クラス名 → ファイル・行番号 のリストを適当なファイルに書いておく
--そこをインクリメンタルサーチ、ジャンプ
--TAGSを適当に変換してリストを作れるとなおよし
*本体不満点
-新規作成時の文字コードの指定ができない
--いつもUTF-8でいいし、パッチ当ててみるか
-タグジャンプ改良
--ウィンドウサイズと列幅の変更・保存
--ファイル名簡易表示の適用
-スマートインデント
--namespaceはインデントしない、がうまくできない
-ドキュメントを閉じた後も、そのドキュメントのディレクトリをロックしたままになる
-ルートディレクトリにあるファイルのみ、タイトルバーの左端のアイコンのドラッグができない
-ファイル名のbasename、親ディレクトリの名前も、補完候補の単語に入れてほしい
--プラグイン実装されたし、作れるね
-キャメルケース補完
--State mState を、mS -> Ctrl+Space で補完できるように
*やりたいこと列挙
-gatesSpacing.js
--英単語の前後にスペースを挿入するマクロ
-[[サクラエディタ/delimAlign.js]]
--Wikiの | 区切りのテーブルを綺麗にalign
-httpget.js
--このURLのスタイルシートをサクラで開きたい!ってあるよね
-cppimpl.js
--クリップボードの中の関数プロトタイプを解析して、
---; を \n{\n}\nに変換
---クラス名(ファイル名から引く):: を付加
---virtual, override, finalを除去
---=0 を除去
---デフォルト引数を削除
---using namespaceされてたらネームスペース部分を削除
---で、カーソル位置に貼り付け
--応用: コンストラクタの場合はメンバ初期化子も追加
---これ単独で実装してもいいかも
--応用: 前後の関数の名前から、定義を挿入する位置を求めて、cppのその位置まで移動して貼り付け
-svnlog.js
-svnblame.js
--文字通り。結果をアウトプットウィンドウに出力する
--TortoiseSVNを起動するようにしてもいいかも
-svndiff.js
--TortoiseMergeを起動するようにすると汎用的か
-へぼCodeSnippet
--カーソル左の単語を事前登録した文字列に変換する
--適当に推論すると面白そう
---ctor -> ファイル名からクラス名を求める・対応する.hから変数名を拾って初期化子も生成
---iter -> ::iterator it = begin(); for(;it!=end();++it) に展開
---iter2 -> その関数の引数やローカル変数にvector, listなどがあればそれをforで回す
---switch -> 選択範囲がenumメンバ変数なら、.hから列挙リストを拾ってcaseを生成
---bind -> bind(&class::func, _1)
---一部cppimpl.jsとかぶるのが難点
--ローテクに、ダイアログ出して変数名聞いてもいいかも
---入力内容に応じてプレビューが出るとかっこいいね
---そこまでするなら、VSの本物のXMLを読めるようにする?
--コマンド→推論エンジンへのマッピングは onelinememo.js が参考になる
-「競合の解決」
--C#のアレ
--カレントディレクトリとカーソル位置のクラス名から#includeを追加する
--FQDNで書いてあればパスも補完する。クラス名単体ならカレントディレクトリを推論する
-using namespace
--現在行の#includeのパスから、using namespaceを生成して貼り付ける
-sakura上でコンパイル
--カレントディレクトリでme/megを実行
--エラーが出た場合に、その行にジャンプするマクロも用意する
-開いてるファイルをインクリメンタルサーチ
++(無題)を開く
++開いてるファイルパスの一覧をバッファに書き込む
++インクリメンタルサーチを起動する
--というマクロ。あとはサーチして、Ctrl+Tでジャンプ
-カレントディレクトリを開く
-編集中のファイルの右クリックメニューを表示する
-カーソル位置の単語 or 選択範囲でハイライトする
--検索だとカーソルが動いちゃうけど、ハイライトだけできるかな
-複数のディレクトリをまとめてGrepする
--includeとsourceとか
--単に2回Grepして、結果が1つのバッファに出るだけなら楽そう
-CamelCaseLeft/Right
--CodeRushのアレ
-カーソル行をウィンドウの上の方へ
--関数にタグジャンプ後に押す
--上10行くらい残すと、コメントが読みやすそう
-インデントのスペース数が2or4の倍数じゃないときに色が変わる正規表現キーワード
*マクロ開発メモ
ActivePerlのバグ対策
JISで書いてuse encoding '7bit-jis';がよさげやね
残念ながら、encoding.pmは入れないといけないみたいだけど…
http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?log=macro&tree=c362
[[JScriptで書くならこっち>JScript]]