Wonderfl の思い出

Wonderfl のサービスが 3 月末で終了してしまうらしい. 知らない人のために説明すると Wonderfl は Flash のコードをその場で編集・コンパイルしてコードと一緒に公開できる Web サービス*1で, 私は Wonderfl にあるコードを見てプログラミングを学んだと言っても過言ではないので少し悲しい.

wonderfl.net

お気に入りに入っているのを眺めていたらいくつか印象に残っているものがあったので貼り付けておきます (私が作ったものではないです). とは言っても 3 月末ですべて消えてしまうので見たい方はお早めに*2.

パーティクル崩し

wonderfl.net

パーティクルの応用で弾幕

wonderfl.net

高速化合戦その 1.

重力マウス

wonderfl.net

高速化合戦その 2.

この 2 つから描画の高速化法, 連結リストみたいなデータ構造, キャッシュなどでオブジェクトを無駄に作成しない, どの程度なら 60 FPS 出せるかという感覚なんかを学んだ気がする.

SiON TETRISizer

wonderfl.net

第一志望の大学の合格発表前に落ちゲーで遊んでいたら落ちてた話ってしましたっけ.

魚類タイピング

wonderfl.net

名も無き白身魚にも名前があるのだ.

Sea and Clouds

wonderfl.net

イクラ噴水

wonderfl.net

万物は流転し, そしてそれはイクラも例外ではない.

Clear Water with refraction rendering

wonderfl.net

Re-BUILD

wonderfl.net

Cloth Simulation 3D

wonderfl.net


あの頃 Flash を作っていた皆様はいかがお過ごしでしょうか.

*1:http://jsdo.itFlash 版. 順番的には jsdo.it が Wonderfl の JS 版だったと思うけど

*2:ライセンスが明記されているものもあるので転載できなくもないけれど, まあ今更 Flash をここに置いてもという感じがするので……

Sublime Text から Atom へ乗り換えチャレンジ

なぜ

JavaScript を書いているときにやたらと React のスニペットが表示されるようになって*1, これが大変迷惑だったためです.

本来は同ファイル内に存在する識別子名を補完してくれるのですが, 謎のスニペットが出るものの欲しいものが出てくれません. 他にも constructor が補完されたと思って適当に確定すると constructor(props){ super(props); } みたいになるなどもあります.

あと, こちらは割とどうでも良い理由として Haskellシンタックスハイライトが (標準・拡張含め) 残念というのもあります.

設定

概ね Sublime Text と同様の機能が Atom にもあるので, できるだけストレスを感じないように極力同じように設定しました. これは個人の好みの話なのでここで特に詳しくは説明しませんが, Sublime Text の頃から使っているキーバインド

'atom-workspace atom-text-editor:not([mini])':
  'cmd-down': 'editor:add-selection-below'
  'cmd-up': 'editor:add-selection-above'

は便利なのでおすすめです.

タブとサイドバー

Sublime Text で開いているファイルを管理する方法はタブとサイドバーの 2 つが提供されているのですが, どうも Atom ではタブのみのようです*2.

個人的にはタブは縦幅をとる割に表示できる情報量が少ないと思っていて, Sublime Text ではタブを非表示にしてサイドバーのみを使っていたのですが, Atom ではこれができません.

おそらく同じようなことを考えている人はいて, Package を検索するとSublime Text と同じように Tree View の上に開いているファイルを表示する拡張がいくつか見つかるのですが, これらがことごとく使い物にならないものばかり*3で話になりません.

仕方がないので自分で tree-view-panes という Package を作りました. タブをほぼ代替できるだけの機能は実装しています.

atom.io

以下は何をするかあまり考えていなくてやたら手間取っているデモです.

f:id:susisu:20170219044432g:plain

というわけでタブは Settings > Packages から tabs を無効にすることで消して, こいつを使っています. 副作用として, Atom ではディレクトリを開いていない時はサイドバーが表示されないので, そういうときはちょっと困りますが, そんな状況はあまりないので良しとします.

その他

デフォルトでは Haskellシンタックスハイライトがないのでこれを入れた (Haskell 開発環境周りは他にも色々あるけどまだ試せていない). atom.io

ファイルアイコンが表示されておしゃれになる. atom.io

Ctrl(Cmd) + Shift + K でアクティブな Pane が拡大される (Sublime Text にも同様の拡張があるらしいけど知らなかった). atom.io

Featured Packages になんかいい感じの拡張が表示されて便利.

そういうわけで

まだ Sublime Text で使っていた拡張機能の代替を探したりしていないので完全というわけではないですが, 無事移行できそうな感じです. 何か Atom のおすすめ拡張機能などあれば教えてください.

あと, もし tree-view-panes が気に入ったら何か買っていただけるとやる気が出ます.

*1:なんか拡張入れたせいかと思ったのですが, それっぽい拡張全てアンインストールしても変わらなかったので標準っぽい?

*2:サイドバー (Tree View) には開いているディレクトリが表示されるだけで, 開いているファイルの一覧は表示されない

*3:どれも Split Up (Left) すると Pane の順序がおかしくなったり, 機能が全然足りていなかったりする