Vscode: [php] Fournir html intellisense

Créé le 25 nov. 2015  ·  234Commentaires  ·  Source: microsoft/vscode

Dans les fichiers PHP, il n'y a pas de complétion automatique des balises html, veuillez ajouter.


EDIT 13/09/2018 @egamma : VS Code ne fournit qu'un support de base pour PHP, mais il existe de puissantes extensions PHP disponibles sur le marché:

Cette fonctionnalité devrait être fournie par ces extensions (Intelephence la prend déjà en charge). Veuillez essayer ces extensions et contribuer à les améliorer en déposant des problèmes et en tirant des requêtes.

Ce problème a perdu son attention et s'est transformé en une discussion sur la question de savoir si VS Code devrait fournir un support PHP prêt à l'emploi. Cependant, comme avec de nombreux autres langages comme C #, C ++, Go, Python, Rust, nous ne voulons pas regrouper PHP avec VS Code, mais plutôt nous fier à notre excellent écosystème d'extensions. Je clôt donc ce numéro.

feature-request help wanted languages-basic php

Commentaire le plus utile

Je ne peux pas aider, mais encore +1000 de ma part. HTML / CSS / JS en PHP est commun en tant que fichier mixte. J'ai essayé Visual Studio + VS.php complet - également non pris en charge. Je me demande toujours pourquoi est-ce négligé dans tous les outils de développement Microsoft censés prendre en charge PHP. Oui, le support PHP est là, mais il est inutile si nous n'avons pas IntelliSense (complétion de code et suggestions de code) pour HTML / CSS / JS également.

Il en va de même pour les blocs JS et le CSS en ligne en HTML.
Si je définis dans settings.json:
"files.associations": {"*.php": "html"},
... que PHP IntelliSense (évidemment) ne fonctionne pas, et HTML entre en jeu. Mais inline-CSS en utilisant style=" ...something... "; n'offre aucune propriété CSS lors de l'écriture entre guillemets d'attribut de style.
De même, si je démarre un bloc <script> , vous n'obtiendrez pas IntelliSense pour JS, tandis que l'ouverture du fichier .js réagit normalement.

Je soutiens la suggestion que (si c'est plus facile):

  • <?php ... ?> devrait démarrer PHP IntelliSense
  • en dehors de <?php ... ?> devrait démarrer HTML IntelliSense
    mais aussi
  • à l'intérieur de <style> ... </style> et style=" .... " devraient démarrer CSS IntelliSense
  • à l'intérieur de <script ... > et <script> ... </script> devraient démarrer JS IntelliSense

Aussi, si possible, une suggestion de @TheColorRed devrait être considérée, c'est-à-dire si vous êtes à l'intérieur
<?php ... ?> mais écrivez une chaîne, par exemple $string="..." qu'il devrait également envisager de transformer HTML IntelliSense. Le fait est que les développeurs PHP utilisent souvent quelque chose comme:
<?php
$something="test";
echo "<div><a href="http://sample.com">This is a ".$something."</a></div>";
$continue = "coding here ... etc";
?>
.. pour éviter de faire des blocs avec ouverture / fermeture de balises php tout le temps, comme:
<?php
$something="test"; ?>
<div>
<a href="http://sample.com">This is a <?php echo $something; ?></a>
</div>
<?php
$continue = "coding here ... etc";
?>

De plus ,

J'espère qu'il existe un consensus sur le fait que cette fonctionnalité devrait exister, et que le support PHP actuel sans elle n'est qu'un support partiel pour la plupart des développeurs PHP.

PS Et encore une fois, ne pas avoir l'air d'un critique - j'aime vraiment VS Code jusqu'à présent, et je suis très reconnaissant à tous ceux qui ont contribué et continuent de contribuer à ce merveilleux projet!

ÉDITER:
Est-ce que simplement inclure / référencer un fichier .ts vers un autre travail?
Par exemple, dans /languages/php/common/php.ts
inclure: /languages/html/common/html.ts
inclure: /languages/css/common/css.ts
comprendre: ...

Bien qu'il puisse y avoir un chevauchement avec les noms de balise / attribut / fonction, rien ne me vient à l'esprit pour le moment ... Et pour IntelliSense, ce n'est pas un problème, je pense que chacun aurait une icône différente, seul le codage couleur pourrait être perturbé dans de tels cas ... Est-ce que je manque autre chose?

Tous les 234 commentaires

Semble raisonnable. Les fournisseurs d'intellisense de balises HTML se trouvent ici , il peut s'agir simplement de connecter ce module au code PHP. S'assurant également qu'ils ne sont disponibles qu'en dehors des balises <?php , si je me souviens comment PHP fonctionne correctement.

@Tyriar en dehors des balises <?php signifie quoi? Sont-ils disponibles en dehors des balises <?php ?> dans les fichiers PHP?

En dehors de <?php ?> est HTML, à l'intérieur est PHP. La saisie automatique HTML ne doit donc être disponible qu'en dehors des balises <?php ?> .

@Tyriar Mais maintenant , ils ne sont pas disponibles en dehors des <?php ?> tags dans .php fichiers, peut - être qu'ils ne sont disponibles que dans .html fichiers.

Veuillez ajouter cette fonctionnalité rapidement, je pense que c'est une fonctionnalité de base, merci les gars.

@osjn merci de nous aider avec la priorisation en commentant. Une meilleure façon de nous aider serait une Pull Request avec une implémentation.

Peut-être que c'est juste moi, mais je pense que ce serait cool si intellisense était également disponible à l'intérieur des chaînes php.

Un vote positif de ma part aussi. Cette fonctionnalité est nécessaire, s'il vous plaît.

Presque tous les développeurs PHP auront besoin de cette fonctionnalité pour choisir VSCode comme éditeur principal.

Nous avons besoin de résoudre ce problème afin de cibler davantage de développeurs.

Hier, j'ai essayé de me cogner la tête contre ce problème, mais malheureusement, mon manque de compétences TypeScript me retient pour vous aider sur ce problème.

J'ai besoin de ça!

Même. Simplement +1000

Je ne peux pas aider, mais encore +1000 de ma part. HTML / CSS / JS en PHP est commun en tant que fichier mixte. J'ai essayé Visual Studio + VS.php complet - également non pris en charge. Je me demande toujours pourquoi est-ce négligé dans tous les outils de développement Microsoft censés prendre en charge PHP. Oui, le support PHP est là, mais il est inutile si nous n'avons pas IntelliSense (complétion de code et suggestions de code) pour HTML / CSS / JS également.

Il en va de même pour les blocs JS et le CSS en ligne en HTML.
Si je définis dans settings.json:
"files.associations": {"*.php": "html"},
... que PHP IntelliSense (évidemment) ne fonctionne pas, et HTML entre en jeu. Mais inline-CSS en utilisant style=" ...something... "; n'offre aucune propriété CSS lors de l'écriture entre guillemets d'attribut de style.
De même, si je démarre un bloc <script> , vous n'obtiendrez pas IntelliSense pour JS, tandis que l'ouverture du fichier .js réagit normalement.

Je soutiens la suggestion que (si c'est plus facile):

  • <?php ... ?> devrait démarrer PHP IntelliSense
  • en dehors de <?php ... ?> devrait démarrer HTML IntelliSense
    mais aussi
  • à l'intérieur de <style> ... </style> et style=" .... " devraient démarrer CSS IntelliSense
  • à l'intérieur de <script ... > et <script> ... </script> devraient démarrer JS IntelliSense

Aussi, si possible, une suggestion de @TheColorRed devrait être considérée, c'est-à-dire si vous êtes à l'intérieur
<?php ... ?> mais écrivez une chaîne, par exemple $string="..." qu'il devrait également envisager de transformer HTML IntelliSense. Le fait est que les développeurs PHP utilisent souvent quelque chose comme:
<?php
$something="test";
echo "<div><a href="http://sample.com">This is a ".$something."</a></div>";
$continue = "coding here ... etc";
?>
.. pour éviter de faire des blocs avec ouverture / fermeture de balises php tout le temps, comme:
<?php
$something="test"; ?>
<div>
<a href="http://sample.com">This is a <?php echo $something; ?></a>
</div>
<?php
$continue = "coding here ... etc";
?>

De plus ,

J'espère qu'il existe un consensus sur le fait que cette fonctionnalité devrait exister, et que le support PHP actuel sans elle n'est qu'un support partiel pour la plupart des développeurs PHP.

PS Et encore une fois, ne pas avoir l'air d'un critique - j'aime vraiment VS Code jusqu'à présent, et je suis très reconnaissant à tous ceux qui ont contribué et continuent de contribuer à ce merveilleux projet!

ÉDITER:
Est-ce que simplement inclure / référencer un fichier .ts vers un autre travail?
Par exemple, dans /languages/php/common/php.ts
inclure: /languages/html/common/html.ts
inclure: /languages/css/common/css.ts
comprendre: ...

Bien qu'il puisse y avoir un chevauchement avec les noms de balise / attribut / fonction, rien ne me vient à l'esprit pour le moment ... Et pour IntelliSense, ce n'est pas un problème, je pense que chacun aurait une icône différente, seul le codage couleur pourrait être perturbé dans de tels cas ... Est-ce que je manque autre chose?

si cela n'est pas ajouté, alors je dois changer d'éditeur, en ce moment j'utilise 2 éditeurs ...

S'il vous plaît, comment puis-je désactiver de HTML IntelliSense lorsque je travaille avec un PHP?

Cette option est un cauchemar, car je ne peux pas tabuler dans une variable car créer automatiquement une balise XML / HTML.

Je ne mélange pas mon code PHP avec le HTML, et je ne ferai jamais cette erreur, s'il vous plaît, ajoutez au moins l'option pour le désactiver en "mode" PHP.

Pour PHP, vous devriez essayer crane intellisense https://marketplace.visualstudio.com/items?itemName=HvyIndustries.crane

@TheColorRed Crane Intellisense a le problème. C'est de loin l'extension PHP VS Code la plus populaire, donc je suppose que c'est ce avec quoi la plupart des gens signalent leur problème.

même ici, nous avons besoin de l'auto-complétion pour CSS / JS en HTML. Sinon, passer à Monaco n'est pas une vraie option :-)

Je viens d'essayer vscode mais l'absence de cette fonctionnalité m'empêche d'utiliser cet IDE. Veuillez fournir cette fonctionnalité car elle est indispensable pour chaque IDE.
Merci d'avance.

C'est vraiment nécessaire. Il est incroyablement ennuyeux de ne pas obtenir une bonne intelligence lorsque vous insérez du code php dans un fichier html ou du html dans un fichier php.

Une grande fonctionnalité qui me manque et elle m'empêche, ainsi que mes collègues, d'utiliser vsCode comme éditeur principal.

C'est un tueur d'affaire pour moi sans cette caractéristique très commune. Dommage cependant ... J'adore VRAIMENT, VRAIMENT, VRAIMENT cet IDE. Si cela est ajouté, je serai si heureux.

@egamma Je vais

@TechnikEmpire s'il vous plaît ne lisez pas trop dans un commentaire que j'ai fait en décembre 2015, alors que nous nous remettions de la grande version de novembre de VS Code. Toutes mes excuses si ce commentaire était sarcastique.

Il y a de bons progrès en ce qui concerne Intellisense pour PHP. Si vous souhaitez contribuer, alors je suggère de chercher à contribuer au projet php-language-server sur lequel @felixfbecker travaille. Felix est également l'auteur du débogueur php . Voici les référentiels associés:

Vous trouverez plus d'informations sur l'approche du serveur de langue et le protocole du serveur de langue ici.

@egamma Mais est-il possible que le serveur de langage PHP puisse "déléguer" au serveur de langage HTML de VS Code? On dirait que https://github.com/Microsoft/vscode/issues/1751 couvrirait cela

@felixfbecker maintenant que nous avons extrait le serveur de langage HTML, le premier scénario que nous voulons étudier est de savoir comment l'intégrer au serveur de langage CSS afin que nous puissions fournir Intellisense dans les sections CSS. Cela correspond au premier scénario que vous mentionnez dans # 1751 et qui a également été demandé dans # 8928.

Ce travail n'a pas été fait pour septembre et il est maintenant prévu pour octobre.

Merci! Le support CSS dans le travail HTML est prévu pour octobre, qu'en est-il de JS aka <script> support?

@egamma y a-t-il des changements ou des améliorations? La mi-octobre est passée, donc je voulais juste revérifier. Jusqu'à présent, après 5 mois, je n'utilise toujours pas VS Code comme éditeur principal à cause du problème, et je suis sûr qu'il existe des centaines d'âmes silencieuses. Je suis content qu'il y ait du travail avec le mixage HTML / CSS, mais nous avons vraiment besoin d'un support HTML + CSS + JS + PHP complet ...

@luxzg Progression HTML + CSS selon le plan d'octobre, HTML + CSS + JS est un bout droit. Suivez nos progrès ici: https://github.com/Microsoft/vscode/projects/2

Pour moi, les inliners PowerShell dans certains types de fichiers devops éditant cette fonctionnalité aident également beaucoup. Peut-être quelqu'un a-t-il une extension dont la syntaxe est particulièrement modifiée automatiquement lorsqu'un curseur se trouve dans un bloc de code?

FWIW le plug-in "HTML Snippets" allongé côté PHP Intellisense fonctionne bien pour moi.

@matthewringer le plugin ne fonctionne pas pour moi

C'est aussi un problème pour moi. N'y a-t-il pas encore eu de mouvement à ce sujet?

Espérons que cela sera ajouté bientôt. Sans cela, je doute que n'importe quel développeur php l'utilisera.

Sublime me démange mal de revenir en arrière (TM). VSCode si vous m'aimez que sauvez mon âme et ajoutez le support HTML CSS & JS s'il vous plaît.

Bien plus d'un an et TOUJOURS aucun soutien pour cela? Vraiment? ... et là, je pensais que MS avait finalement fabriqué un produit qui n'était pas une poubelle.

C'est la seule fonctionnalité, qui pour moi, rend PHPStorm, tellement meilleur que tout ce que j'ai essayé. S'ils peuvent enfin implémenter le support approprié de la mise en évidence d'intellisense / syntaxe pour PHP avec HTML, CSS, Javascript, alors nous pourrions enfin avoir un très bon éditeur PHP léger.

C'est très ennuyeux en ce moment de taper du HTML, du CSS ou du Javascript et d'obtenir des complétions PHP partout. Vous pourriez aussi bien utiliser un autre éditeur sans saisie semi-automatique.

Il ne peut pas être si difficile de simplement classer les fichiers .php en HTML puis d'analyser uniquement ce qui se trouve à l'intérieur des balises <?php ?> tant que code PHP, n'est-ce pas?

+1 de moi, veuillez les mélanger :)

