Я пытаюсь создавать проекты GAS локально, используя застежку.

Любая локально установленная IDE является огромным улучшением по сравнению с Google Script Editor, поэтому инструмент выглядит очень многообещающе. К сожалению, функция автозаполнения для услуг GAS, похоже, не включена в пакет.

В документации сказано:

Интерфейс командной строки Apps Script использует TypeScript для автоматического заполнения и выравнивания при разработке. Используйте IDE, например Visual Studio Code для автодополнения TypeScript.

Пройдя все шаги и установив все необходимые зависимости, я все еще не могу заставить работать функцию автозаполнения. Когда я выполняю команду clasp pull для существующего проекта, он преобразует расширение «.gs» в «.js». Предложения автозаполнения являются просто результатом анализа существующего кода.

Например, если я вызову sheet.getRange() где-нибудь в моем коде, то метод getRange() появится в предложениях, но я не могу перечислить доступные варианты, скажем, PropertiesService, если только уже используется в моем коде.

Кому-нибудь повезло с включением функции автозаполнения для скрипта Google Apps?

29
Anton Dementiev 27 Фев 2018 в 21:47

5 ответов

Лучший ответ

Я нашел решение, которое частично работает, но оно может быть неприменимо к другому программному обеспечению. Ниже приведены шаги для кода Visual Studio:

  1. Установите пакет NPM, содержащий определения типов для GAS, используя

    https://www.npmjs.com/package/@types/google-apps-script
    
  2. В вашем локально сохраненном скрипте создайте файл .js и введите

    import 'google-apps-script';
    
21
the Tin Man 5 Май 2020 в 20:29

Этот ответ является незначительным вариантом принятого варианта для 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 ищет эту конфигурацию из проектной / локальной папки в корневую (в этом случае вам не нужно включать ее в {{ Х0 } } ) .

11
TheMaster 29 Сен 2019 в 16:23

Если вы используете любую IDE JetBrains:

Перейдите в Languages & Frameworks -> JavaScript -> Libraries -> Download... и загрузите библиотеку google-apps-script.

enter image description here

1
daaawx 14 Дек 2019 в 21:01

Это ответ, предоставленный разработчиками Google в TU17: расширение возможностей разработчика сценариев Google Apps с помощью застежки и TypeScript "видео.

Добавьте файл JavaScript в ваш проект, например, «appscript.js», и в этом файле добавьте:

import "google-apps-script";

Сохраните этот файл, но не обращайте на него внимания при отправке файлов обратно в проект с помощью файла .claspignore.

0
the Tin Man 5 Май 2020 в 20:32

Попробуйте включить имя файла import.js в .claspignore.

Это должно избавить от некоторых проблем при удалении файла перед каждым нажатием каждый раз.

6
the Tin Man 5 Май 2020 в 20:30