1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

久しぶりにGASのClaspとWebぷちアプリ環境構築 in VSCode

Posted at

GASとClasp

仕事で久しぶりにGASを触るようになり、大したコードもかかないから直接GASのエディターで記載してたけど、VSCodeから書いたほうがいいレベルの分量が想定されたのでClaspで色々やろうと思ったのでメモ

Claspの準備

こちらは、NodeJSとNPMをいれて(今更こちらの詳細は不要と思われる)、Claspをインストール

npm install @google/clasp -g

まあ、ここは普通。コード補完等のために追加でいれるものもあるのだけど、今回パスした(忘れてた)

VSCodeの準備

最近はやりのAI系をいれとくと、この手の「お作法が独特だけどポピュラー」な環境では便利
自分は、
Github Copilot
Google Cloud Code
が入ってます。

Claspがつかえるようにする準備

作業フォルダを作成し、そのフォルダをVSCodeでひらきます。
この時点ではなにもなし、Claspでログインをしておきます

clasp login

ブラウザが開いて認証求められるので認証してください

次にGASファイルのやりとり、ここは前と変わらず、
先にGASを作成してローカルにもってくるか、Claspで作成してアップロードするかで

clasp clone スクリプトID

または

clasp create

ファイルのやりとり

一人でやってるだけなら、

clasp pull

clasp push

で取得とアップロードができるので、こちらで完了

開発時のデプロイ

今回は、Taskをつかってみた
tasks.jsonをプロジェクトフォルダの直下に.vscodeをつくりそこにおく

Pull、Push

tasks.json
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Clasp Pull",
      "type": "shell",
      "command": "clasp pull",
      "group": "none",
      "problemMatcher": []
    },
    {
      "label": "Clasp Push",
      "type": "shell",
      "command": "clasp push",
      "group": "none",
      "problemMatcher": []
    }
  ]
}

次にClaspコマンドで新しいバージョン、シェルスクリプトで現在のデプロイIDのバージョンをつくったバージョンに変更するスクリプトをつくる

update-deployment.sh
#!/bin/bash

# 新しいバージョンを作成
version=$(clasp version "Updated via VSCode" | grep -o '[0-9]*')

# 特定のデプロイIDでデプロイを更新
deployId="DEPLOY_ID_FOR_UPDATE"
clasp deploy -i $deployId -V $version

シェルスクリプトには実行権限をつけておく

chmod +x ./update-deployment.sh

新しいバージョンをつくるTaskとできたバージョンの番号をつかって特定のデプロイIDのバージョンを更新するTask
(バージョンをつくるTaskは自分では使用しない。デプロイ更新のTaskから呼ばれる)

tasks.json
        {
            "label": "Create New Version",
            "type": "shell",
            "command": "clasp version 'New version from VSCode'",
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "label": "Update Deployment",
            "type": "shell",
            "command": "./update-deployment.sh",
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },

tasks.jsonやupdate-deployment.shの置き場所等に問題がなければこれでOK

ものぐさなのでさらにアドオンにたよる

これをターミナル→タスクの実行、でやるのでいいのだけど、GUIでポチッとな、をしたいのでアドオンをいれた
私がいれたのはこれ
Task Runner

すると、左下のアウトライン、タイムラインの下にTASKRUNNERがあらわれ、上で作成した各種Taskが表示されるので、それぞれ必要に応じて実行する

雑感

正直、ここらへんのよく行われる作業については、たいていのAIは知っているので、聞くとほぼ問題なく答えてくれるし、GASのコードもやりたいことを正確にコメントでかけば、コパイロットがサジェストしてくれるのでいちいちググることもへるかもしれない
サンデーエンジニアにはいい時代になった(笑

ただし、AIたまに間違えるので注意。GASではあまり見ないけど、VBAでガンガン存在しないメソッドを提案されてこまりました

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?