Je viens de commencer à utiliser VScode tout en apprenant la programmation et c'est super génial - aimer la vitesse, le polissage et la facilité d'utilisation - des trucs magiques. Je viens de me rendre compte aujourd'hui qu'il ne récupère pas le HTML dans les fichiers PHP (avec ou sans les balises PHP), ce qui rend la correspondance des balises HTML assez difficile. Je dois passer à un autre éditeur, ce qui n'est pas idéal.

Désolé, je ne suis pas assez expérimenté pour essayer à distance d'ajouter ceci / réparer moi-même mais j'apprécierais vraiment que quelqu'un chez Microsoft puisse l'ajouter. J'intègre régulièrement du code HTML, Javascript, CSS et SQL dans mes fichiers PHP. Ce serait formidable si tout cela pouvait être détecté comme dans d'autres éditeurs, même si je suis sûr que ce n'est pas anodin d'ajouter cette fonctionnalité. Je détesterais vraiment devoir quitter VScode tous ensemble car cela rend l'expérience d'apprentissage agréable.

@egamma @aeschli cela

@felixfbecker oui ce support est disponible depuis quelques jalons, veuillez voir

image

Le serveur de langage html peut être trouvé ici https://github.com/Microsoft/vscode-html-languageservice.

L'approche a été imitée pour le support du langage vue https://github.com/octref/vetur

// fyi @aeschli

@egamma Alors, comment

laissant ça ici

@felixfbecker Nous n'avons actuellement aucune autre documentation à part le code, désolé. Je vous suggère de vous connecter avec @aeschli pour une plongée approfondie lorsque vous souhaitez commencer à ajouter ce support pour php.

@felixfbecker

Il semble qu'il n'y ait pas encore de moyen généralisé de faire l'injection de langage, mais l'implémentation de l'extension html est assez simple.

Je pense que maintenant, il atteint un bon compromis: VSCode propose des packages html / css LS pour alléger la mise en œuvre du support du langage intégré. Pendant ce temps, il garde la flexibilité afin que chaque LS puisse réagir différemment en fonction de son contexte.

