J'essaie d'écrire des scripts extendscript pour Adobe After Effects, en utilisant VSCode. J'aimerais faire du linting (pas trop compliqué s'il s'agit d'ESLint ou de tout autre linter), mais je ne parviens pas à convaincre ESLint de lint mes fichiers.

Extendscript est un dialecte de la norme ECMAScript et donc similaire à JavaScript et ActionScript. Les fichiers ont l'extension .jsx. Il existe des plugins extendscript pour VSCode, celui-ci fournit un support linguistique, pour que VSCode voie mes fichiers .jsx comme des fichiers extendscript. J'espérais donc que cela fonctionnerait dans mon settings.json :

{
  "eslint.options": {
    "extensions":  [".jsx", ".js"]
  },
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "extendscript"
  ]
}

Si j'essaie la commande ESLint.ShowOutputChannel, j'obtiens l'erreur :

ESLint n'est pas en cours d'exécution. Par défaut, seuls les fichiers JavaScript sont validés. Si vous souhaitez valider d'autres types de fichiers, veuillez les spécifier dans le paramètre 'eslint.validate'.

modifier J'ai également essayé de remplacer "extendscript" à la ligne 10 par

{ "language": "extendscript", "autofix": false }

Mais pas de chance.

2
stib 14 mars 2019 à 08:59

2 réponses

Meilleure réponse

Cela a fonctionné pour moi:

{
  "eslint.options": {
    "extensions":  [".jsx", ".js"]
  },
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "jsx"
  ]
}

Recherche sur le repo github pour Extendscript Langue, j'ai découvert que l'identifiant de la langue est enregistré en tant que jsx, au lieu d'extendscript.

2
Lourenzo Ferreira 9 déc. 2019 à 15:59

Je pense que vos paramètres utilisateur/espace de travail sont OK. Peut-être que vous n'avez pas installé ESLint ?

Si vous travaillez sur un espace de travail, vous devriez avoir installé eslint dans votre package.json

npm i -D eslint babel-eslint

Si vous voulez juste que VS Code lint toujours vos fichiers, vous pouvez installer eslint en tant que package global :

npm i -g eslint babel-eslint

Après cela, vous devez initialiser eslint

eslint --init

Voir plus d'exemples et de documentation pour eslint cli

1
jherax 14 mars 2019 à 20:47