差分表示

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

#contents
-[[something.cs/実装]]

*設定ファイル改良
-基本書式
--人手で書くの面倒。YAMLにしよう
--XMLだとしても、配列のインデックスはナシ

-検索対象
--下のように、プラグイン名とそのオプションの形にまとめる。拡張を容易に
 source:
   dir:
     path: c:\app
     exts:
       - cpp
       - hpp
   wiki:
     url: http://〜
   sakura_editor:
     ini_path: c:\app〜

-ファイルの開き方
--[ エディタ, 対象拡張子 ]の配列で設定
--上から順に見ていき、当てはまるところで実行
--関連づけで開くのは、予約名(タグ)で実現
---関連づけがなかったら次のエディタへ進む
--一番最後に、全拡張子が対象の設定を置いてフェイルセーフ

-拡張子の設定方法の統一
--エディタ・検索パスなどで統一感がないとアレげ
--含める・含めないを両方書けるように
--どちらにもワイルドカードが使える

-サブディレクトリを見に行かないフラグ
-検索から除外する拡張子の指定
-大文字があったらcase-sensitiveなど、好みが分かれる機能のフラグ
*使い勝手改良
-「再検索」ショートカットキー
--挙動としては、前回の検索ワードを入力する
-「1つ上のフォルダを開く」
--bashで開くのも便利?
-「(関連づけを無視して)エディタで開く」
--登録エディタが全部リストに出るとよさげ?
-開くエディタの切り替え
--事前に登録したエディタを Ctrl+Q,W,E などで選択
--選択したものは設定として保存
--エクスプローラで開くのが便利そう
--VisualStudioを複数開いてるときは、開くウィンドウを指定したい。けど難しそう
-コンテキストメニューの一番上を最初から選択
-リストからファイルをドラッグ&ドロップできるように
-閉じたときの挙動
--決定時
--コピー時
--ESC時
--それぞれ、入力したものを消すか消さないか設定したい
--デフォルトはbluewindを参考にしてみよう
-開いたときはmigemoをOFFに?
-重複ファイル・URLのuniq
--プライオリティキューを使うようになれば軽そう
*検索性能改良
-視覚的な見やすさの改善
--結果が2〜3件まで絞れても、それを目で見て反応するのに1秒くらいかかる
--行間をもっと空ける
--色分け表示?(具体案はまだない)
---パス部分は薄いグレー、ファイル名は黒とか

-ファイル名のみ表示
--同名ファイルがあるときは、パスも表示

-イニシャルマッチング
--hfbと打つと、''H''oge''F''oo''B''arのようなものがマッチする

-スキップマッチング
--アルゴリズムを調べるところから

-拡張子のないファイルが探しにくい
--iostreamとかstringとか
--"iostream."でヒットするようにしてみる?
--ソート順でカバーできる?

-結果のソート方法
--新しい順
--アルファベット順(同じディレクトリのものはまとまってるほうが見やすい)
--.hは優先
--(ファイル名に)完全一致→先頭一致→部分一致
--migemo時は日本語でマッチしたものを優先

-検索の別スレッド化
--特にmigemoで、検索速度が入力のレスポンスに影響しないようにするだけ
--loading... となったら本末転倒
*機能追加
-カスタマイズ
--使うブラウザ
-ウィンドウの位置を保存
-ディスプレイの中心に移動 コマンド
--デスクトップの中心
--各ディスプレイの中心
--初回起動時はプライマリディスプレイの中心がいいかな

-スペースを2回押したらカーソル下扱いにする(スペースで項目を選べるようにする)

-別アプリとの連携
--エディタでカーソル位置の単語を検索とか
---エディタのマクロ+FindFastに単語を入力した状態で開く機能?
---まずタグジャンプして、失敗したらFindFastでやってみる、っていう習慣になるのかな