Par contexte, je veux dire, l'extension html pourrait télécharger jquery.d.ts lorsqu'une balise de script avec jquery est incluse (ne s'appliquerait pas à vue), ou l'extension vue marquer chaque fichier .vue comme un composant pour faire la résolution de module (ne appliquer au html).

Pour citer @aeschli : https://github.com/Microsoft/vscode/issues/12354#issuecomment -257242426

Il y a des bugs qui veulent que nous trouvions une solution générale pour le contenu intégré, mais je pense que nous n'y parviendrons pas. Il existe des différences subtiles dans chaque cas où nous pensons qu'il est préférable d'avoir une implémentation spécifique de chaque langue hôte pour la meilleure expérience utilisateur.

Mais je conviens que la documentation pour la mise en œuvre du support de langage intégré fait défaut. Je suppose que je ferai un peu d'écriture une fois que j'aurai terminé toutes les fonctionnalités principales de mon extension vue.

C'est très malheureux. Ne pouvons-nous pas ajouter cette capacité à LSP? Le serveur de langue est ce qui analyse les documents dans un AST, de sorte que seul le serveur de langue sait quelle partie du document est écrite dans une langue différente et doit être transmise. Alors maintenant, l'extension _aussi_ doit analyser le document? Dans la plupart des cas, ce n'est même pas possible car l'analyseur dépend d'un autre runtime que Node (PHP, Java, ...).

Je n'imagine pas que l'ajout de cela à LSP serait aussi difficile, par exemple le serveur pourrait simplement envoyer une notification pour un URI avec un tableau d'une plage + un mode de langue. Tout éditeur (pas seulement VS Code) pourrait utiliser un serveur de langue différent pour cette plage.

@egamma Je n'ai pas trouvé le code dans le référentiel qui transmet le langage, pourriez-vous donner un pointeur plus spécifique? Désolé si j'ai oublié cela.

@felixfbecker Erich signifiait: l'intégration de différents services linguistiques se fait à l'intérieur du _serveur_.
Vous pouvez par exemple le voir dans les dépendances du serveur html.
De cette façon, le serveur est autonome et a un contrôle total de la configuration du contexte du langage embarqué (les bibliothèques JavaScript sont disponibles dans le contenu embarqué, version du langage (ES5, ES6 ..)).

C'est là que la solution que vous décrivez (communication entre serveurs linguistiques) commence à poser problème. Cela conduit probablement à des API et des dépendances spécifiques au serveur de langue entre les serveurs.
Nous aimerions garder le couplage bas et les extensions de langage remplaçables.

Cela dit, chaque serveur de langue est libre de choisir son approche. Vous pouvez utiliser des messages LS personnalisés pour ce faire. C'est ainsi que nous l'avons implémenté dans la version de novembre. Le serveur renvoie la demande au client, le client demande d'autres extensions basées sur des documents virtuels qui contiennent uniquement le contenu linguistique intégré.

Je suggère que nous poursuivions la discussion est une question distincte. Peut-être déposer un nouveau problème avec les suggestions que vous avez sur la façon d'étendre le LSP?

Sonnerie ici aussi. J'adore VS Code jusqu'à présent, mais l'absence de concurrence entre les balises HTML à l'intérieur de PHP est un véritable facteur de rupture. Je passe temporairement en mode langage HTML pour les fichiers PHP, mais je ne sais pas comment cela fonctionnera à la fin.

Je suis tombé amoureux de VSCode jusqu'à ce que je découvre qu'il lui manquait cette fonctionnalité plutôt basique. Retourné au sublime pour l'instant.

Cette fonctionnalité m'empêche de passer à VSCode.

C'est une fonctionnalité indispensable. +99999

Une telle fonctionnalité de base qui existe dans tous les autres éditeurs: |

Se désabonner

Des mises à jour sur le moment auquel nous pouvons nous attendre?

Dans mon esprit, cela serait directement lié au n ° 765.

: +1: Tellement bon éditeur et il manque une fonction aussi simple :(

J'imagine que si cela n'a pas été purement et simplement fermé, il le sera potentiellement un jour. J'espère bien - le plus tôt sera le mieux.

La SEULE chose qui m'empêche de passer à VSCode d'Atom est l'absence de cette fonctionnalité cruciale :(

Quelqu'un peut-il donc suggérer des éditeurs alternatifs pour PHP / HTML / JS Web full-stack? J'adore vraiment VSCode, mais ce manque de fonctionnalité n'est qu'un bloqueur pour moi. PHPStorm ou WebStorm est-il bon?

En tant que mainteneur de PHP IntelliSense, ce fil est un cauchemar auquel s'abonner. Si vous souhaitez attribuer +1 au problème, donnez-lui un coup de pouce. Tous ces commentaires +1 encombrent les responsables du fil et du spam avec des notifications sans ajouter aucune valeur à la discussion. Et à tous ceux qui disent "c'est une fonctionnalité si simple": ce n'est pas le cas. Mais si vous pensez que oui, n'hésitez pas à faire un PR.

@felixfbecker Je pense que cela montre à quel point les gens sont frustrés par ce problème. Ce n'est pas tellement une fonctionnalité simple; Je suis d'accord que sa mise en œuvre est complexe, mais c'est plus que les gens en sont venus à s'attendre à ce genre de fonctionnalité avec un éditeur de texte, et comme moi après être tombé amoureux de VScode, sont assez choqués qu'il manque.

Il s'agit de l'absence de feuille de route sur une question aussi importante. Simple ou pas, c'est une fonctionnalité requise pour un environnement de développement en 2017. Une solution super simple serait de nous laisser taguer des sections avec des commentaires ou un autre mot-clé pour spécifier l'intelligence que nous voulons. Chose de blocs de code GitHub, enveloppez une section de texte dans des balises.

Bien que ce soit un peu ennuyeux d'entendre tous les pleurnicheries, et j'ai été l'un à
intervenir sur cette question, il est important de l’entendre.

Peu importe si quelque chose est open source, vous êtes toujours engagé dans
livrer un produit aux consommateurs et quand ça craint, les gens vont
se plaindre. Quand mon concessionnaire automobile lance un lavage gratuit avec mon service annuel
et le lave-auto au salaire minimum laisse des traces partout dans ma voiture, je pars
se plaindre.

Gratuit ou non, il y a un investissement de la part de l'utilisateur pour modifier son
workflow avec un nouvel éditeur. Les gens font cela uniquement pour découvrir que
ils ont perdu du temps et pourraient tout aussi bien s'en tenir à l'utilisation du bloc-notes. Les gens peuvent
se désinscrire s'ils ne veulent pas entendre les commentaires négatifs, mais c'est
important que Microsoft entende ces plaintes. Après tout, ils ont
investi de manière significative dans la production de ce produit et que sont-ils
récupérer leur argent? Les gens qui ont une raison de plus de maudire leur
et ne pas utiliser le produit auquel ils ont contribué.

En ce qui concerne les pull requests, les gens sont déjà ennuyés que leur temps
l'investissement juste pour changer de flux de travail et d'outils a été gaspillé. Il y a
peu ou pas d'informations sur où commencer même à gagner du temps
même s’ils avaient l’impression de perdre plus de temps. Ce
n'est pas une caractéristique complexe sur papier, donc si c'est en pratique, alors peut-être
il y a de graves lacunes dans la conception de l'application. je peux seulement
spéculer, comme tout le monde, parce que nous ne sommes pas payés par quelqu'un
pour apprendre cette base de code.

Le mer 29 mars 2017 à 09:37 Stephen Eckels [email protected]
a écrit:

Il s'agit de l'absence de feuille de route sur une question aussi importante. Simple ou pas
c'est une fonctionnalité requise pour un environnement de développement en 2017. Correctif super simple
serait laissez-nous baliser les sections avec des commentaires ou un autre mot-clé à spécifier
quelle intelligence nous voulons. Chose de blocs de code GitHub, enveloppez une section de
texte dans les balises.

-
Vous recevez cela parce que vous avez été mentionné.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-290091896 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AKtty5-1B6H5kqCCq9mb8rva78_dR53Uks5rql6ZgaJpZM4Gpk-J
.

>

Jesse Nicholson

LA RÉPONSE À TOUS CE PROBLÈME POUR MOI ÉTAIT NETBEANS POUR PHP

UNE GRANDE IDE QUE JE NE CHANGERA PAS PENDANT LONGTEMPS.

@ madruga88 Netbeans n'est même pas la meilleure chose. Je crois que PHPStorm est actuellement le meilleur éditeur PHP sur le marché. Je crois que Jetbrains a pris toute l'assistance de codage intelligent de Microsoft et l'a beaucoup améliorée.

Quand j'ai commencé à utiliser VSCode, le seul IDE qui m'a rappelé était celui des produits IntelliJ en raison de la rapidité avec laquelle les achèvements se sont manifestés. En fait, VSCode et PHPStorm ont un sentiment très similaire prêt à l'emploi en termes de fonctionnalités d'édition générales. Le seul endroit où VSCode échoue dur (et je veux dire vraiment difficile) est sur PHP avec HTML intégré (qui aurait dû fonctionner depuis le début).

Si VSCode faisait enfin fonctionner le HTML intégré avec PHP, il deviendrait facilement le meilleur éditeur de texte (non IDE) pour PHP.

Actuellement, je m'en tiens à utiliser Sublime Text car il sait au moins si je suis en HTML, CSS, Javascript ou PHP dans le même fichier et donne au moins les complétions appropriées.

Le plus drôle est le texte Sublime lorsqu'un fichier PHP le traite comme un simple fichier HTML. VSCode ne peut-il pas également ajouter le support PHP à la syntaxe HTML? Pas besoin d'avoir 2 syntaxes distinctes pour cela?

@ drone540 les mauvaises performances de chargement et d'utilisation (même la saisie de code est lente) de phpstorm m'ont fait choisir netbeans ... qui ont tous les outils de peluchage et d'indices, le formatage et le débogage parfaits dès la sortie de la boîte.

J'utilise Visual Studio depuis une décennie .. et je peux dire que Netbeans est le studio visuel de PHP en raison de ses fonctionnalités complètes et de ses belles performances.

Je suis d'accord avec vous que la seule chose qui manque dans vscode est le formatage de la syntaxe html + php.

mais même si PHPSTORM était gratuit ... je choisirais netbeans ... en raison de ses performances.

Sérieusement, ce n'est pas réglé depuis 2015? Retour au sublime

Je reviens régulièrement pour voir si ce problème est résolu mais aucun mouvement. Ne basculera pas vers VSCode tant qu'il ne le sera pas, quel que soit le nombre d'autres fonctionnalités intéressantes dont il dispose. C'est vraiment nécessaire.

Je reviens régulièrement pour voir si ce problème est résolu mais aucun mouvement. Ne basculera pas vers VSCode tant qu'il ne le sera pas, quel que soit le nombre d'autres fonctionnalités intéressantes dont il dispose. C'est vraiment nécessaire.

Quel IDE utilisez-vous actuellement?

@icenold J'ai un flux de travail assez astucieux avec Brackets atm. Tendance à s'en tenir à ça.

Malheureusement, bien que j'aime Visual Studio Code, je dois passer à Sublime à cause de ce problème.

toujours ouvert? tout le monde veut cette fonctionnalité!

Veuillez implémenter cette fonctionnalité. J'ai entendu de bonnes choses sur VS de la part d'amis développeurs. J'étais sur le point de passer de sublime ce matin mais je ne peux vraiment pas me passer de cette fonctionnalité.

Les gars, soyons patients.

@markpanado Date du billet d'origine: "25 novembre 2015"

Pendant que nous attendons, existe-t-il un moyen de définir la syntaxe HTML par défaut pour les fichiers PHP, car j'écris généralement beaucoup plus de HTML en PHP que de PHP. Il n'y a rien d'évident dans le panneau des paramètres utilisateur.

Merci!

@ matt3224 cliquez sur l'indicateur de langue dans le coin inférieur gauche de la barre d'état et dans la sélection rapide, sélectionnez 'Configurer l'association de fichiers'

image

@egamma Excellent! Merci

En fait, php est conçu pour fonctionner avec HTML et utiliser une balise html pour se couvrir, tout comme javascript / css en HTML. Les autres langues ne fonctionnent pas comme ça. Le support HTML dans les fichiers .php devrait donc être une fonctionnalité intégrée.

Bien que j'adore les extensions pour VS Code, le problème mentionné ici (étant donné la durée de ce fil de discussion) est un facteur décisif. Bien sûr, vous pouvez faire le travail sans cela, mais cela semble lent, assez lent, vous pouvez simplement revenir au Bloc-notes et vous passer de tout outil de langue.

Ça ne devrait pas être comme ça.

Bonjour les passionnés de vscode php. Vous pourriez être intéressé par la version 0.7.0 d' Intelephense .

optimised

Il y a quelques bizarreries en ce sens que vous devez être en mode langage HTML et que la coloration syntaxique n'est pas disponible pour php. Le formatage (il a été coupé du gif) est un processus en 3 étapes: formater html -> basculer vers php -> formater php.

J'espère que vous séparez tous bien vos points de vue et vos modèles et que ces lacunes ne sont pas trop un problème.

@bmewburn incroyable! Quand cela sera-t-il disponible?

@popcorner c'est maintenant disponible

J'ai personnellement résolu cela en allant dans Fichier-> Quitter et en téléchargeant Netbeans
avec addon de développement web. Supérieur. Vs code est une idée dactylographiée décente et pas beaucoup
autre. Lorsque vous arrêtez d'en attendre plus, vous cessez d'être déçu.

Le sam.24 juin 2017 à 17h02 Ben Mewburn [email protected]
a écrit:

@popcorner https://github.com/popcorner il est maintenant disponible

-
Vous recevez cela parce que vous avez été mentionné.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-310865635 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/AKtty5j9FjPOsarF3tjW9qq2JugqnYjZks5sHXlggaJpZM4Gpk-J
.

>

Jesse Nicholson

@bmewburn J'ai essayé Intellephense mais il a toujours des problèmes flagrants. PHP tapé à l'intérieur des attributs de balise HTML, par exemple (id = "") perd l'auto-complétion. La perte du formatage du thème PHP.

Cela nécessite le même va-et-vient entre HTML et PHP et cela fait perdre trop de temps.

Sur une note distincte, je commence à me demander si tout ce fil n'est qu'un gros troll. Comment cela peut-il encore être un problème après 2 ans? Tout le monde qui ouvre même un problème similaire, l'a fermé et fait référence à celui-ci. Pourtant, aucun progrès n'a été fait pendant tout ce temps.

Moi aussi, je suis passé à Netbeans, j'ai découvert que PHPStorm est capable de gérer parfaitement php html js dans un seul fichier. L'intégration de base de données à distance via SSH est également soignée.

J'ai donc fait quelques tests avec Netbeans et PHPStorm.

Il semble que Netbeans soit assez décent dans ce domaine.

Netbeans
Elle supporte:

  • HTML / CSS / JS dans un fichier PHP en dehors deMots clés
  • CSS dans les balises HTML avec des attributs de style.
  • Complétions d'orthographe (je ne sais pas si utile ou non mais c'est là)

Il échoue avec:

  • Les complétions ne semblent pas être conscientes du contenu que vous tapez, donc la première complétion peut ne pas être ce que vous voulez.
  • Pas de support pour HTML dans les chaînes PHP. En fait, les complétions ici sont aussi mauvaises que VScode.

PHPStorm

  • Eh bien, cela fonctionne à peu près dans n'importe quel contexte, et fonctionne vraiment bien et toutes les finitions sont précises et ce que vous voulez réellement.

Échecs mineurs:

  • problème mineur qui semble se fermer lors de la saisie semi-automatique - touche avecavec des attributs de style. Peut être rouvert avec ctrl + espace ou poursuite de la saisie de l'attribut css
  • ne s'active dans les chaînes PHP que si une balise HTML est présente (ce qui est vraiment assez bon support de toute façon)

PHPStorm se sent définitivement beaucoup plus proche de VSCode (quand cela fonctionne), alors que Netbeans le fait. Si vous voulez tester comment la saisie semi-automatique devrait vraiment fonctionner. Je recommanderais de le tester dans PHPStorm. PHPStorm et VSCode partagent également de nombreuses fonctionnalités d'édition similaires. En termes de performances, je pense que PHPStorm est plus rapide. N'a subi aucun retard, même avec la saisie semi-automatique. Netbeans a remarqué un certain décalage avec la saisie semi-automatique.

Je ne sais pas combien de temps il faudra avant que VSCode corrige réellement ce problème, mais je crois que quand cela fonctionnera enfin. Il fonctionnera beaucoup plus près du fonctionnement de PHPStorm et deviendra au moins le deuxième meilleur éditeur de saisie semi-automatique PHP.

Je viens de passer récemment à VSCode de SublimeText, uniquement pour rencontrer ce problème. C'est un problème assez ennuyeux, et assez basique aussi. Je dois revenir à SublimeText à cause de cela. J'ai essayé d'associer PHP avec HTML, mais cela rend tout le code PHP blanc, pas de coloration syntaxique du tout. Terrible!

Je pensais qu'après 10 ans, j'aurai enfin un seul logiciel Microsoft qui sera installé sur mon ordinateur de façon permanente, mais s'ils ne peuvent pas résoudre un problème simple pendant 2 ans, il va à nouveau à la poubelle.

L'écriture de HTML dans un document PHP provoque

screen shot 2017-07-28 at 1 32 51 pm

@ingageco Non, ce n'est pas le cas. Il est suggéré par l'extension PHP Intellisense de @felixfbecker. Mais il ne peut rien faire, car les extensions ne sont pas capables de spécifier des caractères d'activation spéciaux, il peut donc éviter de le suggérer pour le moment.

Je veux juste savoir une chose. Est-ce que c'est en cours (petit à petit, les étapes des bébés fourmis) ou vient-il d'être complètement mis de côté?

@bsienn De quoi? L'extension php intellisense est en cours, alors que l'équipe du code ne souhaite pas qu'elle soit fournie de manière native.

@ jens1o Merci pour la réponse. Alors, php intellisense extension parlez-vous de l'extension Fleix Baker?
Donc, ce fil est redondant? Je suis confus maintenant. Dois-je suivre son dépôt de plugins pour progresser?

Oui, je parle de l'extension de Felix, et oui, vous devriez suivre son référentiel pour être up2date.

... donc 2 ans plus tard, il n'y a toujours pas de solution pour avoir l'autocomplétion html dans un fichier php? J'aime vraiment VS Code, je ne veux pas avoir à revenir sur Sublime pour ça :-(

En ce moment, nous devons vraiment nous en occuper

Ou pas vous le savez car il existe d'autres options. Git et le débogage seuls ne vont pas me faire reculer dans mon flux de travail. Jamais pas quand il y a des options qui peuvent ne pas être aussi bien mises en œuvre mais qui sont par ailleurs adéquates. Ce problème aurait dû être résolu depuis le début.

Le principal problème est que nous ne savons pas qui fournirait cela. Idéalement l'extension PHP ( @felixfbecker ?). Je suis également ouvert à l'ajout de la prise en charge du serveur de langage HTML.
Toute l'intelligence HTML est également disponible en tant que module de nœud .

@aeschli Comme indiqué ci-dessus et dans d'autres threads, je ne pense pas qu'exiger de chaque serveur de langage qu'il intègre des serveurs de langage pour chaque langage intégré possible soit la bonne approche et durable. PHP intègre généralement HTML et SQL. HTML intègre généralement CSS et JS. JS intègre à nouveau du HTML. Les auteurs de serveurs de langues descendraient dans un terrier prenant en charge toutes les combinaisons imbriquées et l'utilisateur se retrouverait avec des serveurs de langues installés plusieurs fois pour la même langue, mais ne pourraient plus contrôler le serveur de langues à utiliser pour ces langues intégrées, ni leur version. Comme vous l'avez dit vous-même dans https://github.com/Microsoft/vscode/issues/670#issuecomment -282702369 (c'est moi qui souligne):

Cela conduit probablement à des API et des dépendances spécifiques au serveur de langue entre les serveurs.
Nous aimerions garder le couplage bas et les extensions de langage remplaçables .

Je suis tout à fait d'accord avec cela, et de mon point de vue, l'approche d'intégration mène exactement à cela, pas à ma solution esquissée:

  • Donnez aux serveurs de langues la capacité d'annoncer au _client_ quelles plages contiennent des langues intégrées. Par exemple, le serveur de langage PHP signale à VS Code les plages de HTML en ligne en tant que HTML intégré, le serveur de langage HTML signale à VS Code les plages de balises <style> tant que balises CSS intégrées, les plages de balises <script> comme intégré JS.
  • Le client (VS Code) active les serveurs de langues nécessaires pour les langues intégrées et leur envoie des notifications didOpen avec un URI virtuel et le contenu de la plage intégrée.
  • Chaque fois que l'utilisateur demande l'auto-complétion dans la plage d'une langue intégrée, envoyez cette requête au serveur de langue pour la langue intégrée (positions relatives au début de la plage intégrée)
  • Afficher les résultats, en résolvant les positions par rapport au début de la plage incorporée si nécessaire.

