Masayan tech blog.

  1. ブログ記事一覧>
  2. Vscodeでclaspを使用してGASのTypescript開発環境を構築する

Vscodeでclaspを使用してGASのTypescript開発環境を構築する

公開日

環境

  • windows10
  • node v14.17.4
  • npm 6.14.14
  • VsCode
  • gitbash 2.32.0.1

動作イメージ

tsファイルでローカルにてコーディング(型定義のfileもインストールするので、GASのコード補完が効く)

CLIからサーバーへpush

pushしたソースをスクリプトエディタ上で実行

設定手順

npmでプロジェクト作成(package.jsonが作成される)

npm init

claspのインストール

claspは、Google が提供するGoogle Apps Script(GAS)をローカルで管理出来る様になる CLI ツールのことです。また、ローカル上でTypeScriptで記述したコードはclaspがをJSにコンパイルしてくれます。

プロジェクトの存在するディレクトリに移動

cd ~/Desktop/private/gas/sample

claspをインストール

今回はグローバルではなく、ローカルにインストールします。

npm install @google/clasp

Googleアカウントにログイン

CLIからログインコマンドを実行

今回はローカルにインストールしているので、claspコマンドにはnpxをprefixとして付与する必要があります。

※グローバルにインストールしていれば、clasp login のみでOK

npx clasp login

npxは、GitHubやGistで公開されているスクリプトをインストールすることなく直接実行できる仕組みです。

googleアカウントの認証

上記ログインコマンドを実行すると、ブラウザで認証画面が表示されるので、googleアカウントへのアクセスを許可してください。

GASプロジェクトの新規作成

ルートディレクトリに作成する

npx clasp create --title "test"

以下のように聞かれるので、今回はsheets(スプレッドシート)を選択。ちなみにstandaloneを選択すると、グーグルのどのサービスにも紐づかない単独のスクリプトとして登録されます(共通化してスプレッドシート間で呼び出したりすることができる)

? Create which script? 
standalone
docs
> sheets
slides
forms
webapp
api

※npx clasp create をしたタイミングで "has not enabled the Apps Script API"と言われたら、
設定画面へ移動して、オンにしてください。

以上で、Google Accountのサーバ上でSpreadSheetが新規作成され、これから作成するソースコードと、Google Accountのソースコードを同期できるようになります。

また、ローカルには以下の2つのファイルが作成されます

  • .clasp.json
  • appsscript.json

サンプルプログラムをサーバーへアップロードする

ソースファイルを作成

touch sample.ts

サンプルコードを記述

sample.ts

function greet() {
  Logger.log('Hello World')
}

サーバーへアップロード

  • pushの対象は.gs,.html,.jsonのみ
  • clasp statusというコマンドでpush対象のファイルを確認することが可能
  • pushしたスクリプトは clone [scriptId] でローカルにクローンすることが可能
  • gitの.gitignoreと同じように、push対象外にしたいファイルを.claspignoreに定義可能
npx clasp push

ブラウザ上でGoogleのスクリプトエディタを起動

clasp open

実行ボタンを押す

"表示"タブからログが出力されていることが確認できる

コードの補完を効かせる

型定義ファイルをインストール

npm install @types/google-apps-script -S

これで、VSCodeがGASの文法を理解できるようになり、補完ができるようになりました。
あとは、開発したら npx clasp push でサーバー上にソースコードを反映させればOKです。

まとめ

いかがでしたでしょうか。本記事では、Vscodeでclaspを使用してGASのTypescript開発環境を構築する手順について紹介しています。スクリプトエディタが少し使いづらいため、Vscode上で補完を効かせながら効率的に開発を行うためには必須の作業かと思いますので、ぜひ試してみてください。