web-dev-qa-db-fra.com

Activation de la saisie semi-automatique pour le script Google Apps dans un programme installé localement IDE

J'essaie de construire des projets GAS localement à l'aide de fermoir

https://github.com/google/clasp

Tout IDE installé localement est une énorme amélioration par rapport à l'éditeur de script de Google, donc l'outil semble très prometteur. Malheureusement, la fonctionnalité de saisie semi-automatique pour les services GAS ne semble pas être incluse dans le package.

La documentation dit:

La CLI Apps Script utilise TypeScript pour fournir la saisie semi-automatique et le peluchage lors du développement. Utilisez un IDE comme Visual Studio Code pour la saisie semi-automatique TypeScript.

Après avoir suivi les étapes et installé toutes les dépendances requises, je ne parviens toujours pas à faire fonctionner la fonctionnalité de saisie semi-automatique. Lorsque j'exécute la commande "clasp pull" pour le projet existant, il convertit l'extension ".gs" en ".js". Les suggestions de saisie semi-automatique sont simplement le résultat de l'analyse du code existant.

Par exemple, si j'appelle sheet.getRange () quelque part dans mon code, la méthode 'getRange ()' apparaîtra dans les suggestions, mais je ne peux pas lister les options disponibles pour, disons, PropertiesService, à moins qu'elle ne soit déjà utilisée dans mon code.

Quelqu'un a-t-il eu la chance d'activer la fonctionnalité de saisie semi-automatique pour Google Apps Script?

14
Anton Dementiev

J'ai trouvé la solution qui fonctionne, mais elle peut ne pas s'appliquer à d'autres logiciels. Les étapes ci-dessous concernent le code Visual Studio:

1) Installez le package NPM contenant les définitions de type pour GAS

https://www.npmjs.com/package/@types/google-apps-script

2) Dans votre script enregistré localement, créez un fichier '.js' et tapez

import 'google-apps-script';

Le seul problème est que les importations doivent être supprimées avant d'envoyer des mises à jour au serveur.

16
Anton Dementiev

Cette réponse est une variation mineure de celle acceptée pour les autres IDE:

  • Installez TypeScript et @ types/google-apps-script

  • Créer un jsconfig.json fichier dans votre répertoire de projet local:

    { 
        "compilerOptions": {
            "checkJs": true
          }
    }    
    
  • Alternativement, si vous utilisez TypeScript avec javascript, créez un tsconfig.json :

    { 
        "compilerOptions": {
            "allowJs": true,
            "checkJs": true,
            "types": ["google-apps-script"]
          }
    }    
    
  • Inclure les deux noms de fichiers dans .claspignore, si vous utilisez clasp et si le fichier se trouve dans votre répertoire local.

  • Vous pouvez également utiliser n'importe laquelle de ces config globalement, si la config est dans votre répertoire home/parent, car tsc recherche cette config du projet/dossier local à la racine (dans ce cas, vous n'avez pas besoin de l'inclure dans .claspignore).

10
TheMaster

Que diriez-vous:

y compris le nom du fichier (par exemple import.js) dans .claspignore.

Cela devrait vous éviter de supprimer le fichier avant chaque Push à chaque fois.

6
meleu

c'est une réponse fournie par les développeurs de google dans la vidéo suivante:

TU17: Amélioration de l'expérience des développeurs de scripts Google Apps avec fermoir et TypeScript

ajoutez un fichier .js à votre projet comme appscript.js et dans ce fichier ajoutez le code suivant:

import "google-apps-script";

Enregistrez ce fichier mais ASSUREZ-VOUS de l'ignorer lorsque vous repoussez des fichiers dans votre projet à l'aide d'un fichier .claspignore.

0
J King