TZEditor v0.0.9(ベータ版)を公開

TZEditor
この記事は約16分で読めます。

テキストエディタが好きすぎて Windows 用テキストエディタを自作しています。作成当初は C# で TZEditor.NET を作っていたのですがどうしても高速に動作するものが作りたかったので 2020/05/13 から C++/Win32 で作り直しました。他の開発言語の候補に WinUI3 も選択肢にあったのですが、Windows 11 のメモ帳を見たときに作りたいのはこれじゃないなと思い結局 C++/Win32 となりました。

途中で2年ほど開発が止まってしまった期間がありましたが、C++/Win32 を学びながらここまでくるのに 5 年近くかかってしまいました。あはは。一通り作成できましたのでベータ版を公開します。今後もブラッシュアップしていきますのでよろしくお願いいたします。C# 版はテキストエディタコントロールとして更新していきます。

C++/Win32 版はサクラエディタさんを目標にとにかく高速に動作する昔ながらのテキストエディタを目指しています。TZEditor のアイコンは X のフォロワーさんに作って頂きました。

TZEditor C++/Win32 版

TZEditor のイメージです。このレガシーさがたまらないですね。最初はとにかく今っぽい見た目で作りたいと思っていたのですが、最終的にはそうじゃなくて速度重視で作りたかったことに気付かされました。とはいえ、見た目も大事ですのでエディタのテーマはライトモード、ダークモード、Windows XPスタイルの 3 種類から選べます。

TZEditor のコンセプト

高速で使いやすい唯一無二のテキストエディタを目指しています。例えば背景画像は TZEditor ならタイトルバーを含めた全面に設定可能です。もちろん、エディタ部分だけの設定も可能です。

こんな感じに柔軟な対応を可能にするために Windows が公開している標準コントロールで実現できない場合は一から作成するようにしています。今までに タイトルバー、ポップアップメニュー(コンテキストメニュー)、タブコントロール、テキストエディタコントロール、スクロールバーなどは 自作して使っています。ただ、何でも作ってしまうので目標達成に時間がかかるのがネックです。あと、何かを実現するためにめちゃくちゃ時間をかける傾向にあります。あはは。

こちらのサイトから画像をお借りしました。ありがとうございます。

現在対応中の不具合

とはいえ、X やフォーラムでたくさん頂いております。ありがとうございます。めちゃくちゃあります。全然減らないですが順次対応中です。落ちるとか文書破壊系を優先して対応しています😭

ご指摘/ご要望内容

  • スクロールバーで右クリックのメニューが表示しない
  • リサイズ時の動作(垂直方向)TZEditorの上辺の縁を下向きにドラッグして高さを変更する場合、他のアプリと比較して、カクつく?
  • タブの「ピン留めボタン」📌、画像が小さくてわかりづらい
  • 文字間隔、行間隔の設定
  • カスタムタイトルバーが標準のタイトルバーと同じ動きをしない(システムメニューの表示など)
  • 「最近使ったファイル」のリストの表示がファイルメニューあってもいいかも
  • カスタムタイトルバーの場合タイトルバーの色がOSのアクセントカラーと連動していない
  • シングルクォーテーション文字列とダブルクォーテーション文字列は開始、終了でハイライトして欲しい。今は開始だけでハイライトしてしまう
  • 行ヘッダーとエディタでフォントを分けたい
  • 行へ移動の[OK][キャンセル]の位置が近いように思う
  • 「n行スクロール」の表記は、キーを離したタイミングで消えた方が自然
  • コマンドラインオプション。/r (ファイル名)で書き換え禁止で開けるようにする
  • XPテーマでオプションのWindowBorderColorが変わらない(win11)
  • メニュー「ウィンドウ」に現在開いているファイルのリストが欲しい
  • ツールバーに検索窓が欲しい
  • テキスト読み直し機能と外部でテキストが変更された時の読み直し機能
  • 引用文字に色
  • [Insert]キーで上書きモード・挿入モードが切り替わらない
  • 多重起動禁止
  • 絵文字👍は、カラーの絵文字で表示可能?
  • 文字列選択時のハイライトがもっさり😭
  • v0.0.10 で対応予定メニュー「検索」の「検索文字列の強調を解除」の ALT + F3 で ALT は Alt としたほうが。
  • v0.0.10 で対応予定メニュー「検索」の「前を検索選択範囲」「次を検索選択範囲」は、名称を再検討したほうが・・
  • v0.0.9 で対応済検索を実行後、検索文字列が強調表示されるが、それの解除方法がない
  • v0.0.9 で対応済背景画像を使用しない場合でも、タイトルバーボタン、アクティブタブ、スクロールバーの不透明度が設定できてしまう(対応は悩みどころです)
  • v0.0.8 で対応済メニュー「ファイル」-「上書き保存(S)…」の”…”は不要、メニュー「ファイル」-「オプション(O)」で”…”は必要かも
  • v0.0.8 で対応済「検索」ダイアログ、「置換」ダイアログの「キャンセル」ボタンは「閉じる」にした方が良いかも
  • v0.0.6 で対応済縦スクロールが1ページ分多い

