Включение автозаполнения для Google Apps Script в локально установленной IDE
Я пытаюсь строить проекты GAS локально, используя застежку
https://github.com/google/clasp
Любая локально установленная IDE является огромным улучшением по сравнению с Google Script Editor, поэтому инструмент выглядит очень многообещающе. К сожалению, функция автозаполнения для услуг GAS, похоже, не включена в пакет.
В документации сказано:
Интерфейс командной строки Apps Script использует TypeScript для автоматического заполнения и выравнивания при разработке. Используйте IDE, например Visual Studio Code для автодополнения TypeScript.
Пройдя все шаги и установив все необходимые зависимости, я все еще не могу заставить работать функцию автозаполнения. Когда я выполняю команду "clasp pull" для существующего проекта, он преобразует расширение ".gs" в ".js". Предложения автозаполнения являются просто результатом анализа существующего кода.
Например, если я вызову sheet.getRange() где-нибудь в моем коде, то в предложениях появится метод 'getRange()', но я не могу перечислить доступные варианты, скажем, PropertiesService, если он уже не используется в моем код.
Кому-нибудь повезло с включением функции автозаполнения для скрипта Google Apps?
Ответы
Ответ 1
Я нашел решение такого рода работ, но оно может быть неприменимо к другому программному обеспечению. Ниже приведены шаги для кода Visual Studio:
1) Установите пакет NPM, содержащий определения типов для ГАЗА
https://www.npmjs.com/package/@types/google-apps-script
2) В локально сохраненном скрипте создайте файл ".js" и введите
import 'google-apps-script';
Единственная проблема - импорт должен быть удален до отправки обновлений на сервер.
Ответ 2
Этот ответ является небольшим отклонением от принятого для IDE/расширений, которые поддерживают автозаполнение Typescript на основе tsc
/tsserver
:
Установите TypeScript и @types/google-apps-script
Создайте файл jsconfig.json
в локальном каталоге проекта:
{
"compilerOptions": {
"checkJs": true
}
}
Или, если вы используете typescript
вместе с javascript, создайте tsconfig.json
:
{
"compilerOptions": {
"allowJs": true,
"checkJs": true,
"types": ["google-apps-script"]
}
}
Включите оба имени файла в .claspignore
, если вы используете clasp и файл находится в вашем локальном каталоге.
Вы также можете использовать любую из этих конфигураций глобально, если конфигурация находится в вашем домашнем/родительском каталоге, так как tsc ищет эту конфигурацию из папки проекта/локальной папки в корневой каталог (в этом случае вам не нужно включать ее в .claspignore
).
Ответ 3
Как насчет:
Включая имя файла (например, import.js
) в .claspignore
.
Это должно избавить от хлопот, удаляя файл перед каждым нажатием каждый раз.
Ответ 4
это ответ, предоставленный разработчиками Google на следующем видео:
TU17. Расширение возможностей разработчика сценариев Google Apps с использованием clasp и TypeScript
добавьте файл .js в свой проект, например appscript.js, и в этот файл добавьте следующий код:
import "google-apps-script";
Сохраните этот файл, но УБЕДИТЕСЬ, чтобы он игнорировался при отправке файлов обратно в проект с использованием файла .claspignore.