Brynhildr

KeroRemote

リモートデスクトップエンジニアのブログ。

テキストエディター

テキストエディターの開発とゆー新企画です。Brynhildrのログを表示する時は何を使われています?

そもそもBrynhildrのログ機能を使っている人が少ないとは思ってるんですが、たまたまいつも使っている端末とは別の端末でBrynhildrのログを表示する際に、ログをメモ帳で開いたんですが、ちょっと何か違うなと思ったもので。なんかこースマートじゃないなと。

実は、10年くらいに前にテキストエディターを自作した事がありまして、今でもそれをメインに使ってるんですよね。

インタビューで「テキストエディターは何を使われています?やっぱり秀丸ですか?それともTeraPadですか?もしかしてMIFESですか?」と聞かれたら「いえ、自作のテキストエディターです。」と答えようかと思ってますけど、まだチャンスは来てないです。

そんな自作のテキストエディターをメモ帳の代わりに使ってるんです。あと、VisualStduioを立ち上げるまでもない時とかもですね。あと、PHPのコードを書く時のメインエディターとして利用してますね。てなくらいに使い込んでる自作のテキストエディターなんです。

その自作のテキストエディターを入れていない端末でログを開いたのですが、Brynhildrにこのテキストエディター機能を実装してはどうかと。正確にはログビューワーですかね。ま、内容も見やすいよーに変更もできたら良いかなと思ったんでやっぱりテキストエディターかと。

そんなワケで新たにテキストエディターをゼロからこしらえてみようかと。バカかと。

オープンソースのテキストエディターなんてゴロゴロしてるし、エディットコントロールだってゴロゴロしてるし、なんで今更ゼロから作ろうとしてるんだ、俺はと。

そんな現実を全てスルーして、できるのであれば自分で作るとゆー自分の本能に従う迄です。その勢いだけでゼロからリモートデスクトップアプリとか作ってますし。SkyPhoneもその部類ですし。

て事でかなりの開発工数が推測され、完成時期がいつになるかはすこぶる不明でする。壮大な計画すぎます。



完成図的には上のイメージですかね。いや背景色とか文字色とか今風にしてみましたけどあくまでもイメージ図なんで。文字の周りがうっすらぼんやりしてる感じがかっこええのかと思ったところがポイントです。

さて。

自作テキストエディターを作ったのが10年以上前なんで、その頃はMFCをバリバリ使ってたんですが、最近ではMFCは全く使わない方向です。で、VisualStduioのExpressEditionがメインなんで、以前のソースコードを修正してもビルドができないんでそれを何とかしたいなと。あと、スクロールとか更新の際に画面がチラつくのとか、もっと軽くしたいとか、部分選択(ALT押しながら列の真ん中の行の真ん中だけ選択とか)とか、ソースコードの場合は関数とか選択できてそこにジャンプとかできたらいいなぁ。色々あるんですけどチマチマやっていこうかと。

ちなみに、前作の機能でいらないなーと思った機能が、

・可変幅フォントの対応(固定幅固定)
・印刷機能(ペーパーレス推進)
・オプション画面(設定ファイルで対応)

んなとこですかね。ガッサーと省いていきます。

その前作のテキストエディターのソースコードをベースに修正して何とかビルドしよーかとも思ったんです、が。わー、CStringとかstd::stringに置き換えても全然動かーん。そもそも自分の書いたソースコードの書き方がひどい。リモートデスクトップのソースコードの方が綺麗に書いてあるわ、と錯覚するレベルですよこれは。なんちゅー変数名使ってるんや。全然忘れたし。こりゃ作り直した方がはえーわ。てな事にしました。

さて。

何をベースにしようかと思ったんですが、先述した通り今回はフレームワークは一切を利用しません。全て自作です。前作もフォームとか使っているもののほぼほぼ自作でしたしね。話題の「.net」も利用しません。今回はWin32APIがメインです。今回はってか今回も。TextOutで文字をデバイスコンテキストに描画するぜぇ、ってレベルです。もちろんスクロールだって自分で何とかします。ほら、レガシー感が満載ですよね。ところで文字をうっすらぼんやりてどーやんだ?

とりあえずCreateWindowでウインドウを生成します。詳細は省きます。

長くなったんでつづく!




6件のコメント ... ( 管理人承認制 )



UWP対応でモバイルでも軽いテキストエディタがあれば使いたい。
まあ、windowsのモバイル端末持ってないんですけど。


.  2016/10/21


> UWP


Win32APIなんでUWPには対応できないですね・・・。そういった変換ツールも出てきているようですし何とかなるんじゃないかとは思っていますけど。まだ模索段階ですので軽くなるといいなぁレベルです。はい。


IchiGeki  2016/10/22


【要望】
開発されるテキストエディターが[開発者向け]というより フリーソフト catmemonote 風の[ちょこっとメモ DB]になってくれるとうれしいです。
私は SNS投稿前に、ふと湧いた考えや案など、下書きを書き溜めるため catmemonoteを使用しています。しかし開発中断状態のようです。catmemonoteは Windowsが不安定になったり、ネット接続が中断したり、はっきりしない原因で、作成済みのメモ群をアプリ自体が見失って(インデックスが初期化されるみたいで)メインウインドウのメモ一覧が初期化されて、メモが1件も無い「表示」になる不具合が年 3~5回発生します。これを復旧するには、手動で数時間かけて、実際には残っているメモを登録し直します。何人かのユーザが開発者 BBSに報告していますが、数年以上最新版が公開されず対応されません。
また別の似たフリーソフト CubeNoteは公開されたばかりですが、まだとても catmemonoteの代替にはなり得ません。
また、Evernoteは「下書きを大量に保存」する使い方をしようとすると I/Fが使いづらく数週間で断念しました。
そこで今回、薄い要望を投稿させてもらいました。
決して、catmemonoteや CuteNoteのメモ群を取り込む機能など要望しません。独自方式でメモ群を管理して下さって構いません。
catmemonote freesoft-100.com/review/catmemonote.html
CubeNote cube-soft.jp/cubenote/


TokuToku  2016/10/25


> ちょこっとメモ DB


なるほどー。御要望ありがとうございます。メモ本体の機能というよりは拡張機能といった感じですね。メモ本体が完成したらその辺も検討したいと思いますー。


IchiGeki  2016/10/25


> ちょこっとメモ DB


別の用途として「作り溜めてきたサブルーチン群 DB」にも。


また、catmemonoteは Windows版しか無く、Android版、Linux版、MacOS版は無く「Dropboxにメモ群フォルダを置いて複数 OSで共用」「Winで作ったメモ群を Androidで閲覧」できません。Evernoteはその点で OS非依存ですので、使いづらくても数週間試した訳です。
私は Win+PuppyLinux(軽量 Linux)+Android 利用者です。遠い将来(3~5年後)複数 OS対応してもらえるともっと嬉しいです。軽量 OSでは ReadOnly利用形態でも構いません。


TokuToku  2016/10/26


> 作り溜めてきたサブルーチン群 DB


なるほどー。データをクラウド上において様々なプラットフォームからアクセスできるような感じですね。アプリとゆーよりはサービスになる感じですね。ちょっと大変そうですけど将来的にそんな感じでできるように頑張ります。まずはWindows版といったところですかね。


IchiGeki  2016/10/26




... 不具合報告の際は、アプリのバージョンやOS等の動作環境の記載を御願い致します。

表記されている会社名・製品名・システム名などは、各社の商標、または登録商標です。
当サイトはAmazon.co.jpアソシエイトプログラムに参加しています。
Copyright (C) IchiGeki All Rights Reserved.