不具合対応予定

  • オプション画面の前景色、背景色でダブっている色が存在する
  • コマンドラインから引数に存在しないファイルを指定して起動した場合のエラーメッセージが「指定したファイルは存在しないため履歴から削除しました。」になっている
  • テーマ変更時に検索ウィンドウなど子ウィンドウの色が変わらない
  • ウィンドウのサイズ変更でタブのバツボタンが重なる
  • 2重起動できて、同じファイルを開けてしまう
  • DPI150%起動でオプション画面を表示するとツールバーのアイコンのサイズが変わる
  • DPI150%起動でポップアップメニューのアイコンの表示位置がおかしい
  • DPI150%起動でオプション画面のラベルが見切れる
  • 表示(V)のツールバー/ステータスバーにキーの割り当てがない
  • エディタ以外の場所でも右クリックでコンテキストメニューが出てしまう
  • v0.0.10 で対応予定検索実行後、検索文字列が強調表示された状態で、右にスクロールさせると、左端に到達した強調表示部分の背景色がとどまる?
  • v0.0.10 で対応予定検索ウィンドウなどの自作ラベルがモニター外にいくと描画が乱れる
  • v0.0.10 で対応予定次を検索(N)と前を検索選択範囲(N)のニーモニックキーがかぶっている😭
  • v0.0.10 で対応予定検索すると他のタブも同じ文字列で検索される
  • v0.0.9 で対応済「最近使ったファイル」のリストが長くなって開いた場合、リストの上にマウスカーソルがあるとリストが表示されたタイミングでファイルも開いてしまう
  • v0.0.9 で対応済オプション画面の「タブバー」にある項目は、チェックを付ける・外す、選択したとき、即座に画面に反映するが、「キャンセル」で閉じても、変更が有効
  • v0.0.9 で対応済「タイトルバーにファイルパスを表示する」がOFFになっていることがある
  • v0.0.9 で対応済スクロールバー不透明度が0だと存在自体が消えてしまう
  • v0.0.9 で対応済最小化されたままで保存後、次回起動時のウィンドウサイズが小さい
  • v0.0.6 、v0.0.9 で対応済オプション設定を開くとツールバーのアイコンが有効になる
  • v0.0.8 で対応済既定のエンコードを「日本語(シフトJIS)」に設定時、新規ファイルで保存するとき「UTF-8(BOM付き)」で保存しても、「日本語(シフトJIS)」で保存される
  • v0.0.8 で対応済検索文字、選択文字に下線スタイルを設定しても下線が描画されない
  • v0.0.8 で対応済「標準のタイトルバーを使用する」OFFの設定が保存されない
  • v0.0.8 で対応済置換を実行しても、「変更あり」の状態にならない
  • v0.0.8 で対応済「大文字と小文字を区別する」検索しても大文字小文字に関係なく強調表示される
  • v0.0.8 で対応済読取専用ファイルを開いたとき、メニュー[検索]-[置換]は選択できないようになってるがツールバーの[置換]や Ctrl+R は有効で置換可能
  • v0.0.7 で対応済最大化してもステータスバーの右下のサイズグリップが消えない。その状態でサイズグリップをドラッグして左に動かすとステータスバーのみリサイズしてしまう
  • v0.0.7 で対応済OS シャットダウン時に編集中ファイルがあってもそのまま終了する
  • v0.0.6 で対応済読み取り専用のファイルを開き保存をするとき(特に何も表示せず)保存処理が終わる
  • v0.0.6 で対応済シフトJISのファイルを開き、リットル(ℓ)や立方メートル(㎥)などを保存しようとしたとき、警告なしで保存される

