13
votes

Le rechargement à chaud VSCode pour Flutter ne fonctionne pas

Je suis actuellement sur VSCode et je travaille sur mon application Flutter lorsque le rechargement à chaud cesse de fonctionner, en plein milieu de mon développement. Je n'ai absolument aucune idée de pourquoi cela se produit, je n'avais aucun problème avec cela auparavant dans le passé. Si cela aide quelqu'un, je travaille sur la deuxième page de mon application, à laquelle vous accédez via un itinéraire sur la première page. Est-ce la raison pour laquelle le rechargement à chaud ne fonctionne pas? Si ce n'est pas le cas, quelqu'un peut-il me dire pourquoi cela ne fonctionne pas? C'est vraiment ennuyeux et gênant les progrès de mon application. Merci!

Redémarrage de mon ordinateur et redémarrage du débogage. Je suis sur un Macbook Pro 2015 exécutant macOS Mojave version 10.14.2 si cela vous aide.

Il n'y a pas vraiment de code à afficher, ce n'est pas lié au code. C'est VSCode ou Flutter.

Je m'attends à ce que le rechargement à chaud fonctionne, mais ce n'est pas le cas.


8 commentaires

Pourquoi ne remplissez-vous pas un bogue sur Github?


Est-ce suffisamment sérieux pour remplir un formulaire de problème? Il semble que ce soit probablement un problème mineur et je n'en ai pas vu d'autres en parler


Personnellement, j'utilise Android Studio, je ne peux donc pas en dire beaucoup sur ce problème. Attendons que quelqu'un d'autre propose une solution.


Que signifie exactement «ne fonctionne pas»?


Cela m'arrive aussi, mieux vaut remplir le bug sur github. Cela commence hier, semble après l'appel «mise à niveau du flutter».


Essayez d'utiliser flutter clean avant de compiler. Puis réessayez la fonction de rechargement à chaud. Peut résoudre votre problème


Même problème, je débogue dans iOS Simulator, donc cela ne peut pas être un problème Android Studio, non?


Les utilisateurs d'Android Studio regardent ceci: youtube.com/watch?v=WiujjJxLGIk


13 Réponses :


2
votes

Pour les problèmes de rechargement à chaud qui peuvent survenir avec votre projet,

Il s'agit d'un problème avec votre appareil , et non de scintillement ou d' Android Studio

Cela se produit lorsque votre logcat raccroche .

Vous souhaiterez peut-être augmenter la taille de votre tampon .

Pour ce faire, accédez à votre appareil ou à votre émulateur :

