この記事は セカンドライフ 技術系 Advent Calendar 2015 の参加記事です。

LSLでの開発にちょっと慣れてきた方向けに、少し高度な内容をご紹介します。

今回はスクリプトそのものの中身ではなく、スクリプトのコードを書くためのテキストエディタを紹介します。

みなさん楽しくLSL書いてますか。
Viewer内蔵エディタで書いてるひとはあんまり楽しくないかもしれません。
だってカーソルの位置壊れてたり書いたそばから消えたりすんだもん・・・。

ATOM紹介編

8年くらいLSL書いてますが、私も最初はViewer内蔵エディタ(Viewer 1.xの時代、この頃内蔵はまだマシだった…)で書いてました。
貧相な編集機能に嫌気が差し、早々に LSL Editor に乗り換え、そのうち本家があまり更新されなくなり
Community Edition に開発が引き継がれてからはCE版に乗り換えて数年がたち、これもそのうち更新が追いつかなくなり
神である佐藤しお氏が 勝手に改造版 を地上にもたらしてくださったのでしばらくお世話になり、
一瞬だけSublimeText(¥6,000で買いましたよ。エェ…)を使い、今年の初めからかな?その後現在進行形で ATOM を使ってます。
今回はこのATOMを使ってLSLを速く・楽ちんに・楽しく書けるよう、導入手順や便利な操作の一部やPackageの紹介をしていきます。

ATOMはLSL専用のコードエディターやIDEではなく、Githubが開発した汎用のテキストエディターです。LSL以外にもC,C++,C#,PHP,javascriptなど様々なプログラミング言語に加え、MarkDownのプレビュー機能なども備えたなんでもできる子です。ただしIDEではないので、LSL Editorなどのようにデバッガーで実行結果を確認することはできません。(※linterでの構文チェックに対応した言語はあります。LSL linter誰か作って)
基本的に ATOMでコードを書く→[全て選択(Ctrl+A)]→ウインドウをビューワに切り替え(Alt+Tab ※Winの場合)→対象のスクリプトを開いた内蔵エディタで[全て選択(Ctrl+A)]→貼り付け(Ctrl+V)→上書き保存(Ctrl+S)してデバッグ という手順が基本になります。お好みでLSL Editor CEまたは勝手に改造版でSyntaxCheckを挟んでもいいでしょう。Debug SettingsからExternalEditorに設定して呼び出して直接編集する方法も試しましたが、普通の.exeではないようなのでよくわからずうまくいきませんでした。できた人がいたらぜひ教えてください。

Packageと呼ばれる拡張機能のようなものを追加することで色々なプログラミング言語のシンタックスハイライトやコード補完に対応させたり、日本語化したり、ファッ?!っと驚くような便利機能を追加したりすることができます。Package追加の操作手順もよくあるExploreでどこかのフォルダを開いてあっちの.iniを書き換え云々・・・という手順ではなく、ATOM内にPackageをディレクトリ検索するやつがあって、絞り込み検索してインストールボタンをポチッとやるだけなので簡単です。ATOMを使うメリットとして

  • 見た目がプロっぽくてかっこいい【最重要】
  • オートインデント、コード補完、複数箇所同時編集など上げればきりがない便利機能がもりだくさん(ほんまいっぱいある)
  • ちょっとした不具合修正や関数追加くらいならPackage配布元の更新が止まっても自分でできる(Packageはすべてテキスト形式なのです)

などがあります。
前置き大好きなので例によってやたら長くなりましたが、実際のコーディングの様子をGIFで撮ったサンプルを用意しました。中の人がどんくさくてしょっちゅうtypoするんですが、それでもATOMで書くと速くて楽だよと言う事がわかりやすいようにあえてNGカットもそのまま掲載しています。

①コード補完

一般的なIDEやLSL Editorを使っている方にはおなじみです。早くてわかりにくいですが、関数名などを途中まで打ち込んだ時点で候補が表示され、リストから選択すると自動で埋めてくれる機能のことです。GoogleやYahooの検索でも同様のオートコンプリート機能があるので、まったく馴染みがない人は居ないかと思います。

②オートインデント

