Google Apps Script и Visual Studio Code: Как настроить интеграцию?

Разработка на Google Apps Script (GAS) в стандартном редакторе Google может быть ограничена по сравнению с современными IDE. Интеграция с Visual Studio Code (VS Code) открывает множество преимуществ, значительно повышая эффективность и удобство разработки.

Преимущества использования VS Code для разработки Google Apps Script

  • Расширенные возможности редактирования: VS Code предоставляет мощные инструменты для редактирования кода, включая подсветку синтаксиса, автодополнение, рефакторинг и навигацию по коду.
  • Интеграция с системами контроля версий: Удобная работа с Git, позволяющая отслеживать изменения, сотрудничать с другими разработчиками и легко откатываться к предыдущим версиям.
  • Отладка: Использование console.log и инструментов разработчика браузера для отладки становится более эффективным.
  • Расширяемость: VS Code поддерживает множество расширений, которые могут улучшить процесс разработки, например, линтеры, форматеры и инструменты для работы с базами данных.
  • Автоматизация: Возможность автоматизации рутинных задач, таких как загрузка и выгрузка кода, тестирование и развертывание.

Обзор Google Apps Script и Visual Studio Code

Google Apps Script — это облачный язык сценариев, который позволяет автоматизировать задачи в Google Workspace (Sheets, Docs, Slides, Gmail и др.). Visual Studio Code — это бесплатный, кроссплатформенный редактор кода с открытым исходным кодом, разработанный Microsoft. VS Code является мощным и гибким инструментом, который может быть настроен для работы с различными языками программирования, включая Google Apps Script.

Настройка Visual Studio Code для работы с Google Apps Script

Для начала работы необходимо установить и настроить необходимые инструменты.

Установка и настройка Node.js и npm

Clasp, CLI для Google Apps Script, требует Node.js и npm (Node Package Manager). Скачайте и установите Node.js с официального сайта: https://nodejs.org/. Npm обычно устанавливается вместе с Node.js.

Проверьте установку, выполнив в терминале:

node -v
npm -v

Установка clasp: CLI для Google Apps Script

Clasp — это инструмент командной строки, который позволяет управлять проектами Google Apps Script из VS Code. Установите clasp глобально с помощью npm:

npm install -g @google/clasp

Авторизация clasp для доступа к Google Apps Script

Чтобы clasp мог работать с вашими проектами Google Apps Script, необходимо авторизовать его. Выполните команду clasp login в терминале. Откроется страница авторизации в браузере, где нужно предоставить clasp доступ к вашему аккаунту Google.

clasp login

Создание и настройка проекта Google Apps Script в VS Code

Существует два способа начать работу: клонировать существующий проект или создать новый.

Клонирование существующего проекта Apps Script в VS Code с помощью clasp

  1. Перейдите в Google Apps Script editor вашего проекта.

  2. Скопируйте ID проекта (File -> Project properties).

  3. В VS Code создайте новую папку для проекта.

  4. Откройте терминал в этой папке и выполните команду:

    clasp clone <PROJECT_ID>
    

    Замените <PROJECT_ID> на ID вашего проекта.

Создание нового проекта Apps Script и его инициализация в VS Code

  1. Создайте новую папку для проекта в VS Code.

  2. Откройте терминал в этой папке и выполните команду:

    clasp create --type standalone
    

    Выберите тип проекта (standalone, sheet, document, и т.д.).

Настройка .clasp.json: идентификатор проекта и типы файлов

Файл .clasp.json содержит информацию о проекте, включая ID проекта и типы файлов. Убедитесь, что ID проекта указан правильно. Также в этом файле можно указать, какие типы файлов будут загружаться и выгружаться (например, только .gs файлы).

Пример .clasp.json:

{
  "scriptId": "1234567890abcdefghijklmnopqrstuvwxyz",
  "rootDir": "./src",
  "fileExtension": ".gs"
}

Работа с кодом: Разработка, отладка и развертывание

Теперь, когда все настроено, можно приступать к разработке.

Редактирование кода в VS Code с использованием подсветки синтаксиса и автодополнения

VS Code автоматически определяет тип файлов .gs и применяет подсветку синтаксиса JavaScript. Установите расширения для VS Code, чтобы улучшить автодополнение и получить подсказки по API Google Apps Script.

Загрузка и выгрузка изменений в Google Apps Script с помощью clasp

  • Загрузка изменений (push): Отправляет локальные изменения в Google Apps Script.

    clasp push
    
  • Выгрузка изменений (pull): Загружает последние изменения из Google Apps Script в локальный проект.

    clasp pull
    

Отладка кода: использование console.log и инструментов разработчика браузера

Используйте console.log для вывода информации в журнал выполнения Google Apps Script. Для просмотра журнала используйте инструменты разработчика браузера (View -> Developer -> View Logs) в редакторе Google Apps Script, или используйте clasp logs в терминале.

Пример кода с логированием:

/**
 * Функция для получения данных из Google Sheets.
 * @param {string} spreadsheetId ID таблицы Google Sheets.
 * @param {string} sheetName Название листа.
 * @returns {Array<Array<any>>} Двумерный массив данных из таблицы.
 */
function getDataFromSheet(spreadsheetId: string, sheetName: string): Array<Array<any>> {
  const ss = SpreadsheetApp.openById(spreadsheetId);
  const sheet = ss.getSheetByName(sheetName);
  if (!sheet) {
    console.error(`Sheet with name '${sheetName}' not found.`);
    return [];
  }
  const dataRange = sheet.getDataRange();
  const data = dataRange.getValues();
  console.log(`Retrieved ${data.length} rows from sheet '${sheetName}'.`);
  return data;
}

Развертывание (Deploy) версий проекта из VS Code

Clasp позволяет создавать и развертывать версии проекта из VS Code. Сначала создайте новую версию:

clasp version "Описание версии"

Затем разверните версию:

clasp deploy -V <VERSION_NUMBER> -d "Описание развертывания"

Замените <VERSION_NUMBER> на номер версии.

Продвинутые техники и советы

Использование Git для контроля версий

Инициализируйте Git репозиторий в папке проекта:

git init

Создайте файл .gitignore, чтобы исключить из репозитория ненужные файлы, такие как .clasp.json (если не хотите хранить ID проекта в репозитории).

Настройка линтеров и форматеров кода (ESLint, Prettier)

Используйте ESLint и Prettier для автоматической проверки и форматирования кода. Установите необходимые пакеты:

npm install --save-dev eslint prettier eslint-plugin-googleappsscript

Настройте ESLint и Prettier в соответствии с вашими предпочтениями.

Автоматизация рутинных задач с помощью VS Code tasks

VS Code tasks позволяют автоматизировать рутинные задачи, такие как загрузка и выгрузка кода, запуск тестов и т.д. Создайте файл .vscode/tasks.json и определите в нем необходимые задачи.

Пример tasks.json:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Clasp Push",
      "type": "shell",
      "command": "clasp push",
      "group": "build",
      "problemMatcher": []
    }
  ]
}

Теперь можно запустить задачу Clasp Push из VS Code (Tasks -> Run Task).


Добавить комментарий