プロジェクトやエディタの設定を確認して、楽にコーディングできるよう調整します。
GASにPushしないファイルを設定
プロジェクト内に、README.md
などの「ClaspでPush出来ないファイル」がある場合に使用します。
特に無い場合は次へ。
.claspignore
の作成
[目標]フォルダ構成
赤字のファイルを作成します。
Bashの場合
ターミナルで
.claspignore
を保存したいフォルダに移動cd <テキストファイルのあるフォルダ>
今回の例では
ルート
フォルダに移動します。cd ルート
ファイルを作成
touch <ファイル名>
ここで
.claspignore
を作成します。touch .claspignore
PowerShellの場合
.claspignore
を保存したいフォルダにテキストファイルを作成test.txt
など適当な名前でOKです。エクスプローラを開き、何もない辺りでShift+右クリック
PowerShellウィンドウをここで開くを選択
ファイル名を変更
ren <作成したファイル名> <新しいファイル名>
test.txt
を.claspignore
に変更する場合は、こんな感じ。ren test.txt .claspignore
pushしないファイルを記入
改めてフォルダ構成を確認
除外するファイルを記入
相対パスで記入と思いきや、「ちょっと違う」ので要注意です。
パスの中に*
を含めると、ワイルドカードとなります。
例えば、このように書くと「末尾に.md
とつくものすべてを除外する」という意味になります。
*.md
また、文頭に!
とつけると「NOT
pushしないもの」、つまり「pushするもの」を指します。
ローカル側のスクリプトファイルの拡張子が.js
なので、これらをすべてpushするとしたらこのように書きます。
!src/*.js
例
# 「.js」とつくものは全て対象とする !src/*.js # 絶対必要! !src/appsscript.json # フォルダ分けは反映させない **/** # エラーになるので「Git関係のファイル」はすべて除外する ./.git
ローカルで編集しやすくする
GASの独自文法・用語をエディタに反映する
このままでもコーディング自体は可能ですが、ローカルエディタはGAS独自の文法を認識できないので色々と不便です。
そこで「型定義ファイル」なるデータをプロジェクトに適用します。
本来はTypescript
用のものですが、JavaScript
でコーディングする場合でもその恩恵に預かることができます。
型定義ファイルの設定ファイル(package.json
)を作成
まずは、型定義ファイルの設定用にpackage.json
を作成します。
プロジェクトのルートフォルダに移動
cd ルート
下記のコマンドで設定ファイル(
package.json
)を作成npm init -y
init
コマンドの意味
npm
でパッケージ管理を始める時は、まずプロジェクトをinit
コマンドでnpm
用に初期化(=initialize)します。
npm init
実行するといろいろ聞かれますが、基本的にはすべてy
(=yes)でOKのようです。
処理が完了すると、ルート
フォルダ直下にpackage.json
が作成された状態になります。
でも、どうせ全部y
なら何回も答えるのは面倒です。
そこで、init
の時にオプションとして-y
(もしくは-yes
)とつけておくと、「全部yesで答えといて」とまとめて指示するコマンドになります。
npm init -y
npm init -yes
GASの型定義ファイルをインストール
そのまま、Google社が配布しているGASの型定義ファイル(のパッケージ)をインストールします。
Clasp用の型定義ファイル(
@types/google-apps-script
)をインストールnpm i --save-dev @types/google-apps-script
コマンドの意味
i
は、過去記事で記載したようにinstall
のショートハンドです。
npm i <パッケージ名>
npm install <パッケージ名>
これを使って、GAS用の型定義ファイルをインストールします。
npm i @types/google-apps-script
また、このパッケージの場合は、オプションとして--save
か--save-dev
をつけるのが慣例のようです。
npm i --save @types/google-apps-script
npm i --save-dev @types/google-apps-script
それぞれの意味を調べてみると…
--save
依存パッケージの場合に指定します。package.json の dependencies に記録されます。このパッケージを誰かが npm install したときに依存パッケージとしてインストールされます。
ここで言う「依存」とは「このパッケージが無いとスクリプト自体動かないよ!」という意味なので、型定義ファイルもこのプロジェクトを使う人全員にインストールされることになるみたいです。
--save-dev
テストツールなど、開発者が使用するパッケージの場合に指定します。package.json の devDependencies に記録されます。このパッケージを npm install しても、インストールされません。ただし、パッケージを Git から clone して npm install した場合は開発者とみなされ、インストールされます。
つまり、「スクリプトの開発には必要なパッケージだけど、実行するだけの人は必ずしもインストールする必要は無い」という意味になるようです。
今回の型定義ファイルは、あくまでも「開発の補助データ」として使うものなので、後者の--save-dev
オプションを使用します。
npm i --save-dev @types/google-apps-script
VSCodeの設定
せっかくなので、ローカルエディタもカスタマイズします。
※当記事では、Visual Studio Code
(通称VSCode
)を例にご紹介します。
拡張機能
コーディング支援
Bracket Pair Colorizer
カッコを色分けしてくれるので、階層が分かりやすくなります。
Trailing Spaces
余分なスペースを色付けしてくれます。
Visual Studio IntelliCode
機械学習でコードを提案してくれる(らしいです)。
正直、まだ効果の程はよく分かってないのですが、先人たちのコーディングに近づけるならと淡く期待しています。
コードの整形
Prettier - Code formatter
JavaScript向けフォーマッタで特に人気なやつ。
フォーマッタをこれに指定して、エディタ上でAlt+Shift+Fで使用できます。
整形のルールは特にいじってませんが、とりあえずそのままでも充分な気がします。
カラーテーマ
Darcula Theme
Chromeの拡張機能で
Darcula
を使用している方におすすめです。- 公式ドキュメント(英語)
Darcula Theme - Visual Studio Marketplace
- 公式ドキュメント(英語)
ターミナル
Output Colorizer
ターミナルの出力結果を少し読みやすくしてくれます。
- 公式ドキュメント(英語)
Output Colorizer - Visual Studio Marketplace
- 公式ドキュメント(英語)
ワークスペースの設定
ショートカットや、プロジェクト固有の設定に使います。
プロジェクトをワークスペースとして保存
プロジェクトを丸ごと「ワークスペース」として保存して、設定ファイル(
***.code-workspace
)を作成します。VSCodeをタスクバーにピン留めしている場合、右クリックで「最近使用したワークスペース一覧」に、このファイルのショートカットが表示されます。
複数のプロジェクトを管理しやすくなるのでオススメです。(お好みで)ワークスペース固有の設定を記入
ワークスペースの設定ファイル(
***.code-workspace
)に、プロジェクト固有のカラーテーマやフォント、フォルダのショートカット等が登録できます。私は下記のように使用しています。
※設定ファイルはルート
フォルダ直下のvscode
フォルダに格納しています。フォルダのショートカット
"folders": [ { "name": "VSCode", "path": "." }, { "name": "ProjectAll", "path": "../" }, { "name": "Git", "path": "../.git" }, { "name": "src", "path": "../src" } ],
それ以外の設定
"settings": { "workbench.colorTheme": "Darcula", "editor.fontSize" : 14, }
このシリーズについて
Google Apps Scriptをローカルで編集する方法について、まとめています。
誤り、分かりづらい等ありましたら、ぜひコメント欄やTwitter、お問い合わせフォーム等でご教示ください。
次回
【Clasp】ローカルでGASを書いてみる ~スクリプトを書いてアップロードする~ - ゆるおたノート
連載目次
- 【Clasp】ローカルでGASを編集するメリットとデメリット - ゆるおたノート
- 【Clasp】ローカルでGASを書く準備 ~Claspをインストールする~ - ゆるおたノート
- 【Clasp】ローカルでGASを書く準備 ~プロジェクトを作成する~ - ゆるおたノート
- 当記事【Clasp】ローカルでGASを書く準備 ~コーディングを楽にする~ - ゆるおたノート
- 【Clasp】ローカルでGASを書いてみる ~スクリプトを書いてアップロードする~ - ゆるおたノート
- 【Clasp】ローカルでGASを書いてみる ~スクリプトをGitで管理する~ - ゆるおたノート
参考
全体の手順
ターミナルの使い方
Clasp