salut
Dans un projet Web Flutter, lorsque je "démarre sans débogage",
une fenêtre Chrome s'ouvre sur un port aléatoire
Cependant, pour faire des tests fonctionnels, j'aimerais préciser le port
Existe-t-il une configuration dans laquelle je peux spécifier ce numéro de port ?
Il n'est actuellement pas possible de spécifier ce port à partir de VS Code. Je pense que cela devrait être assez facile à ajouter cependant. En attendant, si vous démarrez l'application manuellement (en exécutant webdev serve
et en passant un port - voir https://pub.dev/packages/webdev#usage), j'espère que cela fonctionnera (vous pouvez également faire ceci à partir d'une "tâche" VS Code afin que vous puissiez l'exécuter rapidement à partir de l'IDE).
Apparemment, ce n'est pas facile à ajouter, il a besoin d'être pris en charge dans webdev (les arguments ci-dessus ne s'appliquent pas au mode daemon
).
C'est maintenant possible avec l'argument --web-port
de Flutter. Vous pouvez l'ajouter dans votre configuration launch.json
comme ceci :
{
"name": "Flutter",
"request": "launch",
"type": "dart",
"args": ["--web-port", "8686"]
},
Vous pouvez également le définir dans dart.flutterAdditionalArgs
, mais il s'appliquera alors à l'ensemble de l'espace de travail ou à toutes les applications (selon l'endroit où vous le définissez).
Remarque : Cela ne fonctionne qu'avec le support Web non forké (qui n'est pas disponible sur la branche principale).
@DanTup Je peux spécifier un numéro de port lorsque j'exécute Flutter à partir de la ligne de commande en utilisant flutter run -d chrome --web-hostname localhost --web-port 7357
mais je n'arrive pas à comprendre comment utiliser ce port automatiquement à partir du launch.json. Voici mon launch.json... est-ce que tout s'additionne ? Il se lance simplement sur un port aléatoire.
{
"version": "0.2.0",
"configurations": [
{
"name": "Dart",
"type": "dart",
"request": "launch",
"program": "lib/main.dart"
},
{
"name": "Flutter",
"request": "launch",
"type": "dart",
"args": ["--web-port", "7357"]
}
]
}
@Ollynov , vous semblez avoir deux configurations de lancement, donc à moins que vous ne sélectionniez la seconde (nommée Flutter ) dans la barre latérale Exécuter, cela n'aura aucun effet. Vous pouvez les fusionner en une seule configuration qui devrait résoudre ce problème :
{
"name": "Flutter (port 7375)",
"type": "dart",
"request": "launch",
"program": "lib/main.dart"
"args": ["--web-port", "7357"]
}
Commentaire le plus utile
C'est maintenant possible avec l'argument
--web-port
de Flutter. Vous pouvez l'ajouter dans votre configurationlaunch.json
comme ceci :Vous pouvez également le définir dans
dart.flutterAdditionalArgs
, mais il s'appliquera alors à l'ensemble de l'espace de travail ou à toutes les applications (selon l'endroit où vous le définissez).Remarque : Cela ne fonctionne qu'avec le support Web non forké (qui n'est pas disponible sur la branche principale).