Paramètres> Options du développeur ( assurez-vous qu'ils sont activés ),

Remplacez la taille de la mémoire tampon par un nombre plus élevé.

Puis lancez à nouveau flutter run -v


2 commentaires

même problème qui se passe pour moi aussi et aucun succès avec les étapes ci-dessus.


Ceci est une copie collée à partir d'un problème GH !? Je viens de lire ça ailleurs et ça ne marche pas.



2
votes

Cela semble être un problème de vscode dans la version 1.32.1 - voir https://github.com/flutter/flutter/issues/29275 et https://github.com/Dart-Code/Dart-Code/issues/1518

En attendant, vous pouvez revenir à la version 1.31, attendre un correctif dans la prochaine version, installer la version d'initiés (qui inclut un correctif), ou utiliser «flutter run» depuis le terminal vscode.


0 commentaires

1
votes

J'ai trouvé un moyen de forcer le rechargement à chaud dans VS Code, ce qui est très utile pour ceux qui sont coincés dans cette situation: une fois l'application en cours d'exécution, cliquez simplement sur l'option de débogage en bas de l'éditeur de VS Code lorsque le bouton est déjà nommé "Flutter" et, après avoir choisi "flutter" à nouveau dans la fenêtre flottante supérieure "Debug Configuraion", vous serez averti que l'application est déjà en cours de débogage, mais le rechargement à chaud se produira.


0 commentaires

0
votes

J'ai eu le même problème. Actuellement, j'utilise la version 1.39.2 de VSCode.

Pour que le rechargement à chaud fonctionne, vous devez démarrer le débogage dans VSCode.

Comme il est dit dans la documentation: "Seules les applications Flutter en mode débogage peuvent être rechargées à chaud." https://flutter.dev/docs/development/tools/hot-reload

Vous pouvez trouver cette option dans la navigation supérieure du VSCode dans Debug ou avec le raccourci F5.

Vous n'avez pas besoin de faire un flutter run sur votre terminal, ni même sur VSCode, il suffit de démarrer le débogage et il lancera lib / main.dart en mode débogage.

Si cela ne résout pas le problème, essayez de passer à la dernière version de VSCode.


0 commentaires

13
votes

Le rechargement à chaud ne fonctionne pas si vous lancez votre application à l'aide de f5 ou si vous sélectionnez démarrer le débogage dans la liste déroulante de débogage.

Mais si vous lancez votre application en utilisant Ctrl + f5 ou sélectionnez démarrer sans débogage dans la liste déroulante de débogage.

Pour résoudre le problème, fermez d'abord la session de débogage en cours à l'aide de Shift + f5.

Cliquez ensuite sur déboguer dans la barre de menus. Cliquez sur Démarrer sans débogage.

Démarrer sans débogage

Maintenant, le rechargement à chaud fonctionne parfaitement.

Vous pouvez également effectuer le rechargement à chaud en utilisant le terminal. Tapez simplement: flutter run dans le terminal et l'application sera lancée.

appuyez simplement sur r dans le terminal et le rechargement à chaud sera initialisé.


0 commentaires

0
votes

avec VS Code (v1.44.1), Android Studio (v3.6.2), Flutter v1.12.13 + hotfix.9 sous Linux

Studio Android> dans la fenêtre de démarrage> configurer> gestionnaire AVD> exécuter un appareil virtuel> confirmer que VS Code (v1.44.1) affiche votre appareil virtuel en cours d'exécution dans le coin inférieur droit

VS Code> Exécuter (en haut, à côté de l'aide)> Démarrer le débogage (F5) ou Démarrer sans débogage (Ctrl + F5)

Enregistrez votre code Flutter dans VS Code Ensuite, l'émulateur doit être déclenché pour le rechargement à chaud


0 commentaires

0
votes

J'ai eu le même problème dans le code VS. Voici comment je l'ai résolu:

  1. J'utilisais la propriété de style pour le Text d'un fichier externe. J'ai trouvé que le changement dans le fichier externe ne reflète pas le rechargement à chaud.

              Text(
                AppStrings.giveFeedbackPageText,
                style: AppStyles.bodyText,
                textAlign: TextAlign.center,
                overflow: TextOverflow.ellipsis,
              ),
    

    J'ai donc dû utiliser TextStyle partir de ce fichier au lieu d'un fichier externe, et cela fonctionne! Je ne connais pas la raison. Le style externe doit probablement être à l'intérieur d'un widget.

  2. Une autre solution pourrait être - séparer la home de MaterialApp dans un widget séparé.


0 commentaires

3
votes

Pour moi, sur le dernier studio VS, appuyer sur CRTL + s fait le rechargement à chaud bien pour moi. un peu une habitude d'autres IDE.


3 commentaires

Aussi, une note que je n'ai pas la peine d'utiliser le cmd


Pourquoi ça marche? J'appuyais à plusieurs reprises sur CTRL + F5 et cliquais sur le bouton de rechargement à chaud.


J'aimerais pouvoir vous dire que je n'ai pas utilisé le flutter pendant un certain temps car j'ai été lié à un autre travail. si je devais faire une supposition éclairée, certains IDE ne construiront pas la version actuelle tant que vous ne l'avez pas enregistrée, généralement indiquée par un astrix dans le coin supérieur de l'onglet sur lequel vous travaillez. donc une fois que vous l'avez enregistré, il peut automatiquement le compiler et le construire, mais je devine également qu'il s'agit d'un bogue loufoque dans le mix, car j'ai d'abord essayé ce qu'ils suggéraient et cela n'a pas fonctionné



0
votes

Voici les cas documentés officiels où le rechargement à chaud ne fonctionnera pas:

  1. Les données concernant l'état de l'application sont modifiées (puisque Flutter essaie de maintenir l'état de votre application entre les recharges à chaud)
  2. Changement de variables globales ou de champ statique puisque Flutter les considère comme un état
  3. Modifications apportées à tout ce qui ne se trouve pas dans le chemin de construction (par exemple. InitState ()) et aussi à l'application principale elle-même
  4. Vous avez des erreurs de compilation, vérifiez la debug console pour être sûr
  5. L'application est tuée par l'utilisateur ou par le système d'exploitation en raison de l'inactivité
  6. Lorsque les types énumérés sont remplacés par des classes régulières ou vice versa
  7. La police est modifiée
  8. Lorsque les décorations de type générique sont modifiées
  9. Lorsque le code natif est inclus (Java, Kotlin ou Swift) est modifié
  10. Widget de création CupertinoTabView

référence: Hot Reload


0 commentaires

0
votes

Si vous implémentez votre MaterialApp dans main.dart causera ce problème, la meilleure pratique consiste à séparer un autre fichier de fléchettes, puis à faire référence à main.dart.


1 commentaires

Comment puis je faire ça?



1
votes

enregistrez d'abord votre projet, puis rechargez-le à chaud.


0 commentaires

2
votes

Pour le code VS, allez dans Fichier> Enregistrement automatique. Assurez-vous que vous avez "coché" l'enregistrement automatique.


2 commentaires

Cela m'a aidé. (Y)


m'a aidé aussi, mais il recharge inutilement tous les changements de code temporel



0
votes

Assurez-vous que vous n'avez pas ce type d'importations Je devenais fou et les supprimer a corrigé le rechargement à chaud, vérifiez tous vos fichiers, j'ai trouvé cette réponse dans github: https://github.com/flutter/flutter/issues/49744

fichier d'importation: /// C: /Users/.../.../ <App Name> /lib/filename.dart


0 commentaires