Avec cette approche, l'utilisateur a un contrôle total sur les serveurs de langues à utiliser (ils sont remplaçables ) et les serveurs individuels n'ont pas besoin de se soucier d'incorporer d'autres serveurs de langues en tant que dépendances . Cela signifie une expérience cohérente entre les langages intégrés et les langages de premier niveau et maintient le SoC pour chaque serveur de langue pour ne se soucier que d'une seule langue.

La notification pourrait ressembler à peu près à ceci:

/** Parameters for textDocument/publishEmbeddedScripts, a notification sent from server to the client */
interface PublishEmbeddedScriptsParams extends TextDocumentIdentifier {
  /** All the embedded scripts for this text document */
  embeddedScripts: EmbeddedScript[]
}
interface EmbeddedScript {
  /** Ranges in the text document that form this continuous embedded script */
  ranges: Range[]
  /** The language ID for that script (as also used in MarkedString) */
  languageId: string
}

Exemple:

Étant donné un document PHP comme celui-ci:

<h1>Foo</h1>
<?php echo 'Hello' ?>
<p>Bar</p>

le langserver PHP enverrait à VS Code

{
  embeddedScripts: [{
    languageId: 'html',
    ranges: [
      { start: { line: 0, column: 0 }, end: { line: 0, column: 11 }}
      { start: { line: 2, column: 0 }, end: { line: 2, column: 9 }}
    ]
  }]
}

ce qui aurait pour conséquence que le serveur de langages HTML recevrait textDocument/didOpen du VS Code avec un URI comme file:///foo.php#embedded1 et ce contenu:

<h1>Foo</h1>
<p>Bar</p>

Heureux d'en discuter dans un autre numéro si vous le souhaitez.

@aeschli Je pense que le fait que cela continue à être rejeté comme un problème de serveur de langue même si ce problème est toujours ouvert me dit qu'il ne sera peut-être jamais résolu.

@felixfbecker Personne ne dit que chaque bit de formatage soit détectable. Ce serait insensé mais un minimum de PHP / HTML détectable l'un dans l'autre serait bien. VSCode, il rend le travail avec PHP / HTML inutilement difficile par rapport aux autres IDE

@felixfbecker

Quels fichiers doivent spécifiquement être modifiés dans le serveur de langue pour que cela prenne effet? J'ai regardé le serveur de langage pour HTML et je ne peux pas voir exactement ce qu'il fait avec le style et le script.

Cela ressemble à ce qu'il fait, il ignore la création de jetons tout ce qui n'est pas HTML selon ces fichiers: https://github.com/Microsoft/vscode-html-languageservice/blob/master/src/parser/htmlScanner.ts
https://github.com/Microsoft/vscode-html-languageservice/blob/master/src/htmlLanguageService.ts

Mais comment CSS et Javascript savent-ils quoi faire? Je ne vois pas du tout comment ils fonctionnent selon ce fichier.

@aeschli, un serveur de langage php et html peut déjà fonctionner assez bien ensemble étant donné que de nombreuses fonctionnalités de vscode permettent à plusieurs fournisseurs d'être enregistrés. Dans de nombreux cas, le premier résultat de fournisseur non faux est utilisé ou, dans certains cas, plusieurs résultats utilisés. Donc, tant que chaque serveur ignore ce qu'il ne comprend pas - en dehors de <?php ?> pour php, à l'intérieur pour html - cela fonctionne.Vous pouvez voir cela en action ici https://github.com/Microsoft/vscode / issues / 670 # issuecomment -310822851

Pour que cela fonctionne plus facilement.

  1. Autorisez plusieurs associations de fichiers d'ID de langue pour que chaque serveur de langues s'exécute.
   "files.associations": {
        "*.myphp": ["php", "html"]
    }  
  1. Utilisez un fichier de grammaire combiné php / html / css / js pour la coloration syntaxique

Existe-t-il des solutions plus complètes pour l'intégration linguistique? Probablement. Et je conviens qu'il ne devrait pas être de la responsabilité d'un serveur particulier d'intégrer plusieurs langues. Je ne pense pas que ce devrait même être la responsabilité des serveurs d'identifier quelle langue particulière est utilisée, l'utilisateur doit identifier la plage de documents. Mais cela mis à part, pour que PHP et HTML fonctionnent ensemble, je ne pense pas que ce soit si difficile.

@bmewburn Si ce n'est pas si difficile, pourquoi attendons-nous 2 ans plus tard une solution?
@felixfbecker dit que ce n'est pas si facile à faire. Mais ce problème est toujours ouvert, donc évidemment, on pourrait penser que cela pourrait être une priorité, mais chaque version le voit négligé. Donc, jusqu'à ce que quelqu'un fasse un changement, je continuerai à être désagréable et j'espère que cela finira par être corrigé. Jusque-là, je continuerai à utiliser ce qui fonctionne.

@felixfbecker Comme je l'ai mentionné dans mon commentaire , aucune exigence ici, chaque serveur de langue est libre de choisir l'approche sur la façon de traiter le contenu intégré: transférer les demandes vers d'autres serveurs, ou le gérer lui-même. par exemple en utilisant une bibliothèque / un service lié. Tout dépend du degré de couplage du contenu intégré et de la langue principale et de l'expérience utilisateur que le serveur souhaite offrir. Souvent, le contenu intégré a besoin du contexte de la langue principale et doit respecter les règles d'échappement. Cela ne peut pas être facilement communiqué à un serveur de langue qui ne voit qu'un document virtuel. C'est la raison pour laquelle nous nous sommes éloignés de cette approche dans le serveur HTML.
Mais si c'est une approche faisable pour PHP, et que le serveur de langage PHP veut que le serveur HTML gère les requêtes pour des plages données, faisons-le, les API sont toutes là, tout peut être fait dans le client et avec le protocole LS personnalisé .
S'il y a quelque chose que je peux aider dans le serveur ou le service html, faites-le moi savoir.

@aeschli échapper aux règles est un bon point, donc au lieu de plages, le serveur de langue devrait renvoyer le contenu sans échappement. Cela le résoudrait-il? Ou d'autres problèmes que vous voyez avec la proposition?

Mais si c'est une approche faisable pour PHP, et que le serveur de langage PHP veut que le serveur HTML gère les requêtes pour des plages données, faisons-le, les API sont toutes là, tout peut être fait dans le client et avec le protocole LS personnalisé .