これも一般的なコードエディターではおなじみのやつです。
ショートカットで操作すると捗ります。ショートカットは設定ファイルの書き換えで変更できます。

③行の簡単コピー

Ctrl+Clickで1行飛ばし選択してクローンとかもできます。

④複数行選択

ちなみに行頭に飛ぶのは普通にHomeキーですが、1文字めではなくllSayの前に飛んだりして細かいところにも気が利いています。
Ctrl+←/→で単語単位でカーソル移動とか、Ctrl+Shift+←/→で単語選択なんかもちょー便利です。
1行だけコピーして選択先を複数行選択しておいてまとめて挿入貼り付けとかもできます。

標準機能だけでもまだまだ便利な操作や機能がたくさんあるんですが、きりがないのであとはググったり他の紹介サイトで調べて下さい。
とはいえここで紹介した機能だけでも十分生産性の向上が図れるかと思います。

ATOM導入編

とりあえず公式Webサイトからダウンロードしてインストールします。ここはいちいち説明しませんよ!
Windows/Mac/Linux用がそろっています。
https://atom.io/

英語が苦手な方向けに日本語化手順から。左上のFileからSettingsを開きます。

+Installから”japanese-menu”を検索してInstallボタンを押します。

しばらく待てば自動で反映されるはずですが、変化がない場合はATOMを再起動してみてください。これでめてたく日本語になったかと思います。ちなみにこのInstallがPackage(追加機能)を検索して導入する操作画面です。簡単でしょ?

ついでなのでオススメのPackageとLSL用のPackageも入れちゃいましょう。個人的にはこの4つで事足りています。PHPやJavaScriptなんかも扱うかたはお好きなのを探して入れまくってください。SansarのスクリプトはC# らしいので気が早いひとはlanguage-csharpでも入れちゃいますか?

日本語化するやつです。

LSLのSyntax Highlightとコード補完ができるようになるやつです。”ファイル名.lsl”で保存すると発動します。
執筆時点ではちょっとした不具合があるのであとで直し方を書きます。

名前のとおりミニマップを表示します。スクロールバーも兼ねてる粋なやつです。

連番を一発で入れれるやつです。連番は数式で定義できます。たまにむっちゃ便利です。
さっきのCtrl+Shift+Dのコピーと組み合わせると捗ります。

Packageのほかにみためも変更できます。インターフェースのデザイン・Syntax Highlightのテーマ・フォントなどが変更できます。
個人的にはインターフェースはAtom Dark、Syntax HighlightはBase16 Tommow Dark、フォントは源ノ角ゴシック Code JPが好きです。
エディターのフォントは このへん で設定するのですが、リストで選ぶことはできず、font-familyを手打ちしなければならないので注意してください。これはATOMがChromiumベースな開発でJavaScriptだけでローカルのフォントのリストを取得するのがむずかしいからかも。(マニアック)

ここまでできたらATOMのみためはこんな感じになっているかと思います。

さっき紹介したminimapはこんなやつです。Installして触ればわかります。粋なやつです。(大事なことなので2回め)

肝心のlanguage-lslですが、執筆時点(2015.12.13)のバージョンv2.0.3だとコード補完に一部不具合があり、eventを補完で打ち込むとこんなかんじになります。もしかしたらWindowsだけかもしれません。(MacBookがすぐ横にあるけど未検証)

原因さがしまして、”C:\Users\\.atom\packages\language-lsl\snippets\language-lsl.cson”
こいつのeventを定義してるらへんのエスケープシーケンスが2重になってたので
\\nと\\tをそれぞれ\\n→\nと\\t→\tに置換したらなんかしらんけど直りました。(修正後要再起動っぽい)
language-lsl.csonはさきほどのsettingsのPackage一覧からlanguage-lslを選んで[View Code]でも開けます。

ともあれ、こういう不具合を自分で直すのは楽しいデスネ!

モダンなテキストエディター”ATOM”の紹介とでLSL開発環境を整える導入手順は以上になります。
それではみなさん快適なLSLコーディングライフを!

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Looking for something?

Use the form below to search the site:


Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...

Archives

All entries, chronologically...

ツールバーへスキップ