非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

なんかElectronでテキストエディタライブラリが豊富そうなので作ろうと思う

      2016/06/11

[ad#top-1]
 

昨日、Electronの欠点というか必然性に乏しいことについてブログで書きましたが、もしかしてJavaScriptである故の長所があるかもしれない、ということを感じた今日でありました。それは、ライブラリが多く存在するという点です。Electronで作られたアプリで有名なのがプログラミング用のエディターAtomなののですが、このようなエディタは作るのに難易度が結構高いのですが、Electronに限って言えばライブラリを駆使すれば比較的容易に作れそうなんです。

プログラミング用のテキストエディターは過去何度も挫折していましたので、これはちょっと期待したいところですね。テキストエディターで最も難しいのがキーワードを色付けする点にあります。プログラミングしながら自動で色が変わっていかなければなりませんが、これが非常に難しいんです。

ところが、Electronではすでに使えるライブラリが存在しているようなので、ちょっと作ってみようと思った次第です。とりあえず今回はエディタを作るうえでの必要なライブラリを整理しておこうと思います。

998

エディタライブラリ「ACE」

キーワードの自動色付けしてくれる「ACE」というライブラリがあるみたいです。Webサイトはこちらになります。

これ、なかなかすごいらしく、対応言語はjava, C++, php, html, css, javascript, python, ruby… あれ?C#はないのかな??まあ、仕様が似た言語があるので近いところで色付けしてくれるとは思いますが、ちょっと気になるところなのでもう少し調べてみます。

あとは、動作が軽く、なんと検索・置換機能も搭載しているとか。たしかにすごい。

 

ローカルファイルへの読み書き

Chrominiumベースなのでこれが気になっていましたが、どうやら可能みたいです。Electronに氷人搭載されていて、

var dialog = remote.require(‘dialog’);

で、呼び出せるようです。ネイティブプログラミングでは大したことない機能ですが、ElectronってChrominiumベースなんです。つまりブラウザをベースとしているので原則的にローカルファイルへのアクセスができないはずなんですね。セキュリティの関係で。もちろんJavaScript自体にもそのような機能は搭載されていません。(その代わりサーバーへのアクセスは可能です。) しかし、Electronに限ってはデスクトップ環境を想定して作られただけに、ローカルファイルの読み書き機能は搭載されていましたいるようです。

 

ドラッグアンドドロップ

ファイルの読み込みでこれができたらうれしいなと思っていましたが、どうもできるらしいですね。このサイトで紹介されています。

http://qiita.com/nyamogera/items/3b74afa3ccb65ae918d7

 

外部プログラムの実行

これができればエディタ上でコンパイルできます。今はバッチファイルに仕込んで起動させていますが、いちいちクリックするのも面倒なので、できればエディタ上でコンパイルや実行をやって、その返り値を取得までしたいところです。ただ、Electronで外部ファイルの実行に関する情報は乏しく、できるかどうかは今のところわかりません。今後の課題でしょうか。

 

ということで、これから1つ1つ試していく予定です。進捗は随時このブログで紹介していきたいと思います。

 
[ad#ad-1]

スポンサーリンク

 - Electron