Script(以下GAS)は便利なので、業務効率化のために利用することが多いが、標準のオンライン開発環境だとコーディング補助や静的解析が弱いので、ローカルでコーディングできないものか?と思っていた。調べてみると少し前から「clasp」というCLIツールがgoogleより提供されており、これを利用するとローカル環境での開発が可能となることから入れてみた。環境windows8.1参考資料https://qiita.com/rf_p/items/7492375ddd684ba734f8https://qiita.com/soundTricker/items/354a993e354016945e44#%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E4%B8%80%E8%A6%A7%E3%81%AE%E5%8F%96%E5%BE%97%E4%BD%9C%E6%88%90https://qiita.com/HeRo/items/4e65dcc82783b2766c03#%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E7%AE%A1%E7%90%86claspとは?googleから提供されているCLIツール。Suiteからソースをpullしたり、pushしたり、バージョン作成やバージョン確認が可能となる。claspを使って何が嬉しいのか?GASは便利だが、web上の開発ツールだとちょっとしたところが足りない。それがローカル環境だと自分の慣れた環境で開発できる。GASはほぼJavaScriptなので、JavaScript的補完が効き、開発効率UP。gitなどでソースのバージョン管理できる。Basicなので、なんとなく開発と言い切れない部分がローカル環境の開発ツール使って(黒い画面で)操作しているとかっこよく、開発しているっぽさが増す。APIをONにするこのあたりは参考リンクを参照。loginするログインするとwebでいつものグーグルの認証画面が出るので認証を通す。するとwindowsの場合、ユーザーのhomeディレクトリ直下に.clasprc.jsonというjsonファイルが作成される。logoutとするとログアウトするのだが、この時login時に作成された.clasprc.jsonが削除されている。このファイルが認証情報になっている様子。loginせずにいきなりclaspコマンドが利用できた。'hogehoge'でバージョン作成claspで疑問に思ったこととその確認した結果GASプロジェクトを切り替えるにはどうしたらいいのだろうか?参考にした資料でもgoogleのclasp説明資料でもイマイチよくわからなかったので、いろいろ試してみた。その結果、最初にcreateまたはcloneをすると.clasp.jsonというファイルがカレントディレクトリに作成されるのだが、この中にスクリプトIDが記載されていて、その設定ファイルを処理時に参照してGASと紐づけて処理していることが判明した。プロジェクトの切り替えは特別なコマンドで操作する、などではなく、単純にカレントディレクトリを移動するだけでよかった。具体的には以下のようなディレクトリ構成があったとする。hogeB.js作業時にgasprojectAとgasprojectBを交互に操作したい場合があったとしたら、コマンドプロンプトでカレントディレクトリを都度移動して、claspコマンドを打てば、そのカレントディレクトリにあるjsonファイルに記載されたスクリプトIDに紐づくGASプロジェクトに対して、カレントディレクトリ内のファイルをやり取りしてくれる、ということ。pullした時にディレクトリ階層にしてくれるとあるのだが、この「/」があることがもやもやしてしまい、結果自分はローカル環境でそれぞれプロジェクトごとにディレクトリを作成して、そのディレクトリ内にcloneすることにした。例としては上記のプロジェクト切り替えの通り。これでwebのGAS上でも「/」がなく、かつGASプロジェクトごとにディレクトリが分割しているので、gitリポジトリもそれぞれ個別で作成可能となった。Suiteのサービスとセットになっている場合が多いため、ローカルでの動作確認には限界がある。ネットワーク環境にもよると思われるが、処理に時間がかかるもしかしたら都度json見に行っているから?自分のネットワーク環境もあるので、これはイマイチ原因はわからないが、webでコーディングしてそのまま動かす、というclasp利用なしと比べるとこの点はどうしても劣る。なんだかんだでclaspいいよイマイチな部分はあるが、やはりローカル環境での開発とgitでのバージョン管理ができるのはよい。最近はGASのコンソール画面もあり、webでできることも一覧で確認する方法も充実してきているので、web上でのサービスとclaspと組み合わせると結構幸せなGASライフを送れる。Suiteを利用して、GASでなにかしている人にはclaspオススメ。Qrunch.netサーバー提供フィードバックを送信する。