-暇なら、下記を対象に含めてもいいかも
--IEのお気に入り・履歴
--スタートメニュー
--Quick Launch
--サクラエディタの履歴
--サクラエディタが開いているファイル(取れるのか?)
--Visual Studioの履歴
--コントロールパネルの項目
--PukiWikiの「一覧」ページからURLを列挙
---Wikiのタイトル名は<title>が「ページの一覧 - PukiWiki」なので、ここから拾う
---エンコーディングはヘッダから取得。"EUC-JP"など
--staticな(名前, ファイル/URL)のリスト
--最前面アプリのカレントディレクトリ(sakuraの開くダイアログの代替を目指す)

-PukiWikiのURLはデコードしてページ名を表示

-表示フィルタ
--画面に表示されるもののみに適用される。多少重い実装もOK
--存在しないファイルは除外。
--InterWikiNameの認識。Wikipedia: ほげ のような表示
---InterWikiNameのページを指定してインポートできるといいかも

-URLフィルタ
--IEの履歴を取ると、けっこういらないURLがある
--正規表現で除外できるようにしよう
--PukiWikiの編集ページ
--PukiWikiのプレビューページ
--Googleの検索結果 (これは悩むところ)

-キーボードジェスチャー
--Ctrl+↓→とか

-PukiWikiのmark箇所