Le serveur de langage PHP est utilisé par de nombreux autres clients que VS Code, sublime, neovim, atom-ide-php, Eclipse Che, etc. Comment pouvons-nous construire une solution qui devrait (éventuellement) fonctionner dans tous ces domaines clients (car c'est le but de LSP), tout en évitant de regrouper des langservers HTML (et CSS, JS ...) spécifiques avec des exigences d'exécution spécifiques (par exemple un développeur PHP neovim a installé PHP, mais pas nécessairement NodeJS). l'utilisateur peut décider quel serveur de langue utiliser pour les langues intégrées? Je serais très heureux si nous pouvions réussir cela de manière universelle pour tous les langages, car ce serait un argument très fort pour LSP.

@aeschli @felixfbecker Cela signifie-t-il que vous allez tous les deux tenter de résoudre ce problème? Ce serait génial.

C'est une fonctionnalité dont presque tous les codeurs PHP en ont vraiment besoin. Alors s'il vous plaît, ne l'ignorez pas simplement parce que nous ne pouvons pas le faire d'une manière _correcte_.
Même s'il existe une solution illogique ou laide, elle peut toujours être utilisée temporairement, plutôt que de la remettre à plus tard et de ne rien faire.

Si nous sommes menottés parce que nous voulons être aussi compatibles que possible pour les extensions écrites à l'origine pour un autre éditeur plus ancien, alors nous devrions peut-être envisager d'écrire un nouveau standard d'éditeur croisé qui dépasse ce que nous avons aujourd'hui. Ce n'est pas comme si Microsoft n'était pas sorti de ses limites auparavant et avait travaillé avec d'autres groupes pour créer un modèle de serveur de langage standard utilisé à la fois dans cet éditeur et dans d'autres. Nous devons simplement refaire la même chose en ce qui concerne la manière dont les scénarios linguistiques mixtes sont gérés.

Il est évident que les extensions de langue mixte comme @felixfbecker de » extension php-IntelliSense ou mon extension vscode-Jinja est être bloqué par ce problème. C'est génial si vous êtes capable de le faire dans les langues principales, mais si la communauté ne peut pas s'étendre facilement, cela ne fera que donner une mauvaise expérience à l'ensemble de l'éditeur en général. À ce stade, ce problème dure depuis assez longtemps pour que la communauté elle-même dise aux autres d'aller ailleurs, et je fais de même.

@wholroyd était d'accord, je parlais aux gens de cet IDE comme si c'était la meilleure chose depuis le pain en tranches et maintenant j'en éloigne activement les gens. Je regrette de l'avoir intégré à l'un de mes projets.

@aeschli envisageriez-vous ce qui suit dans le serveur de langage html?

  1. Un languageId supplémentaire pour écouter phtml . Cela fournirait un identifiant partagé que les extensions php et html pourraient écouter et une grammaire textmate combinée.
  2. Si nécessaire, des modifications au scanner de serveur de langage html pour consommer tout dans <\?(php|=)?> , \?> comme une seule balise à fermeture automatique.

Les fournisseurs suivants d'extensions php et html séparées fonctionneraient bien ensemble sans aucune intégration dans le serveur ni piratage du client.

  • lentille de code
  • action de code
  • achèvement
  • définition
  • surligner
  • lien
  • symbole doc
  • flotter
  • la mise en oeuvre
  • référence
  • Signature
  • symbole de l'espace de travail

Certains hacks seraient nécessaires pour que le formatage et le changement de nom fonctionnent et les utilisateurs devraient nommer les fichiers de vue avec une extension différente et les associer à phtml plutôt qu'à php. Mais je pense que ce serait un très bon début avec un minimum d'efforts et de risques.

@bmewburn Oui,

@aeschli pas de transfert de requêtes, l'idée est juste de laisser le serveur html enregistrer les fournisseurs pour phtml et d'avoir un serveur php qui enregistre également les fournisseurs pour phtml et de laisser vscode gérer les réponses séparées.

Les fournisseurs ci-dessus ont tous soit des réponses fusionnées, soit la première réponse non fausse utilisée. Donc, tant que les serveurs html et php séparés n'essaient pas de renvoyer un résultat pour une plage qu'ils ne comprennent pas, tout devrait fonctionner. L'identifiant phtml est juste quelque chose de commun pour les deux serveurs de langue, il serait peut-être préférable d'avoir simplement plusieurs associations de fichiers de langue, mais cela pourrait être beaucoup plus compliqué? De plus, je suppose que garder php et phtml séparés évite d'envoyer des requêtes au serveur html pour les fichiers php uniquement.

"files.associations": {
        "*.php": ["php", "html"]
    }

Pour le moment, j'enregistre mon extension php avec les sélecteurs de doc html et php mais je me méfie de remplacer la configuration du langage html dans cette configuration.

Une association de fichiers ne peut être attribuée qu'à un seul identifiant de langue. Mais les serveurs de langue sont libres de servir des documents dans la langue de leur choix.
Possibilité 1: HTML s'inscrit également pour php , participe à toutes les demandes, mais ne retournera les résultats qu'en dehors de <?php .../?>
Possibilité 2: Seul le serveur de langage PHP s'enregistre pour php , et transmettra toutes les requêtes <?php .../?> à tous les serveurs de langue enregistrés dans le langage phtml .

Le transfert peut donc être réalisé simplement via commands.executeCommand ?

@bmewburn J'ai créé # 36396. Prenons notre discussion sur ce point.
Oui, avec `commands.executeCommand 'comme ici

Toute mise à jour concernant html intellisense pour php

Hé les gars, y a-t-il un moyen de mélanger le codage php et html? La mise en surbrillance HTML ne fonctionne pas correctement dans le document php :-(

835b4a9809

On dirait que presque après 2 ans, il n'y a toujours pas de solution appropriée?

ce problème est-il résolu jusqu'à?

Non, toujours pas possible. Malheureusement, j'ai été forcé de revenir à ST3 à cause de ce problème. J'espère qu'un jour ils régleront ce problème et je pourrai revenir.

@bmewburn Travail fantastique. Cela a été nécessaire pendant si longtemps. Merci beaucoup. Maintenant, il n'y a aucune raison de ne pas passer à VSCode

@ kilevvri1 veuillez partager votre paramètre. Pour moi ne fonctionne pas ..

@ expo87 J'ai utilisé la configuration par défaut des paramètres demandés par PHP Intelephense
"php.suggest.basic": false
Je n'utilise pas encore d'autres paramètres.

Dommage. Je venais de configurer mon environnement VSCode et de préparer tous mes plugins. Puis je suis tombé sur ceci et toujours pas de solution.
C'est dommage car je commençais à vraiment aimer VSCode mais maintenant je dois revenir à Sublime Text.

@DannyMexen Essayez l'extension PHP Intelephense

@ kilevvri1 cette extension nécessite l'installation de PHP. Pour moi, installer dans le système PHP n'est pas nécessaire! Pourquoi je dois faire ça? Juste pour voir la syntaxe mixte normale php et autre langage? Pourquoi cette option ne fonctionne pas hors de la boîte?! Fichier d'installation Sublime Text 8,5 Mo - la mise en évidence mixte fonctionne très bien. Fichier d'installation CodeLite 50 Mo - la mise en évidence mixte fonctionne très bien. Et il n'est pas nécessaire d'installer PHP!

Je suis d'accord avec @ expo87 que cette fonctionnalité devrait sortir de la boîte dans VS Code. PHP Intelliphense est déjà un pas en avant et rend la complétion automatique possible, mais je ne peux pas du tout mettre en évidence la syntaxe html.

@ kilevvri1 , hey, comment ça va? Je l'ai fait, cela n'a pas fonctionné.

Cependant, je ne peux toujours pas formater le HTML dans un fichier .php. Je conviens également qu'une telle fonctionnalité devrait être prête à l'emploi.

Tout le reste va bien mais juste cette seule chose qui ruine mon expérience. Il est très important que mon code soit bien formaté en raison des politiques de l'entreprise. Voici à espérer dans le futur.

C'est encombrant mais pour les gros fichiers, je renomme les fichiers en .html, je les met en forme puis les renomme en .php (croyez-moi, j'ai essayé toutes les astuces sans succès).

J'aime VSCode et je vais lui donner une semaine. Si mon travail ralentit significativement, je reviendrai à ST 3.

Pour ceux d'entre vous qui se plaignent de l'installation de PHP pour que l'extension fonctionne, n'avez-vous sérieusement pas installé PHP sur votre machine locale? Êtes-vous vraiment en train de perdre du temps à mettre le code sur votre serveur avant de le tester, et de le faire encore et encore?

PHP doit être installé localement, cela semble être une évidence. Si votre application ne s'exécute pas localement, vous avez des problèmes de développement à résoudre.

@TheColorRed pour moi pas besoin de voir le résultat de mon code localement et ensuite télécharger le fichier sur le serveur. Utilisation de WinSCP et ST - vitesse légère et rapide de mon travail. Et bien sûr je sais ce que je fais :-)

@TheColorRed, vous avez trouvé quelqu'un sur Internet qui avait tort et qui a fait un discours agressif sur la valeur du temps.

image

Bien que nous aimerions tous que cette fonctionnalité soit directement prête à l'emploi, le fait est que ce n'est pas le cas. L'équipe VSCode considère cela comme un problème ou une priorité très faible. @bmewburn a créé l'extension PHP Intelephense dont je suis satisfait par rapport à l'alternative.

@ expo87 Pas besoin d'expliquer votre flux de travail. Nous faisons tous les choses un peu différemment.

à cause de ce
j'utilise smarty, donc je peux déplacer tout le HTML vers un fichier tpl, pas à l'intérieur du code php -_-
et rendre mon code plus propre

@DannyMexen Je n'ai aucun problème à formater le HTML à l'intérieur des fichiers PHP. Je désactive le formatage PHP Intelephense "intelephense.formatProvider.enable": false dans settings.json

Tout ce que je veux vraiment, c'est que > ne déclenche pas une suggestion de saisie semi-automatique (et m'oblige à arrêter ce que je fais pour la rejeter). C'est ennuyeux lorsque vous fermez un élément HTML et que vous voulez passer à la ligne suivante, mais si vous appuyez "accidentellement" sur Entrée, vous vous retrouvez avec des déchets, vous devez ensuite supprimer au lieu d'une nouvelle ligne. Aucune des suggestions ci-dessus ne semble résoudre ce problème particulier.

Tout ce dont vous avez besoin pour cela, c'est https://github.com/Microsoft/language-server-protocol/issues/138.
@jrieken pourriez-vous nous dire si la solution intermédiaire que vous avez proposée est bientôt disponible?

Nous pourrons peut-être implémenter des déclencheurs multi-caractères, mais ce n'est pas aussi trivial que cela puisse paraître. Jusque-là, une extension doit utiliser le dernier caractère d'une séquence potentielle de caractères déclencheurs.

@ kilevvri1 pas de dés. J'ai suivi vos messages mais en vain. Puis-je voir tous vos paramètres, s'il vous plaît? Peut-être une liste des extensions que vous avez installées si ce n'est pas un problème.

Le plus proche que j'ai obtenu était de changer l'association de fichier et de bricoler avec embellir, mais même cela n'a pas aidé.
Quoi qu'il en soit, merci à tous. Il ne semble pas y avoir de réponse simple à cela.

Après des heures d'essais, je n'arrive pas à faire fonctionner cette chose. Pas même le plugin "PHP Intelephense" qui fonctionne pour moi comme @bmewburn l'a suggéré. Tapez 'php' et appuyez sur l'onglet, il se développe comme suit: http://s.zeshanahmed.com/a_1FC81B2B.png

C'est la fonctionnalité la plus basique lorsque vous utilisez HTML avec PHP. Au moins en tant que développeur de thèmes WordPress.

Je peux revenir et vérifier à nouveau VS Code, mais pour l'instant, je reviens à Sublime. J'ai adoré la puissance de VS Code au début, mais ces petits problèmes (ou le manque de fonctionnalités) empêcheront de nombreux développeurs PHP / WP de s'en éloigner.

aaet je suis avec @zeshanshani et @DannyMexen - si je ne peux pas écrire du html dans mes fichiers PHP, alors cet éditeur est tout de suite sorti.

Dang. Je l'ai tellement aimé mais celui-ci (apparemment simple) l'a rendu inutile pour moi.

Peut-être que j'avais un peu tort ici, ce problème n'est pas vraiment ce à quoi je faisais référence. Quoi qu'il en soit, comme je l'ai mentionné, j'ai adoré la puissance de VS Code, alors j'ai vérifié plus loin et j'ai trouvé une solution assez simple au problème.

Le problème auquel j'ai été confronté était que lorsque vous êtes en dehors des blocs <?php ?> et que vous essayez d'ouvrir des blocs PHP avec un raccourci, cela ne fonctionne pas.

J'ai donc créé des extraits HTML personnalisés pour développer des blocs PHP. J'ai créé ces 3 extraits pour l'instant:

  • php - pour se développer en <?php ?>
  • if - pour ouvrir IF conditionnel.
  • foreach - pour ouvrir la boucle FOREACH.

Voici le code des extraits si quelqu'un le recherche:

https://gist.github.com/zeshanshani/ccbfe8c0177a2513f0a92d0747349f50

Et voici le résultat:

PHP Expand in HTML

Le seul problème ici est qu'il développe également les extraits de code dans les fichiers .html contrairement à Sublime Text où vous pouvez définir la portée de sorte qu'un extrait de code particulier ne se développe que s'il s'agit de PHP: http://s.zeshanahmed.com/a_1FCD4A29.png

Btw, est-ce que quelqu'un a essayé d'activer le paramètre emmet.triggerExpansionOnTab ? Il permet l'expansion HTML d'emmet sur le support des onglets dans les chaînes PHP.

Pour définir ce paramètre, accédez aux paramètres utilisateur et ajoutez cette ligne:

"emmet.triggerExpansionOnTab": true

Capture d'écran: http://s.zeshanahmed.com/a_1FD14980.png

Voici le résultat:

HTML Expand in PHP Strings

J'ai trouvé une solution viable pour moi (et peut-être pour d'autres personnes).

J'ai installé l'extension "_Auto Close Tag_" par Jun Han. Ensuite, dans mes paramètres, j'ai ajouté ceci:

"php.suggest.basic": false,
"auto-close-tag.SublimeText3Mode": true,

Maintenant, dans un fichier .php et en dehors des balises <?php ?> je n'obtiens pas $_cookie après avoir fini de taper une balise html, et lorsque je tape </ il complète automatiquement étiquette de fermeture appropriée.

j'espère que cela aide quelqu'un d'autre qui avait le même problème que moi.

@Chenzo met en forme votre code de contournement? Si vous appuyez sur Ctrl + Shift + I , est-ce que le PHP ainsi que le code HTML sont formatés / indentés en conséquence?

@DannyMexen hmmm ... non. Altho, est-ce un élément natif de VScode? Même mon plugin Beautify ne semble pas savoir quoi faire avec HTML dans un fichier .PHP.

@Chenzo je vois. Ouais pareil ici. C'est la seule fonctionnalité dont j'ai besoin pour utiliser VSC comme éditeur de texte exclusif.

@zeshanshani @DannyMexen
si PHP Intelliphense ne peut pas fonctionner
essayez de réinstaller vscode et PHP Intelliphense
ou
essayez d'utiliser everedit , c'est un bon éditeur, mais pas IDE, et seulement Windows

Merci pour la suggestion @iscraft mais j'utilise Linux et j'utilise ST 3 pour tous mes projets PHP.

Donc, si je suis cela correctement, les problèmes de blocage sont résolus dans le LSP (yay!), Et également résolus dans Felix's Language Server (yay!), Mais ce n'est pas encore résolu dans VS Code Insiders.

Le plus petit problème lié avec la saisie semi-automatique <?php est présent dans VS Code Insiders, avec le plugin Intellesense de Felix actif, donc je suppose que cela attend également quelque chose dans VS Code?

https://github.com/felixfbecker/vscode-php-intellisense/issues/205#issuecomment -347794655

Je suppose que ça va sauter Insiders Edition et en faire la 1.19?

Dans settings.json , l'ajout de la propriété suivante fonctionne très bien.

"files.associations": {"*.php": "html, php"},

Eh bien, je suppose que ce n'était pas vrai après tout. Revenir à Sublime Text?

files.association était l'une des choses que j'ai essayées. Jamais travaillé pour moi.
Le compte Twitter officiel vient de me dire de soulever la question et j'espère
un jour, l'équipe la mettra en œuvre. C'est tellement bizarre de ne pas avoir
ceci hors de la boîte. Littéralement la seule chose qui m'empêche d'utiliser VScode
comme mon éditeur exclusif.
@Ken Newman c'est ma solution pour tous les projets PHP.

Le jeu.14 décembre 2017 à 22:31, Ken Newman [email protected]
a écrit:

Eh bien, je suppose que ce n'était pas vrai après tout. Revenir à Sublime Text?

-
Vous recevez cela parce que vous avez été mentionné.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-351827207 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/APewuYFpWR6_mZbUO-XVNMwH0LpYb_Cqks5tAYWugaJpZM4Gpk-J
.

-
Cordialement,

Danny Mexen.

Est-il possible que HTML fonctionne maintenant dans le langage / les fichiers PHP de la version 1.19? Je viens de tester et je vois avoir fonctionné, même sans aucune extension ...

@jsieler en 1.19 et 1.20 cela ne fonctionne toujours pas.

VSCode 1.19 ne peut pas compléter automatiquement le code HTML, attribut dans le fichier .php :( !!!!
Numéro 2 année ...

HTML fonctionne bien dans les fichiers PHP avec cette extension. Ce problème peut probablement être résolu.

phphtml

@bmewburn je le pense aussi

Non, personnellement, j'attends une assistance sans avoir besoin d'extensions externes.

Le problème clé s'applique également à d'autres langues.

Soyons clairs sur le problème que certains d'entre nous signalent ici.

Pour l'instant, je vais parler pour moi.

Le problème n'est PAS l'échec de la saisie semi-automatique HTML dans les fichiers PHP, c'est le FORMATAGE du code HTML dans les fichiers PHP dans le contexte de la fonctionnalité 'Format Document' de VSCode. Est-ce clair?

Si votre raccourci clavier par défaut est Ctrl + Shift + I vous constaterez peut-être que seul le code PHP sera formaté dans un fichier PHP contenant également du code HTML. Le code HTML n'est pas du tout formaté.

Cette fonctionnalité sort de la boîte dans ST 3, par exemple.

Des choses comme la saisie semi-automatique, les balises à fermeture automatique, etc. fonctionnent très bien. Tabulation d'une ligne PHP, puis tabulation d'une ligne HTML, essayez de formater le document et seul le code PHP sera correctement mis en retrait.

J'espère que cela clarifie les choses pour certains ici.

Qui ici rencontre ce problème à mes côtés?

@bmewburn cela ne fonctionne que si vous choisissez le mode de langage HTML pour les fichiers php, mais que vous avez un mauvais style pour la partie php du code :(

@ Perumal93

"files.associations": {"* .php": "html, php"},

Ça ne marche pas du tout! Il utilise simplement la dernière langue que vous avez utilisée (php dans ce cas). D'autres sont complètement ignorés.

@SharakPL quelle version de VSCode ru utilise?

@ kilevvri1 Je viens de passer de la 1.19.1 à la 1.19.2. Pas de changement :(
Si je choisis PHP comme langage de fichier, les suggestions html ne fonctionnent pas.
Si je choisis HTML comme langage de fichier, la partie php est conçue comme du texte brut et la sortie montre de nombreuses erreurs.

@SharakPL Le chemin de votre téléphone est-il lié dans vos paramètres utilisateur VSCode? Je ne suis pas à la maison pour le moment, mais quand je reviendrai, j'aiderai car intellephense n'est pas parfait mais il fait des merveilles quand il fonctionne bien alors je vais essayer de vous aider.

@SharakPL Je voulais dire votre chemin PHP. Taper sur mon téléphone, désolé.

@ kilevvri1 oui, j'ai

"php.suggest.basic": vrai,
"php.validate.enable": vrai,
"php.validate.executablePath": "c: \\ wamp64 \\ bin \ php \ php5.6.25 \ php.exe",
"php.validate.run": "onType",

Cela devrait être comme dans Sublime Text 3, où le code html est toujours suggéré en conséquence en mode langage PHP

@SharakPL
Selon les recommandations d'extension:
"php.suggest.basic": false

Essayez ça et faites-moi savoir

@ kilevvri1 pas de changement :(

Oh je comprends maintenant! Il existe une sorte d'intellisense HTML dans les fichiers au format PHP, mais il est géré via des suggestions EMMET: https://docs.emmet.io/cheat-sheet/
Je n'arrêtais pas de m'énerver de ne pas pouvoir ajouter un lien simple en tapant <a car aucun extrait de code n'est suggéré. J'ai pensé que taper seulement a montre ce dont j'ai besoin, mais même si j'avais mon lien, tous les attributs que je devais ajouter manuellement lettre par lettre. Avec EMMET, je peux simplement taper a#mylink.btn.btn-success pour obtenir <a href="" id="mylink" class="btn btn-success"></a> . C'est cool, mais pour obtenir un code HTML plus précis, je devrais utiliser a#mylink.btn.btn-success[title="click me" target="_blank"] et cette nouvelle partie doit à nouveau être tapée lettre par lettre. Ce serait beaucoup mieux le style de SublimeText:
html_is

Existe-t-il un moyen d'ajouter manuellement .php à la liste des extensions de fichiers dans lesquelles l'intellisense HTML fonctionne? Cela peut être fait dans Eclipse.

@graddev quelqu'un a suggéré
"files.associations": {"*.php": "html, php"}
dans les paramètres utilisateur, mais cela ne fonctionne pas pour moi

quand ils ajoutent cette opportunité, qui sait?
était 2020, ils ne l'ont toujours pas fait ....

Auto-complétion HTML et CSS dans un fichier PHP ... Comment?

Besoin de cette fonctionnalité ajoutée. La saisie semi-automatique des attributs pour les balises HTML ne fonctionne pas du tout.

Les gars, j'utilise une solution extrêmement dégoûtante, mais ça marche (un peu). J'ai un clavier avec des touches macro, j'ai donc créé des macros pour changer le mode de langue. J'appuie sur M1 si je veux HTML intellisense et M2 si je veux PHP.

Veuillez essayer l' extension intelephense .

@aeschli Cela ne résout PAS le problème clé. Le même problème se produit également dans une extension que je maintiens, dans l'extension Smarty. Il est vraiment décevant que l'extension PHP proposée n'obtienne aucun support supplémentaire et que vous essayez de vous distraire en recommandant d'utiliser une autre extension qui utilise une solution de contournement merdique. Pourtant, les problèmes sont plus profonds. En fait, ce problème devrait être résolu dans le prochain sprint, et vous ne devriez pas considérer qu'il repose sur l'arriéré et minimiser le problème. Où pensez-vous des intérêts de la communauté?

Désolé, mais je suis un peu énervé.

(En fait, j'ai dit la même chose il y a 3 mois .)

L'équipe VSCode peut travailler sur de nombreux domaines et disposer de connaissances spécialisées. Malheureusement, nous ne sommes pas des développeurs PHP. C'est pourquoi nous avons proposé une API d'extensions ouvertes et une place de marché. Veuillez nous soutenir en essayant les extensions et aider les auteurs avec de bons commentaires.
Je comprends que ce serait génial si toutes les extensions sont intégrées et livrées avec VSCode, mais nous voulons également que le téléchargement reste petit.

Nous avons travaillé avec Ben, l'auteur de l'extension intelephense pour améliorer la complétion HTML en PHP. Je pense que l'approche adoptée est la bonne approche. Seul PHP en tant que langage «principal» comprend parfaitement le contenu HTML intégré (par exemple, comment il est encodé, comment les variables PHP se résolvent) afin de fournir une bonne expérience utilisateur. D'après mon expérience, d'autres solutions génériques ne résolvent qu'une partie du problème et nous nous retrouvons avec des centaines de problèmes en suspens pour les cas qu'ils ne peuvent pas résoudre.

@ jens1o Je suis désolé que vous soyez frustré et qu'il n'y ait rien de prévu dans ce domaine dans un proche avenir. Aidez-nous en soutenant notre écosystème d'extensions ou donnez une chance à intelephense (ainsi qu'à d'autres extensions PHP).

D'accord, je prends une bonne respiration et je me calme. Alors, déplaçons le focus sur mon extension: Suis-je censé garder une fourchette du serveur de langage HTML pour que mes utilisateurs aient l'achèvement HTML? C'est aussi le problème clé dont je parle. Je pense que les autres langues sont encore plus touchées. Le problème est que Smarty est aussi flexible qu'il pourrait être utilisé pour près de n'importe quel langage (comme csv, json), peu importe. Parce qu'il s'agit d'un système de modèles qui n'est lié à aucune restriction de langue. J'ai donc besoin de garder un fork d'un serveur de langage csv (qui n'existe pas), un XML, le JSON ... Je me demande combien de langages les ressources techniques permettent?

donnez une chance à intelephense (et aussi à d'autres extensions PHP).

Je vais m'en tenir à php-intellisense de @felixfbecker , car j'aime la base de code, même si je n'ai pas de HTML intellisense (c'est pourquoi je brûle pour ce problème), et c'est l'extension officielle en vedette (alors que je l'utilisait bien avant). J'adore le concept de serveurs linguistiques et je pense que plusieurs serveurs linguistiques responsables de différentes parties d'un fichier sont la prochaine étape pour améliorer le concept.

@aeschli Pensez-vous qu'une extension peut faire en sorte que la partie html de php ait le même comportement que le fichier html autonome? y compris laisser tout le plugin pour html fonctionner correctement dans cette partie?
Le système d'extension est vraiment important comme nous le savons tous, mais toutes les fonctionnalités ne conviennent pas aux plugins. Ce dont nous avons réellement besoin, c'est d'analyser un fichier dans plusieurs langues et de les traiter séparément. Cela devrait être une capacité intégrée pour un éditeur de code.

Et, tous les fichiers PHP sont en fait du HTML, avec unBalise HTML. Seul le contenu de cette balise ne doit pas être considéré comme HTML. C'est juste un langage intégré au HTML et ne peut pas fonctionner sans lui (sauf CLI). Donc la question ne concerne pas le HTML en PHP, le HTML est le conteneur principal. Et aussi beaucoup de langage peut être intégré dans HTML, comme css javascript vbscript svg perl java, je ne pense pas qu'une extension puisse le faire sans support officiel.

Merci @popcorner. Je voulais en fait dire la même chose, mais vous l'avez beaucoup mieux écrite. :)

Quelqu'un sait-il comment ST fait cela? Même une explication de haut niveau sera appréciée.

Gardons ce numéro sur l'intellisense HTML en PHP. J'améliorerai nos documents avec des techniques sur la façon d'activer les fonctionnalités linguistiques pour les langues intégrées. J'ai créé # 47288 comme point de départ pour cela.

@ jens1o J'ai énuméré quelques approches dans la description de ce problème
@paldepind J'ai également ajouté une réponse à votre commentaire .

Je suis toujours mal à l'aise avec ça. Donc afaik, ce problème peut être résolu parce que vous ne prévoyez pas de le sortir pour PHP mais de vivre avec cette solution de contournement?

problème toujours sans solution?

J'utilise Laravel Blade. Il n'y a donc pas de balises PHP ici. Je me demande comment ils vont implémenter la fonctionnalité.

Résolu, mais je ne sais pas pourquoi ... Peut-être mettre à jour le php inteliphense ou utiliser des initiés vscode ...
test

@victormongi quel php inteliphense utilisez-vous?

@jfnadev Je ne sais pas comment cela fonctionne mais voici ma version vscode et ma version intelephense:
image

@victormongi nous avons la même configuration

@jfnadev ce sont mes extensions installées:
extensions.json:

[
  {
    "metadata": {
      "id": "2cbad5ee-b4ab-4de8-a1c7-77fede846155",
      "publisherId": "patbenatar.advanced-new-file",
      "publisherDisplayName": "patbenatar"
    },
    "name": "advanced-new-file",
    "publisher": "patbenatar",
    "version": "1.1.0"
  },
  {
    "metadata": {
      "id": "697255a9-3f36-44c8-b084-d3b91edfb23a",
      "publisherId": "HookyQR.beautify",
      "publisherDisplayName": "HookyQR"
    },
    "name": "beautify",
    "publisher": "HookyQR",
    "version": "1.3.0"
  },
  {
    "metadata": {
      "id": "9d674f86-f8d2-4fe1-8fa6-a17b40caf4ac",
      "publisherId": "pawelgrzybek.bimbo-theme",
      "publisherDisplayName": "pawelgrzybek"
    },
    "name": "bimbo-theme",
    "publisher": "pawelgrzybek",
    "version": "0.4.5"
  },
  {
    "metadata": {
      "id": "f583eafd-aa0d-4ccb-8f44-d1e610389660",
      "publisherId": "CoenraadS.bracket-pair-colorizer",
      "publisherDisplayName": "CoenraadS"
    },
    "name": "bracket-pair-colorizer",
    "publisher": "CoenraadS",
    "version": "1.0.27"
  },
  {
    "metadata": {
      "id": "e337c67b-55c2-4fef-8949-eb260e7fb7fd",
      "publisherId": "Shan.code-settings-sync",
      "publisherDisplayName": "Shan"
    },
    "name": "code-settings-sync",
    "publisher": "Shan",
    "version": "2.9.0"
  },
  {
    "metadata": {
      "id": "532533c9-a894-4a58-9eee-bbfbe7c06f71",
      "publisherId": "mikestead.dotenv",
      "publisherDisplayName": "mikestead"
    },
    "name": "dotenv",
    "publisher": "mikestead",
    "version": "1.0.1"
  },
  {
    "metadata": {
      "id": "1946e66b-9eea-45a9-816b-316bf9d7d1ab",
      "publisherId": "Zyst.Egoist-One",
      "publisherDisplayName": "Zyst"
    },
    "name": "Egoist-One",
    "publisher": "Zyst",
    "version": "1.18.0"
  },
  {
    "metadata": {
      "id": "7b71fc1b-190d-4f7d-95d1-93e422649b0a",
      "publisherId": "Zignd.html-css-class-completion",
      "publisherDisplayName": "Zignd"
    },
    "name": "html-css-class-completion",
    "publisher": "Zignd",
    "version": "1.17.1"
  },
  {
    "metadata": {
      "id": "8d5687fe-08f5-4a8e-917a-23aef71db6b3",
      "publisherId": "zhengxiaoyao0716.intelligence-change-case",
      "publisherDisplayName": "zhengxiaoyao0716"
    },
    "name": "intelligence-change-case",
    "publisher": "zhengxiaoyao0716",
    "version": "1.1.0"
  },
  {
    "metadata": {
      "id": "6f35c257-7fd5-4bc2-9cd1-01976589c17a",
      "publisherId": "arcticicestudio.nord-visual-studio-code",
      "publisherDisplayName": "arcticicestudio"
    },
    "name": "nord-visual-studio-code",
    "publisher": "arcticicestudio",
    "version": "0.6.0"
  },
  {
    "metadata": {
      "id": "a41c1549-4053-44d4-bf30-60fc809b4a86",
      "publisherId": "christian-kohler.path-intellisense",
      "publisherDisplayName": "christian-kohler"
    },
    "name": "path-intellisense",
    "publisher": "christian-kohler",
    "version": "1.4.2"
  },
  {
    "metadata": {
      "id": "a439d61f-cd9c-453f-b8c7-186f73d44915",
      "publisherId": "MehediDracula.php-constructor",
      "publisherDisplayName": "MehediDracula"
    },
    "name": "php-constructor",
    "publisher": "MehediDracula",
    "version": "0.0.8"
  },
  {
    "metadata": {
      "id": "044b4b31-2969-4af3-895d-855433b8b46d",
      "publisherId": "felixfbecker.php-debug",
      "publisherDisplayName": "felixfbecker"
    },
    "name": "php-debug",
    "publisher": "felixfbecker",
    "version": "1.12.2"
  },
  {
    "metadata": {
      "id": "5e69f001-f945-4c97-baf0-320d82a153b3",
      "publisherId": "felixfbecker.php-intellisense",
      "publisherDisplayName": "felixfbecker"
    },
    "name": "php-intellisense",
    "publisher": "felixfbecker",
    "version": "2.3.1"
  },
  {
    "metadata": {
      "id": "96fa4707-6983-4489-b7c5-d5ffdfdcce90",
      "publisherId": "esbenp.prettier-vscode",
      "publisherDisplayName": "esbenp"
    },
    "name": "prettier-vscode",
    "publisher": "esbenp",
    "version": "1.2.2"
  },
  {
    "metadata": {
      "id": "e52bce95-a629-455f-8626-e7301b9e372a",
      "publisherId": "robinbentley.sass-indented",
      "publisherDisplayName": "robinbentley"
    },
    "name": "sass-indented",
    "publisher": "robinbentley",
    "version": "1.4.8"
  },
  {
    "metadata": {
      "id": "735af542-944f-4b07-b336-9df27d7b8d84",
      "publisherId": "smlombardi.slime",
      "publisherDisplayName": "smlombardi"
    },
    "name": "slime",
    "publisher": "smlombardi",
    "version": "2.31.2"
  },
  {
    "metadata": {
      "id": "d6ba4b7b-539f-456a-b0f6-0348df44cdf3",
      "publisherId": "nikitaKunevich.snippet-creator",
      "publisherDisplayName": "nikitaKunevich"
    },
    "name": "snippet-creator",
    "publisher": "nikitaKunevich",
    "version": "0.0.4"
  },
  {
    "metadata": {
      "id": "529697b9-b343-4b1c-ba2f-f5ef692132d4",
      "publisherId": "ms-vscode.sublime-keybindings",
      "publisherDisplayName": "ms-vscode"
    },
    "name": "sublime-keybindings",
    "publisher": "ms-vscode",
    "version": "3.0.3"
  },
  {
    "metadata": {
      "id": "a150991b-031b-457a-b823-ef4c45425a1b",
      "publisherId": "karyfoundation.theme-karyfoundation-themes",
      "publisherDisplayName": "karyfoundation"
    },
    "name": "theme-karyfoundation-themes",
    "publisher": "karyfoundation",
    "version": "17.0.0"
  },
  {
    "metadata": {
      "id": "2f5dd8cb-d251-4d70-abfe-ddebcb077483",
      "publisherId": "octref.vetur",
      "publisherDisplayName": "octref"
    },
    "name": "vetur",
    "publisher": "octref",
    "version": "0.11.7"
  },
  {
    "metadata": {
      "id": "d96e79c6-8b25-4be3-8545-0e0ecefcae03",
      "publisherId": "vscodevim.vim",
      "publisherDisplayName": "vscodevim"
    },
    "name": "vim",
    "publisher": "vscodevim",
    "version": "0.11.3"
  },
  {
    "metadata": {
      "id": "d637104e-1fd7-4063-98fc-8afe46012c9b",
      "publisherId": "sleistner.vscode-fileutils",
      "publisherDisplayName": "sleistner"
    },
    "name": "vscode-fileutils",
    "publisher": "sleistner",
    "version": "2.8.1"
  },
  {
    "metadata": {
      "id": "aaee577c-f062-495a-9816-0cbd442f1d25",
      "publisherId": "ecmel.vscode-html-css",
      "publisherDisplayName": "ecmel"
    },
    "name": "vscode-html-css",
    "publisher": "ecmel",
    "version": "0.2.0"
  },
  {
    "metadata": {
      "id": "c46b0018-f317-4b6c-a785-d2039b27338f",
      "publisherId": "wix.vscode-import-cost",
      "publisherDisplayName": "wix"
    },
    "name": "vscode-import-cost",
    "publisher": "wix",
    "version": "2.6.2"
  },
  {
    "metadata": {
      "id": "ffda6552-0ad5-431b-a4fa-0905a7e4f3f0",
      "publisherId": "bmewburn.vscode-intelephense-client",
      "publisherDisplayName": "bmewburn"
    },
    "name": "vscode-intelephense-client",
    "publisher": "bmewburn",
    "version": "0.8.8"
  },
  {
    "metadata": {
      "id": "80e9cc3c-eb09-48ed-afda-f1cfd9c9ca3f",
      "publisherId": "phproberto.vscode-php-getters-setters",
      "publisherDisplayName": "phproberto"
    },
    "name": "vscode-php-getters-setters",
    "publisher": "phproberto",
    "version": "1.1.0"
  },
  {
    "metadata": {
      "id": "9b2c953d-6ad4-46d1-b18e-7e5992d1d8a6",
      "publisherId": "akamud.vscode-theme-onedark",
      "publisherDisplayName": "akamud"
    },
    "name": "vscode-theme-onedark",
    "publisher": "akamud",
    "version": "2.1.0"
  },
  {
    "metadata": {
      "id": "ee33fd31-7bb4-4252-8368-fdd5bcd94cf8",
      "publisherId": "akamud.vscode-theme-onelight",
      "publisherDisplayName": "akamud"
    },
    "name": "vscode-theme-onelight",
    "publisher": "akamud",
    "version": "2.1.0"
  }
]

Quelque chose a changé? J'ai ce même problème.

+1 de moi aussi.

Je n'arrive pas à croire que ce problème d'il y a plus de 3 ans n'ait toujours pas été résolu, il vaut mieux continuer à utiliser SublimeText3

Je pense que c'est une caractéristique essentielle. J'attends juste que cela migre vers VS Code 😞

Je ne suis pas sûr que nous parlions tous de la même chose à ce stade TBH.

Le lun 14 mai 2018 à 13h53, Miqueias Penha [email protected]
a écrit:

PHP Intelephense
balise de mise en évidence

Travail! s2

-
Vous recevez cela parce que vous avez été mentionné.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-388790414 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/APewudsZw-Cu5mpgLrBJ8vUPagFUxB5Rks5tyXApgaJpZM4Gpk-J
.

-
Cordialement,

Danny Mexen.

vscode ne donne rien sur php. ajoutez ceci s'il vous plaît.

J'ai installé PHP Intelephense. Le problème a été résolu pour moi.

https://github.com/bmewburn/vscode-intelephense

Juste pour que nous soyons clairs ici.

Le code HTML ne peut pas être formaté (Ctrl + Maj + I) dans les fichiers PHP.

@venoel Êtes-vous en train de dire que l'installation de PHP Intelephense vous permet de faire
cette?

Le mercredi 30 mai 2018 à 20h17, venoel [email protected] a écrit:

J'ai installé PHP Intelephense. Le problème a été résolu pour moi.

-
Vous recevez cela parce que vous avez été mentionné.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-393264440 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/APewuX-9NlZ3_tgvbVnOADg57CLN0yBlks5t3uItgaJpZM4Gpk-J
.

-
Cordialement,

Danny Mexen.

@DannyMexen.
Je veux dire que je reçois correctement des suggestions de balises et que les retraits sont bien appliqués.

Microsoft fait l'acquisition de GitHub!
mais ce problème encore!
lol!

@venoel
Bien noté. Heureux que cela fonctionne pour vous.

Peu importe ce que j'essaye, je ne peux pas formater le code HTML dans les fichiers PHP.

Le lundi 4 juin 2018 à 11h00, venoel [email protected] a écrit:

@DannyMexen https://github.com/DannyMexen .
Je veux dire que je reçois correctement des suggestions de balises et que les retraits sont bien appliqués.

-
Vous recevez cela parce que vous avez été mentionné.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-394283911 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/APewuVJC1tDUt9qWZ2Hjn76-NEQjSC15ks5t5PdBgaJpZM4Gpk-J
.

-
Cordialement,

Danny Mexen.

VSCode devrait certainement avoir l'option de définir 2 modes de langage ou plus pour des types de fichiers spécifiques afin d'avoir la coloration syntaxique et l'intellisense pour tous en même temps. Vous l'avez même maintenant avec 1 instance de VSCode, juste dans différents fichiers avec différents modes de langue. Honeslty Je ne sais pas pourquoi est-ce si difficile à mettre en œuvre. Quelqu'un l'a même utilisé plus tôt comme solution de travail bien que cela ne fonctionne pas et ne l'a jamais fait, mais cela devrait certainement:

"files.associations": {
    "*.phtml": ["html", "php"]
}

Ouais, tout à fait d'accord @SharakPL. Je n'ai jamais compris la réponse donnée mais
des gens plus intelligents que moi ici ont dit que ce n'était pas facile
chose à mettre en œuvre. Je ne suis pas assez avisé pour le faire moi-même mais parce que
fonction sort de la boîte avec ST3 par exemple, je m'attends à ce que ce soit un
fonctionnalité par défaut partout ailleurs.

Le mercredi 6 juin 2018 à 21:33, SharakPL [email protected] a écrit:

VSCode devrait certainement avoir l'option de définir 2 modes de langue ou plus pour
types de fichiers spécifiques pour avoir la coloration syntaxique et l'intellisense pour tous
eux en même temps. Vous l'avez même maintenant avec 1 instance de VSCode,
juste dans différents fichiers avec différents modes de langue. Honeslty je ne le fais pas
savoir pourquoi est-ce si difficile à mettre en œuvre. Quelqu'un l'a même utilisé plus tôt comme
solution de travail bien que cela ne fonctionne pas et ne l'a jamais fait, mais cela
devrait:

"files.associations": {
"* .phtml": ["html", "php"]
}

-
Vous recevez cela parce que vous avez été mentionné.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-395187031 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/APewuQ4MZdnzRvFyDZC2LSkhfPLVHt7Wks5t6C6XgaJpZM4Gpk-J
.

-
Cordialement,

Danny Mexen.

d'accord @DannyMexen même notepad ++ l'avoir. c'est 2018 et vscode n'a toujours pas cette fonctionnalité. C'est fou.

_Fermez ce problème, cela n'arrivera jamais ._

@bsienn voulez- vous expliquer? Pourquoi quelque chose de commun dans les éditeurs de texte simples est impossible dans VSCode?

@SharakPL expliquer? Lisez le fil DEAD de 3 ans, il vous expliquera que ça n'arrivera pas.

@bsienn C'est là avec emnet, html sur php utilise emnet, essayez de l'apprendre .. https://docs.emmet.io/ s'il vous plaît ... ça marche quand même ...

@bsienn expliquez-moi ceci alors: pourquoi vous abandonnez devrait être une raison pour clôturer ce numéro?

@benyaminl emmet est très bien, mais cela ne fonctionne que lorsque je crée de nouvelles balises. C'est inutile quand j'ai besoin d'éditer des balises, c'est-à-dire d' ajouter des attributs à un lien , car il n'y a toujours pas d'intellisense pour le html dans les fichiers php

Ah c'est la pensée que j'ai essayé d'ignorer hahaha .. c'est vrai de toute façon. Encore
quand je pense que quelqu'un a essayé de l'implémenter, ce n'est pas assez facile

Envoyé de My Asus Pegasus X005

Pada tanggal Kam, 14 juin 2018 19.26, SharakPL [email protected]
menulis:

@bsienn https://github.com/bsienn expliquez-moi ceci alors: pourquoi vous donnez
up devrait être une raison de fermer ce fil?

@benyaminl https://github.com/benyaminl emmet va bien, mais c'est seulement
fonctionne lorsque je crée de nouvelles balises. C'est inutile quand j'ai besoin d'éditer des balises ie ajouter
quelques attributs vers un lien <# m_4226514043244462616_issuecomment-359139115>,
car il n'y a toujours pas d'intellisense pour html dans les fichiers php

-
Vous recevez cela parce que vous avez été mentionné.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/Microsoft/vscode/issues/670#issuecomment-397275321 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/ACr9NMadCpzlgPV4BjF9uM2kTA4DlOz-ks5t8lZdgaJpZM4Gpk-J
.

J'essaie de convertir l'utilisation de Brackets.io en VS Code depuis que j'ai lu tant de bonnes choses sur Intellisense. Cette fonctionnalité de base m'empêche. Ça me fait peur que ça remonte à 3 ans et que rien n'ait été fait.

Quelqu'un sait-il s'il existe un plug-in ou un moyen d'enregistrer des fichiers .php pour utiliser la saisie semi-automatique .html?

Merci de votre aide.

Des nouvelles à ce sujet?
Je crois que faire simplement la même implémentation faite pour l'édition mixte dans les fichiers html, où html + css + js fonctionne bien.

Une autre alternative consiste à implémenter dans l'API d'extension un moyen de regarder l'extrait de fichier et de changer la langue sélectionnée.

J'ai fait cela parce que j'étais ennuyé par le HTML imbriqué dans PHP, cela devrait formater en fonction des paramètres natifs que vous avez pour html.format et du format de l'éditeur sur enregistrer / taper le format HTML en PHP .

De plus, je reçois une auto-complétion complète, intellisense en le faisant de cette façon.

@ RiFi2k Salut! J'essaye d'installer votre extension, mais pour moi rien ne change. Dans la description, le rien à faire pour cette extension est défini par le travail.

@BxDev Hé! Donc vous auriez besoin d'avoir
html.format.enable = true
editor.formatOnSave = true
et tous les autres paramètres de vscode liés au formatage HTML ou au formatage de l'éditeur que vous pourriez souhaiter, configurez.

Ensuite, il veut formater le HTML imbriqué dans des fichiers .php, vous devez donc également vous assurer que vous avez un fichier .php avec un code comme celui-ci:

<?php
$hi = true;

?>
<div class="correct-formatting">
                                     <div class="wrong-formatting">
</div>
</div>

Lorsque vous enregistrez, il devrait corriger les div HTML

Si vous rencontrez toujours des problèmes, faites-le moi savoir que je vais vous aider à le faire démarrer.

@ RiFi2k merci pour les réponses!
J'écris ceci dans les paramètres utilisateur:
"html.format.enable": true, "editor.formatOnSave": true
Après, je crée un fichier php avec votre exemple, mais cela ne fonctionne pas :-(
l213wgru87dzrr

@BxDev En fait, il semble qu'il a parfaitement fait son travail

<?php
$hi = true;

?>
<div class="correct-formatting">
                                     <div class="wrong-formatting">
</div>
</div>

à

<?php
$hi = true;

?>
<div class="correct-formatting">
        <div class="wrong-formatting">
        </div>
</div>

C'est tout ce qu'il fait, j'espère que vous n'êtes pas confus au sujet de la fonctionnalité

@ RiFi2k ohh yeea :) Je l'ai compris :) Désolé pour ça. Mais pour moi, très important, c'est la balise de paire de surbrillance dans les documents mixtes php / html / js / css. Merci pour votre travail!

C'est un problème vieux de 3 ans et il ne sera jamais résolu, c'est mon sentiment.
C'est une chose tellement basique à avoir dans un éditeur et cela rend mon travail quotidien incroyablement ennuyeux.

Je vais probablement devoir revenir à ST3, car j'ai l'impression que VScode, en particulier ces derniers temps, a reculé en ajoutant toutes sortes de fonctionnalités sophistiquées mais en ignorant leurs problèmes fondamentaux.

@TheDutchCoder C'est parce que personne ne veut coder PHP ces jours-ci, ce qui est la bonne chose à faire. :RÉ

@steebcheen veuillez rester sur le sujet. Merci

@Tyriar De toute façon, quelqu'un a-t-il été affecté à cela? Ou non?
EDIT: Oh c'est assigné .. D'accord

@ RiFi2k Bonjour et merci d'avoir essayé de vous aider! J'ai essayé votre extension mais cela ne fonctionne pas. J'ai essayé les paramètres que vous avez fournis, mais toujours pas de dés. Cela dépend peut-être du formateur php utilisé? Quelle extension suggérez-vous d'utiliser pour activer le formatage PHP en premier lieu?

OK, mise à jour rapide: cela fonctionne lors de la sauvegarde, ce qui est génial! Cela ne fonctionne pas avec le menu contextuel du clic droit. Je suppose que c'est un juste compromis :)

Je pensais que la question n'était que de ma préférence. Lorsque j'ai mélangé le code HTML en php, le format est vraiment désordonné, comme lorsque je clique sur l'onglet, la taille de l'onglet sera de 4, puis j'ajouterai une nouvelle taille de l'onglet maintenant. Je voudrais passer de ST3 à VSC mais cela m'arrête du passage au VSC. Je suppose que je dois rester sur ST3 pour le moment.

@thanasisHS Désolé,

Mon extension ne fonctionnera que si le format lors de l'enregistrement est configuré, et il ne fonctionne pas en tant que formateur PHP réel, s'exécute onBeforeSave.

J'ai à peu près publié toute ma configuration en quelques mots, n'hésitez pas, il m'a fallu des mois de travail pour la rendre parfaite. Pour le formatage, j'utilise PHPCBF mais j'utilise celui-ci, je sais qu'il ne contient que 300 installations mais il a mis à jour et fusionné le code de toutes les extensions phpcbf mortes, c'est de l'argent.
https://marketplace.visualstudio.com/items?itemName=ValeryanM.vscode-phpcbf

Voici mon essentiel, si quelqu'un d'autre s'intéresse aussi à ma configuration. Il fait php, js, scss, css, vue - formatage automatique et linting avec eslint, stylelint, phpcbf, phpcs, plus joli. C'est un rythme une fois que vous avez tout mis en place.

Global
https://gist.github.com/RiFi2k/d43e84788b1798252f30cac28b6f6eda

Projet
https://gist.github.com/RiFi2k/42e294f3785bdbbc2641c4b18955e16f

Tous les fichiers dotfiles, composer.json, package.json, jeu de règles php
https://gist.github.com/RiFi2k/8b753d1f12a36760f3ee6e1322daf708

Clôture de ce numéro. J'ai expliqué la raison dans la description du problème ci-dessus.

Merci. Le code est de plus en plus ruiné chaque jour. Je pensais que chez Microsoft, vous étiez cool avec toute cette initiative FOSS, mais ce n'est toujours pas indépendant, mais concentré pour gagner de l'argent en faisant la publicité de Github et d'Azure.

@ jens1o Je suis confus, cette décision est tout au sujet de la promotion de l'écosystème OSS. Les extensions référencées sont des projets OSS, veuillez aider à les améliorer. Les ressources de l'équipe VS Code ne sont pas illimitées.

N'oubliez pas non plus notre Code de conduite et communiquons de manière respectueuse.

Je ne comprends tout simplement pas pourquoi vous donnez la priorité aux tâches par rapport aux autres, bien que la communauté les veuille vraiment. J'entends seulement "réduction des problèmes" et "hors de portée", et, oh oui, "ressources limitées" (c'est pourquoi la communauté est là, lol). Personne ne se plaint que les choses ne viennent pas bientôt, mais un peu plus de concentration sur les besoins de la communauté serait certainement utile. Pourquoi devons-nous maintenir le nombre de problèmes à un niveau bas, même s'ils ne polluent rien? À mes yeux, la feuille de route Code a passé le sweet spot il y a 2 itérations. Maintenant, il s'agit de gagner de l'argent (avec la grande communauté gagnée au fil des ans; je l'utilise depuis la première démo de Build(); tous les jours) en intégrant des produits payants et tiers (comme GitHub, propriété de Microsoft).

Je dis que je ne me sens plus le bienvenu dans cette communauté (et je suis honnêtement déçu), je ne vous attaque d'aucune façon, donc il n'y a aucune raison de faire référence au COC ici. Il fait partie du logiciel FOSS d'avoir des discussions ouvertes.

Mais en parlant de COC, je citerais ceci:

Comprendre les désaccords

Je ne comprends pas pourquoi vous voulez m'arrêter, seulement parce que je ne suis pas d'accord avec la politique que vous faites.

J'essaie de comprendre pourquoi vous avez changé votre politique, alors pourriez-vous s'il vous plaît élaborer?

@egamma Je ne pense pas que la raison pour laquelle vous plus élémentaires d'un éditeur PHP. Peut-être que la plupart des fonctionnalités de PHP devraient être fournies par des extensions, mais pas celle-ci. De nombreux éditeurs ont cette fonctionnalité, même le simple éditeur de texte, Notepad ++, a cette fonctionnalité. Cela fait partie de la grammaire PHP de base, et vous ne pouvez pas écrire PHP sans cela. Un éditeur ne devrait pas dire qu'il prend en charge PHP sans cette fonctionnalité, car il ne peut pas lire PHP de la bonne manière.

Et pourquoi le Javascript dans le fichier HTML fonctionne-t-il bien et le CSS dans le HTML fonctionne-t-il bien sans aucune extension dans vscode? Il semble que vscode ait cette fonctionnalité mais ne veut pas en faire une similaire pour PHP, c'est injuste.

Cette fonctionnalité est vraiment importante pour les utilisateurs PHP, et la plupart des utilisateurs n'essaieront pas de rechercher ces problèmes et ils ne savent rien des extensions qui peuvent les aider à obtenir ces fonctionnalités de base et nécessaires. Ces utilisateurs peuvent simplement télécharger cet éditeur, l'installer et trouver ce "bug", puis le désinstaller immédiatement et avoir une très mauvaise impression de vscode. Ils ne diront rien ici. Tous les utilisateurs qui souhaitent partager leurs opinions ici sont ceux qui veulent vraiment que vscode soit meilleur. Le sentiment d'écrire du code PHP sans cette fonction est vraiment trop pénible, vous ne pouvez pas distinguer les blocs, vous devez compter les balises html manuellement, ou convertir le format de fichier de php en html, et de html en php plusieurs fois. Toutes les autres langues que j'ai essayées sur le vscode n'auront pas de tels sentiments sans aucune extension installée. Les utilisateurs ne connaîtront pas la raison, ils se soucient uniquement de l'expérience utilisateur. Veuillez considérer ceci et faire quelque chose, même ajouter un peu de surbrillance est également une bonne chose:

  • fournir un support de base pour HTML, ou
  • fournir une extension officielle avec cette fonctionnalité et installer automatiquement lors de l'utilisation de PHP
  • ou même une simple recommandation pour tous les utilisateurs PHP et installez l'extension recommandée en un clic, puis obtenez cette fonctionnalité et faites que vscode soit capable de vraiment supporter PHP

D'accord, @popcorner est correct, c'est essentiel pour les développeurs PHP et compte tenu des pouvoirs de WordPress ~ 30% d'Internet ou plus et à peu près tous les thèmes ou plugins ont PHP imbriqué avec HTML dans chaque fichier de modèle. Donc, fondamentalement, un nombre ridicule d'utilisateurs en a besoin.

Maintenant, je pense que le cœur de tout ce problème réside dans le fait que vous ne pouvez pas enregistrer plusieurs extensions de formatage en même temps. Il y a essentiellement une sorte de course sur ce crochet et un seul peut gagner, et vous ne pouvez pas voir en tant qu'utilisateur ce qui essaie de courir quand, et lequel a réellement couru. Donc, pour un fichier PHP, odieusement, vous allez utiliser une extension de formatage qui fait du code PHP sur HTML. Mais si vous pouviez enchaîner les extensions de formatage et qu'il y avait un ordre de hook ou quelque chose qui était modifiable, vous pouviez enregistrer un PHP et un HTML, puis définir la priorité / l'ordre pour que l'un d'eux s'exécute en premier / dernier. Par exemple, tout ce problème est résolu si vous pouvez ...

Étape 1 Exécutez PHPCBF ou une extension de formatage PHP similaire.
Deuxième étape Exécutez le formatage html js-beautify qui ignore tout le PHP de toute façon et ne fait que le HTML, ce qui est exactement la même chose que je fais dans mon extension, Format HTML en PHP, pour résoudre le problème. Mais je dois l'exécuter onBeforeSave au lieu d'utiliser l'enregistrement de mise en forme par défaut, mais cela ne devrait pas être la solution.

Donc, pour résumer, c'est très nécessaire, mais au lieu de résoudre / ne pas résoudre le problème, pourquoi ne pas explorer mon idée ci-dessus et vous finirez par avoir une bien meilleure expérience avec chaque langue et formatage, pour les utilisateurs et les développeurs d'extensions.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

stoffeastrom picture stoffeastrom  ·  380Commentaires

fabiopicchi picture fabiopicchi  ·  192Commentaires

mariusa picture mariusa  ·  219Commentaires

TurkeyMan picture TurkeyMan  ·  411Commentaires

Perkovec picture Perkovec  ·  191Commentaires