2011年7月17日日曜日

行番号を(やっと)表示できるようにしたので簡単なソースコード共有とかにどうですか?

JavaのソースコードをWEB上でハイライト表示に変換するアレですが、やっと行番号を表示するオプションを付けました。

参考:
技術への名残り: Javaをやる人でブログを書く人にしか役立たないツールを作りましたよ
技術への名残り: 無駄にアップデート。Javaをやる人でブログを書く人にしか役立たないツール

このツール、元はホントに単純に「(自分がこのブログで使うために)ソースコードをハイライト表示させたい」って思っただけなんですが、ms2からのネタ提供でハイライト結果に一意のURLを振るようにしたので、使い方が変わってきました。

先日、仕事でC#(ASP.NET MVC)を書いててちょっと不安なところがあってどうにかしたいなぁ、と思ったんだけど、物理的に身近なところに詳しい人がいないのでネットで調べたりしたが、どうにもよく分からない。
で、「そうだ、ms2先生に相談してみよう」と。
Gmailを開くとちょうど彼もオンラインになっていて、チャットで話しかけてみたら即返事が来たので、早速相談を持ちかける。
で、こちらの困っていることを説明するところから始めるんだけど、ソースを直接見てもらった方がこちらも説明しやすいし、先方だって理解がしやすいはず。ただ、メールやテキストメッセンジャーで送ったんじゃあ、いくらコードが読める人だってすごく見辛い。

と、そんな時、このツールの出番ですよ!

先方に見てもらいたいソースをコピペしてハイライトさせるとその結果に対して一意のURLが振られるので、そのURLをチャットで「これ見て」と投げれば、先方もブラウザさえあればキレイに整形されたソースコードを見れるのですよ。
で、お互いにこのソースを見ながら、あとはチャットで会話すれば、説明も解説も随分楽になりますよね。よね?

そうやって使ってみたんだけど、行番号が表示されないのが我ながら非常にツライ、ということにハタと気付きまして、ただ、行番号表示は以前から対応しようと思ってたんだけどなぜか上手くいかなくて、それもms2についでに相談したら、Javaの標準APIに「LineNumberReader」というそのものズバリなクラスがあることを教えてもらって、それを使ったらあっという間に行番号表示対応、完了。

というわけで、ようやく行番号表示に対応したので、そういう使い方をされてみるのも良いかと思いますよ。

JavaのプログラムソースコードをHTMLに整形


バグってたり、マズイところがあれば教えてくださいまし。

2011.07.17追記
生成したURLはちょっと長いので、同時にGoogleのURL短縮サービスでショートURLを取得して表示するようにしました。

4 件のコメント:

ms2 さんのコメント...

http://c2html.appspot.com/c2html?k=54d1c9230f03c354c3d8efa114e7f607

ちょうど見ていたSimpleJPAのソースで試しました。いい感じに動いているね。twitterに一発投稿できたりすると、「こんなコードがxx行目で例外なんすけど、誰かわかります?」とか聞けるかも。

今回みたいなケースだとチャット連動もあると嬉しいけど、デファクトスタンダードなチャットが無いので微妙だね。

チャットの文章に#120 とか入力するとその行がハイライトするようにして…(夢見すぎ)

柏 貴光 さんのコメント...

早速さんきゅす。

結局、行き着く果てはDotCloud...?w
http://www.publickey1.jp/blog/11/paasdotcloud.html


うまい具合にハイライトさせる機能は確かに欲しいかも!「うまい具合に」ってのが何ともファジーで大変そうだけど(笑)

とりあえずtwitterから手をつけてみようかな。

またまた、ネタ提供ありがとん!

ms2 さんのコメント...

うまい具合かどうかはわからないけど、こっちでテキスト選択したのが、そっちのブラウザの上でも反映されるようにしてくれまいか?(だから、夢見すぎだって!)

でも、結構可能領域だよね。効率を求めるならWebSocketsとかCommetとかでやるといいのかな。

やばい。そのままソースコード編集まで要求してしまいそうだ。コードレビューアプリになってしまふ。さらにコード編集できるならコンパイルしないとね。

DotCloudまで行くの?それは道のりが長いぜっ。

柏 貴光 さんのコメント...

テキスト選択の共有は、やりたいねぇ。
twitter投稿が終わったらやろ。

とりあえずtwitter投稿の前段としてgoo.gl使ってショートURLを表示するようにしたよ。

当初からコードレビューアプリになりそうな気配はプンプンしてたけど、やはりそうなるかw