今後対応予定

まだまだできることは少ないですが今後順次対応予定です。現時点でハイライトするファイルはテキストファイルのみです。

  • クリッカブルURL
  • 画面分割
  • ファイル拡張子ごとのハイライト
  • 正規表現の検索
  • 折り返し
  • 矩形選択
  • マルチカーソル
  • 絵文字対応(Direct Write)
  • v0.0.9 で対応済オートインデント
  • v0.0.9 で対応済選択範囲の検索(CTRL+F3、CTRL+SHIFT+F3)

更新履歴

以下の対応が含まれます。

追加/変更内容

  • [検索]メニューに[前を検索選択範囲]、[次を検索選択範囲]、[検索文字列の強調を解除]を追加した
  • オートインデントを設定できるようにした
  • オプション画面の[背景画像]メニューの UI を見直した(2回目)
  • スクロールバーの不透明度を 0% にするとスクロールできなくなるためスクロールバーの不透明度の最小は 1% にした
  • ツールバーの[ファイルリスト]メニューに新規を追加した
  • その他軽微な修正

不具合対応内容

  • オプション画面で[タブバー]の設定を変更後にキャンセルしても適用される不具合を修正した
  • オプション画面の[基本]メニューを開かずに閉じると[タイトルバーにファイルパスを表示する]が OFF になる不具合を修正した
  • マウスホイールでフォントサイズを変更するとテキストのスタイルが解除される不具合を修正した
  • 横スクロールする行の先頭から最後まで選択すると行番号の背景も塗られてしまう不具合を修正した
  • 最小化してファイル保存確認後に終了すると次回最小化の状態で起動する不具合を修正した
  • 実害は無いがオプション画面を開くとツールバーのアイコンが無効でも有効になる見た目の不具合を修正した
  • 背景画像をウィンドウにした時にウィンドウのサイズが大きくなると描画されない箇所が存在する不具合を修正した(v0.0.6 の修正漏れ)
  • 「最近使ったファイル」のリストが長くなって開いた場合にリストの上にマウスカーソルがあるとリストが表示されたタイミングでファイルも開いてしまう不具合を修正した

以下の対応が含まれます。

追加/変更内容

  • [END]キーで行頭に移動するのを止めた
  • [タイトルバーのタイトルを中央に表示する]の設定はダイアログには適用しないようにした
  • [ツール]メニューの[オプション(O)]を[オプション(O)…]にした
  • [ファイル]メニューの[上書き保存(S)…]を[上書き保存(S)]にした
  • アクティブタブ、スクロールバーの不透明度の設定はオプション画面の背景画像に移動した
  • エディタのフォントの高さはアンダーラインを加味した高さで処理するようにした
  • 検索と置換ダイアログの[キャンセル]を[閉じる]に変更した
  • 選択文字列のスタイルが下線の場合は通常の文字に加え半角スペースなどすべての文字を対象にした
  • その他軽微な修正

