差分表示

  • 最後の更新で追加された行はこのように表示します。
  • 最後の更新で削除された行はこのように表示します。

*ハック
-ジャンプテーブル
--クラス名 → ファイル・行番号 のリストを適当なファイルに書いておく
--そこをインクリメンタルサーチ、ジャンプ
--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]]