-WindowsのIndex Serviceからデータをもらう。Vistaでは賢くなってると聞く [[このへん?>http://support.microsoft.com/default.aspx?scid=kb;ja;820105]]
-NDSにクエリー投げる
-検索結果からファイルのD&D
*バグ
例外のトラップ漏れ
---(
System.IO.IOException はハンドルされませんでした。
  Message="指定されたネットワーク名は利用できません。\r\n"
  Source="mscorlib"
  StackTrace:
       場所 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
       場所 System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
       場所 System.IO.DirectoryInfo.GetFiles(String searchPattern, SearchOption searchOption)
       場所 System.IO.DirectoryInfo.GetFiles(String searchPattern)
       場所 Something.DirectoryList.dive(DirectoryInfo di) 場所 D:\Projects\C#\something.cs\DirectoryList.cs:行 33
       場所 Something.DirectoryList.preCache() 場所 D:\Projects\C#\something.cs\DirectoryList.cs:行 21
       場所 Something.ItemFind.preCacheIN() 場所 D:\Projects\C#\something.cs\ItemFind.cs:行 41
       場所 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       場所 System.Threading.ThreadHelper.ThreadStart()
  InnerException: 
---)
---(
検索対象にアクセス権のないファイル(ディレクトリ?)があった場合
---)

-多重起動できてしまう。そうするとホットキーが効かない。
-UserIncludePathが、末尾の\の有無で挙動が変わる
-拡張子のないファイルがヒットしている?
--sakuraの履歴にあっただけかも
-"more"を選択した状態で空のメニューが出る
-ファイルなのにURL扱いになって出てくる
--普通にファイルとしても出てくる
-マルチディスプレイだと画面の中心=ディスプレイの境目になってしまう
-xkeymacsが効かない?
-インデックス作成中にキーバインドの変更をすると、作成終了まで反映されない
-x64だとmigemoのDLLが読めずに落ちる
--32bitモードでビルドすればいいんだっけ?
-初回起動時に、ショートカットキーがすべて「0」になっている?
--プロファイルに入る方の .config が存在しないときにまずい?
-NickName使用時の挙動の確認
--もともとのパスで検索するのが素直な挙動な気がする
-IEの履歴にローカルのPDFがあると、パスが\区切りのままになり、右クリックメニューも「 をコピー」となってしまう。そして実行すると例外。
-Windows 7で、単語削除をバインドしていないと、Ctrl+BSで変な文字が入力される
*参考
-emacs22のanything
--buffers, recent filesなど、高速に参照できるものをソースにしているのが賢い

*基本
-事前に指定したディレクトリ&拡張子から、ファイルリストを生成
-起動(常駐?)→文字入力でインクリメンタルサーチ→選択して開く
-それだけ。でも幸せそう。

*システムパス名一覧

細字は.NET FrameworkのEnvironment.GetFolderPath()で取得できるものです。
太字は独自拡張です。

|変数名                 |展開例 (Windows XP)                                                                              |h
|%ApplicationData%      |C:\Documents and Settings\Administrator\Application Data                                         |
|%CommonApplicationData%|C:\Documents and Settings\All Users\Application Data                                             |
|%CommonProgramFiles%   |C:\Program Files\Common Files                                                                    |
|%Cookies%              |C:\Documents and Settings\Administrator\Cookies                                                  |
|%Desktop%              |C:\Documents and Settings\Administrator\デスクトップ                                             |
|%DesktopDirectory%     |C:\Documents and Settings\Administrator\デスクトップ                                             |
|%Favorites%            |C:\Documents and Settings\Administrator\Favorites                                                |
|%History%              |C:\Documents and Settings\Administrator\Local Settings\History                                   |
|%InternetCache%        |C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files                  |
|%LocalApplicationData% |C:\Documents and Settings\Administrator\Local Settings\Application Data                          |
|%MyComputer%           |(空文字列)                                                                                       |
|%MyDocuments%          |C:\My Documents                                                                                  |
|%MyMusic%              |C:\My Documents\My Music                                                                         |
|%MyPictures%           |C:\My Documents\My Pictures                                                                      |
|%Personal%             |C:\My Documents                                                                                  |
|%ProgramFiles%         |C:\Program Files                                                                                 |
|%Programs%             |C:\Documents and Settings\Administrator\スタート メニュー\プログラム                             |
|%Recent%               |C:\Documents and Settings\Administrator\Recent                                                   |
|%SendTo%               |C:\Documents and Settings\Administrator\SendTo                                                   |
|%StartMenu%            |C:\Documents and Settings\Administrator\スタート メニュー                                        |
|%Startup%              |C:\Documents and Settings\Administrator\スタート メニュー\プログラム\スタートアップ              |
|%System%               |C:\WINDOWS\system32                                                                              |
|%Templates%            |C:\Documents and Settings\Administrator\Templates                                                |
|''%QuickLaunch%''      |C:\Documents and Settings\Administrator\Application Data\Microsoft\Internet Explorer\Quick Launch|
|''%CommonPrograms%''   |C:\Documents and Settings\All Users\スタート メニュー\プログラム                                 |
|''%CommonStartMenu%''  |C:\Documents and Settings\All Users\スタート メニュー                                            |
|''%CommonStartup%''    |C:\Documents and Settings\All Users\スタート メニュー\プログラム\スタートアップ                  |


*対応済み
-PukiWikiの一覧ページから取得したURLの実体参照をデコードしていない
-パス名のドライブ名が大文字小文字不統一。統一した上で、uniq時もcase無視で比較しよう
-サクラエディタの存在がMUSTになっている
-All Usersのスタートメニューを%%記法で展開できない?
--できないね。カスタムで適当に名前付けよう
-ファイル・Web関連の例外はトラップしよう
-エディタにコマンドライン引数を渡せない
--Visual Studioの/Editで動作確認だ
-showContextMenuで0除算が起きることがある
--タイトルがないURLで、.xlsで落ちる?
-関連付けがない拡張子で落ちる
--例外が飛ぶので、catchしてエディタで開く?
-アクティブじゃないときは呼び出しキーでアクティブに
-呼び出しキーを押したときは入力欄にフォーカスを移動
-呼び出しキーで閉じれるように
-\より/のほうが読みやすそう
-Ctrl+BSで入力文字を全部削除
--bluewindは単語単位で削除だった。そっちのほうがいいかな
-一番上と一番下の項目でカーソルがラップアラウンド
-migemo切り替え時に検索結果を更新
--入力終わってから切り替えると軽快でいいね
-IMEを無効化
--日本語で検索したいときもたまにはあるか
-右カーソルメニュー、選択したアイテムのところに出たほうが心理的にわかりやすい
-ファイル名をクリップボードにコピー
-#include "" でコピー
--あるいは、これらをカーソル位置に挿入
-migemo対応
--やっぱ遅いね
--ショートカットキーでトグル
--AND検索をmigemoにも対応
-大文字を1字以上入力したらcase-sensitive
-パスフィルタ
--.svnを除外
-トレイアイコンのチップヘルプがFindFastのまま