不具合対応内容

  • [大文字と小文字を区別する]で検索しても大文字小文字に関係なく強調表示される不具合を修正した
  • [標準のタイトルバーを使用する]の設定が保存されない不具合を修正した
  • UTF-7 で保存できない不具合を修正した
  • オプション画面で検索文字と選択文字に下線スタイルを設定しても下線が描画されない不具合を修正した
  • 一括置換後の[元に戻す]から[やり直し]ができない不具合を修正した
  • 行頭から上に検索できない不具合を修正した
  • 置換後に変更マーク(*)が表示されない不具合を修正した
  • 読取専用ファイルを開いた時に CTRL+R で置換ダイアログが表示される不具合を修正した(v0.0.7 の修正漏れ)
  • 文字コードを指定して保存しても既定の文字コードで保存される不具合を修正した(v0.0.7 の修正漏れ)

以下の対応が含まれます。

追加/変更内容

  • 標準タイトルバー利用しない場合(Windows XP風を含む)はタイトルバーのタイトルを中央に表示できるようにした
  • 既定の文字コードを設定できるようにした
  • その他軽微な修正

不具合対応内容

  • OS のシャットダウン時に編集中のファイルが存在してもそのまま終了する不具合を修正した
  • 行番号が非表示の場合に行選択の判定がシビアな不具合を修正した(v0.0.6 の修正漏れ)
  • 最初に前を検索、または次を検索するとその逆が検索できなくなる不具合を修正した
  • ウィンドウを最大化したときにステータスバーのグリップが表示されステータスバーのみリサイズする不具合を修正した
  • 読取専用ファイルを開いた時に置換アイコンが有効になる不具合を修正した(v0.0.6 の修正漏れ)
  • 編集していない場合でも上書き保存アイコンが有効になる不具合を修正した(v0.0.6 の修正漏れ)

以下の対応が含まれます。

追加/変更内容

  • エディタのスクロールする範囲を選択できるようにした
  • ファイルを閉じる確認ダイアログに表示するファイル名をフルパスにした
  • 元に戻すで変更していない状態まで戻したときは変更マーク(*)を表示しないようにした
  • 行番号の右余白を設定した
  • 読取専用ファイルを開いた場合はカギアイコンを表示して編集や保存をできないようにした
  • 保存時に指定した文字コードで保存できない文字が存在する場合は警告を表示するようにした
  • その他軽微な修正

不具合対応内容

  • サロゲートペア文字の次の文字の表示位置がズレて描画される不具合を修正した
  • 行選択の判定がシビアな不具合を修正した
  • 行選択時のタブインデントでタブの代わりに空白を挿入にしていてもタブ文字が挿入される不具合を修正した(v0.0.5 の修正漏れ)
  • 最小化から元のサイズに戻ったときにスクロールバーのつまみが表示されない不具合を修正した
  • 編集中ファイルが複数存在する状態でエディタを閉じるとファイルを保存できずに落ちる不具合を修正した

以下の対応が含まれます。

追加/変更内容

  • オプション画面の基本メニューにタブの桁数とタブの代わりに空白を挿入するを追加した
  • オプション画面の背景画像メニューの UI を見直した
  • オプション画面の背景画像メニューの文言を見直しデフォルトを「ウィンドウ」の「全面(表示対象に合わせる)」にした
  • ツールメニューに標準タイトルバーを使用するを追加した
  • ドラッグアンドドロップや関連付けで開いたファイルの場合もステータスバーに処理時間を表示するようにした
  • 外観テーマをライト、ダーク、Windows XP にした(Windows XP も廃止予定)
  • 小数点以下のフォントサイズの設定を可能にした
  • その他軽微な修正

不具合対応内容

  • http:// がハイライトされない不具合を修正した
  • Windows XP テーマのボタンの不透明度範囲が通常ボタンの範囲になっていた不具合を修正した
  • オプション画面でフォントサイズを空にすると落ちる不具合を修正した
  • ファイル名に & があるとショートカットキーとして描画される不具合を修正した
  • プロポーショナルフォントの場合にキャレットが文字の真ん中に表示される不具合を修正した
  • 不透明度などのスライダーコントロールをキー入力で変更してもラベルが更新されない不具合を修正した

