Décrivez le bogue
JavaScriptSnippets cesse de fonctionner ou devient très lent dans les composants Svelte. Également en train de casser constamment le formatage plus joli-vscode.
Reproduire
Installez JavaScriptSnippets , ouvrez un fichier svelte raisonnablement volumineux et essayez de déclencher un extrait.
Comportement prévisible
Les extraits de code doivent s'ouvrir instantanément comme ils le font dans les fichiers js et ne pas se bloquer pendant des secondes / indéfiniment
Système (veuillez compléter les informations suivantes) :
Svelte Beta est également un fournisseur de format, nous avons notre propre ensemble de plus jolis en utilisant le package npm de plus jolis. Pour autant que je sache, vous ne pouvez pas utiliser les deux. Votre configuration fonctionne-t-elle ou fonctionne-t-elle mais extrêmement lentement.
J'ai supprimé le plus joli mais JavaScriptSnippets ne fonctionne toujours pas.
Vidéo du problème : https://streamable.com/23vdzs
Il faut 40 secondes pour que l'extrait apparaisse !
Ce que j'ai dit ne concerne que plus joli cependant. Ces deux problèmes sont distincts.
À propos de JavaScriptSnippets, les autres complétions javascript sont-elles aussi lentes ?
@jarrodldavis assez juste, je
Oui, tout l'auto-complétion est plus lent, mais pas tout à fait 40 s lent, plus de 5/10 s
@rob-balfre Vouliez-vous parler de moi ou de @jasonulu123 ?
Oui, accident total. Pardon
Le ven 19 juin 2020, 16:49 Jarrod Davis, [email protected] a écrit :
@rob-balfre https://github.com/rob-balfre Vouliez-vous me mentionner ou
@jasonulu123 https://github.com/jasonulu123 ?-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/sveltejs/language-tools/issues/207#issuecomment-646468314 ,
ou se désinscrire
https://github.com/notifications/unsubscribe-auth/AAUAM7RDP47JKUF5JGMLFBTRXMC57ANCNFSM4OCHZ2ZA
.
J'ai ouvert un composant d'environ 150 lignes et la suggestion est apparue instantanément.
Pourriez-vous reproduire l'erreur après un rechargement de la fenêtre, puis coller le journal VSCode de Output-Svelte ici ?
Initialize language server at /Users/xx/xxui
Initialize new ts service at
Warning - unrecognized UnaryExpression operator 53!
This is an edge case unaccounted for in svelte2tsx, please file an issue:
https://github.com/sveltejs/language-tools/issues/new/choose
!$xxelections
Warning - unrecognized UnaryExpression operator 53!
This is an edge case unaccounted for in svelte2tsx, please file an issue:
https://github.com/sveltejs/language-tools/issues/new/choose
!$xxelections
SnapshotManager File Statistics:
Project files: 2211
Svelte files: 0
From node_modules: 0
Total: 2211
Trying to load config for /Users/xx/xxui/svelte/components/xx/_SearchForm.svelte
Warning - unrecognized UnaryExpression operator 53!
This is an edge case unaccounted for in svelte2tsx, please file an issue:
https://github.com/sveltejs/language-tools/issues/new/choose
!$userDebtor
Warning - unrecognized UnaryExpression operator 53!
This is an edge case unaccounted for in svelte2tsx, please file an issue:
https://github.com/sveltejs/language-tools/issues/new/choose
!$UserIsConsultant
Warning - unrecognized UnaryExpression operator 53!
This is an edge case unaccounted for in svelte2tsx, please file an issue:
https://github.com/sveltejs/language-tools/issues/new/choose
!$xxelections
Warning - unrecognized UnaryExpression operator 53!
This is an edge case unaccounted for in svelte2tsx, please file an issue:
https://github.com/sveltejs/language-tools/issues/new/choose
!$xxelections
Error walking node {
start: 478,
end: 533,
type: 'IfBlock',
expression: Node {
type: 'MemberExpression',
start: 484,
end: 502,
loc: SourceLocation { start: [Position], end: [Position] },
object: Node {
type: 'Identifier',
start: 484,
end: 490,
loc: [SourceLocation],
name: 'sector'
},
property: Node {
type: 'Identifier',
start: 491,
end: 502,
loc: [SourceLocation],
name: 'CarrierName'
},
computed: false
},
children: [
{ start: 503, end: 525, type: 'MustacheTag', expression: [Node] },
{ start: 525, end: 526, type: 'Text', raw: ' ', data: ' ' }
]
}
Warning - unrecognized UnaryExpression operator 53!
This is an edge case unaccounted for in svelte2tsx, please file an issue:
https://github.com/sveltejs/language-tools/issues/new/choose
!$helpPanelContentKey
@rob-balfre Est-ce le seul fichier qui a le problème ? Je peux reproduire l'avertissement, mais l'achèvement est toujours affiché pour moi. Je pense que ce n'est pas lié au problème que vous rencontrez.
@ jasonyu123 non seulement ce fichier, mais semble être contenu dans ce projet. D'autres projets de taille similaire semblent beaucoup plus fluides. Essayer d'isoler le problème - je vous tiendrai au courant
Ce qui me frappe, c'est qu'il y a 2211 fichiers initialement chargés (ce qui semble beaucoup), aucun d'entre eux n'est un fichier svelte, ce qui semble étrange. Pourriez-vous décrire approximativement la structure des dossiers à partir de la racine dans laquelle vous exécutez VSCode ? Est-ce un simple projet svelte, ou le projet svelte est-il juste un sous-dossier et des choses comme Backend ou d'autres trucs sont à côté ?
Avez-vous un jsconfig.json
à la racine du projet svelte ? Sinon, que se passe-t-il si vous en ajoutez un avec le contenu {}
puis redémarrez VSCode ?
@jasonulu123 Une pensée générale pour éviter les fuites de mémoire s'il n'y a pas de tsconfig.json
ou jsconfig.json
-> et si nous ajoutons une propriété include: ["**/*.svelte"]
au cas où aucune configuration n'est trouvée (similaire à la logique extends
) ? De cette façon, aucun fichier js/ts ne sera chargé, ce qui pourrait entraîner de nombreux problèmes de mémoire.
Cela semble être un bon moyen. il serait peut-être plus aligné sur la façon dont vscode traite js dans l'espace de travail.
Soit dit en passant, lorsque j'essayais cette méthode et que j'ai supprimé jsconfig.json du projet de notre entreprise, le problème rencontré par @rob-balfre apparaît soudainement. La sortie a enregistré le fichier de projet 1000s, les 2000s de node_modules et l'achèvement prend entre 5 et 10 secondes pour s'afficher. L'utilisation de la mémoire passe également de 200 Mo à 900 Mo. Je suppose que le problème que je rencontre est dû au fait que les fichiers dist et j'ai également des packages d'un autre gestionnaire de packages, NuGet pour être plus précis, donc avoir un jsconfig m'épargne beaucoup de maux de tête.
@rob-balfre pouvez-vous vérifier si l'erreur existe toujours ?
@dummdidumm Je peux confirmer que le problème a disparu - n'hésitez pas à fermer 🎉
Merci beaucoup à tous - j'adore cette extension. 👏