前回、「ChatGPTと一緒にファイルブラウザ「Ferry」を作って、初めてGitHubで公開した話」を公開しました。
これはチャッピーに書いてもらったものをそのまま公開しました。
今回は僕自身が書いています。
Ferry v1.1.2をリリース・公開しました
2026年9月9日がv1.0.0のリリース日だったので、8日間でハチャメチャにバージョンアップしました!チャッピーと開発するのがあまりにも楽しすぎて、怒涛のように時間を注ぎ込んでしまいました。延べ試作回数は70回前後だと思います(もうあんまり覚えていない・・・v1.1.0で40回を超える試作をしたときに数えるのをやめました)。
しかし、その甲斐あってかv1.1.2は僕がやりたいと思っていたことがほぼ全て詰め込めたと思います。ここからはバグフィクスが中心で、次に大きく変更するとしたらUI/UX周りかなぁと思っています。
その意味では、ようやくここで安定板と言えるような出来になったので、改めて記事にしてみようとしたためる次第です。
さて、丹精込めて作り上げたファイルブラウザなので、皆さんに良さを知ってもらいたくてアピールを書いてみようかと思います。
っと、その前に。
GitHubのここで公開していますので、ぜひぜひ使って感想を聞かせてもらえると嬉しいです。
Ferryのいいところ
まず名前がカッコいいですね。冗談です。
起動が早いです。
F12一発でターミナルが起動できます。パスも指定可能。
フォルダ内アイテム数が表示できます。
シンプルで強力な一括リネーム機能を備えています。
高速な再帰ファイル名検索を備えています。部分一致・前方一致が選択できます。
サイドバーの境界線をダブルクリックすると、幅を一撃でフィットさせられます。
リストのカラム幅がどこでも同じです。フォルダごとに変わったりしません。
なのに普段使いの挙動から離れません。いつもの操作感でいられます。
Ferry v1.0.0 ~ v1.1.2 の歩み
具体的に何ができるんや?を知っていただくべく、歴史を書き出してみました。
v1.0.0は、まずはリリースして沢山の人の目に触れられるようにしたかった。それが僕の次へのモチベーションにもなると思ったから。
v1.0.1では、ちょっとした不満を改善したくなったのでそれらを詰め込んだ。
v1.0.2では、ZIP操作してるのにinformationがどこにも無いことに気づいて、これじゃFerryに作業をさせつつ他のことをやれないじゃないかと思って作り込んだ。
v1.1.0は山場というか鬼門だったラバーバンド(ドラッグでの範囲選択)に取り組んだ。あまりに完成しなくてゲンナリしながら夜中まで試作を繰り返した・・・。
v1.1.1~1.1.2はv1.1.0で気付きつつも手が回らなかった(というか問題を混在させたくなかった)ために一旦置いておいた改善点に取り組んだ。
| Version | 主なテーマ | 主な追加・改善機能 |
|---|---|---|
| v1.0.0 | 最初の公開版 | List / Grid表示、フォルダ内アイテム数表示、タブ、Back / Forward / Up / Home、再帰的ファイル名検索(Contains / StartsWith / ワイルドカード)、一括リネーム、Ctrl / Shiftによる複数選択、複数ファイルのEnter / D&D、Recycle Bin、Windows Shellコンテキストメニュー、Properties / Open With / ショートカット / サムネイル、ZIP圧縮・展開、F12で「ここでターミナルを開く」、Portable JSON設定 |
| v1.0.1 | 日常操作とレスポンス改善 | F2インラインリネーム、新規フォルダ作成後の即時リネーム、日本語検索の全角・半角差吸収、PinnedフォルダのD&D並べ替え、List表示をShellタイプアイコン中心にして高速化、Sidebar幅設定、About Ferry追加、ZIP処理中のステータスバー表示 |
| v1.0.2 | ZIP機能をFerry内へ統合 |
System.IO.Compression を使ったZIP作成・展開、非同期処理、進捗率・処理済み容量・ファイル数・速度・ETA表示、Cancel、ファイル/フォルダ競合時のReplace / Merge / Keep Both / Skip / Cancel、Zip Slip等のパス安全性検証、20GiB / 50,000ファイル / 100倍圧縮率を基準とした安全警告、テンポラリファイル経由の安全な展開 |
| v1.1.0 | 選択操作をExplorerライクに刷新 | List / Gridでラバーバンド選択、Normal / Ctrl / Shift / Ctrl+Shift対応、選択範囲縮小・再侵入、D&Dとの共存、端部オートスクロール、速度設定(30~300)、Selection Anchor表示、背景クリック判定改善、Arrow / Shift+Arrowのキーボード操作改善、List ⇄ Gridで選択状態とAnchor維持、Ctrl+L Location Box、Breadcrumb復帰、Breadcrumb横スクロールバー、30×30ツールバーボタン、Sidebar境界ダブルクリックで自動幅調整 |
| v1.1.1 | Paste結果を見える化 | Copy / Cut → Paste後に、今回Pasteされたトップレベル項目を自動選択、List / Gridで選択同期、最終incremental refresh後も選択維持、連続Paste時は前回結果を置換、上書き・フォルダMerge結果にも対応 |
| v1.1.2 | Windows ExplorerとのD&D互換性改善 | Ferry → Explorerの同一ドライブMoveで元ファイルが残る場合がある問題を修正、WPFの最終Drop結果とShellのPerformed DropEffectの両方がMoveを示した場合のみ後処理、既にShell側で移動済みのファイルを二重削除しない安全策、Ctrl+D&D Copy・Cancel・複数ファイル・フォルダD&Dの回帰確認 |
v1.1.2時点でできること
| カテゴリ | 機能 |
|---|---|
| ファイル閲覧 | List / Grid、Windows Shellアイコン・サムネイル、フォルダ内アイテム数表示 |
| ナビゲーション | タブ、Back / Forward / Up / Home、Breadcrumb、Ctrl+L Location Box |
| 検索 | 再帰検索、Contains / StartsWith / ワイルドカード、全角・半角差を吸収した日本語検索 |
| 選択 | 通常選択、Ctrl、Shift、Ctrl+Shift、Ctrl+A、ラバーバンド選択、Selection Anchor |
| キーボード操作 | Arrow / Shift+Arrow、Enterによる複数項目Open、F2 Rename、F12 Open Terminal Here |
| リネーム | インラインRename、一括Rename、Find & Replace、連番テンプレート、開始番号指定、Preview、Undo |
| コピー・移動 | Windows ShellによるCopy / Cut / Paste、Paste結果の自動選択、Ferry ⇄ Ferry / ExplorerとのD&D |
| ZIP | Ferry内でのZIP作成・展開、進捗、速度、ETA、Cancel、競合処理、安全性チェック |
| Sidebar | Pinned folders、D&D並べ替え、幅保存、境界ダブルクリックによる自動幅調整 |
| Windows連携 | Recycle Bin、Shellコンテキストメニュー、Properties、Open With、Explorer連携、ショートカット |
| 設定 | Portable JSON設定、Import / Export、Sidebar幅、Selection autoscroll速度、検索モード、外部Terminal設定 |
| 配布形態 | Windows 11 / .NET Framework 4.8 / Portable ZIP / インストーラー不要 / Telemetryなし |
と、まぁ色々書いたけど
ファイルブラウザって毎日触るものですよね。
ですから、ちょっとした「アレができたらいいのになぁ」を自分目線で解決するために作り始めたFerryですが、名前の通り多くの方に渡っていってくれたら大いなる喜びです。
ぜひ、皆さんのお手元に置いていただき、イマイチな点をコメントやプルリクでもらえたら嬉しいです。そうでなくても継続的に開発はしていこうと思ってます。
ではみなさま、よきハックライフを!