以下の対応が含まれます。

追加/変更内容

  • シフト JIS のファイルを日本語 EUC 判定したため文字コードの判定処理を見直した
  • ファイルメニューの TZEditor の終了にショートカットキーの Alt+F4 表記を追加した
  • 履歴など基本的にファイルを開いた場合はステータスバーに処理時間を表示するようにした
  • その他軽微な修正

不具合対応内容

  • オプション画面のフォントと色メニューでフォントスタイルが設定できない項目でもスタイル設定できてしまう不具合を修正した
  • オプション画面の基本メニューのアクセラレータキーが重複する不具合を修正した
  • タイトルバーとタブバーのテキストが連動していない不具合を修正した
  • 横スクロールを伴うキャレットが移動する時の表示座標がおかしい不具合を修正した(v0.0.3 でデグレ)
  • 改行を含む文字列を検索すると次回起動しない不具合を修正した
  • 標準タイトルバーでシステムメニューを閉じる時にビープ音が鳴る不具合を修正した
  • 無題の上書き保存をキャンセルすると履歴に無題が追加される不具合を修正した
  • 名前を付けて保存のショートカットキーが上書き保存と同じになっていた不具合を修正した

以下の対応が含まれます。

追加/変更内容

加速スクロールは上下キーを押した回数でスクロールする行数が変わる機能です。マウスを使わずキーボードだけで高速にスクロールすることができます。

  • オプション画面から未実装のメニューは非表示にした
  • ThirdPartyNotices.txt の内容を修正した
  • ファイルメニューに閉じるを追加した
  • ファイル保存時に履歴ファイルの先頭に表示するようにした
  • ファイル保存時のデフォルト拡張子を txt にした
  • 加速スクロールをオプション画面で選択できるようにした
  • その他軽微な修正

不具合対応内容

  • ALT + ショートカットキーでメニューの選択ができない不具合を修正した
  • タブの切り替えでテキストの表示位置がおかしい不具合を修正した
  • タブバーの右端にある閉じるボタンを押すと必ずタブを閉じてしまう不具合を修正した
  • テキストの前景色、ルーラーと行番号の背景色が設定されない不具合を修正した
  • フォントダイアログでフォントが変更されない不具合を修正した
  • ラベルの表記ゆれの不具合を修正した
  • 解像度 100% 以外のモニターで起動するとバージョン情報ダイアログのアイコンが見切れる不具合を修正した
  • 検索していない状態で前を検索、次へ検索ボタンをクリックすると落ちる不具合を修正した
  • 非アクティブ時に最小化ボタンの色が変わらない不具合を修正した
  • 標準テーマ以外でマウスによるウィンドウサイズ変更の判定がシビアな不具合を修正した
  • 文字コードを指定した保存ができない不具合を修正した
  • 編集中ファイルがあってもファイルメニューの「TZEditor の終了」で終了する不具合を修正した
  • 名前を付けて保存のショートカットキーが無効になっていた不具合を修正した

以下の対応が含まれます。

追加/変更内容

C# 版だとアイコンに OTZEditor エディタコントロールを使ったテキストエディタと言う意味で O があったのですが C++/Win32 版と区別すために O 無しのアイコンに変更しました。

  • アプリのアイコンを O(OTZEditor) 無しのアイコンに変更した
  • その他軽微な修正
  • 初回ベータ版リリース

フォーラム

バグや要望はこちらからお願いいたします。

ダウンロード

ダウンロードはこちらから。Windows10、11 に対応しています。

  • 2025/05/17:70 ダウンロード突破🎉
  • 2025/05/10:50 ダウンロード突破🎉

コメント

タイトルとURLをコピーしました