2013-07-31 17 views
7

Es scheint, dass PHPStorm dem angegebenen Codestil nicht folgen möchte. Jedes Mal, wenn ich eine HTML-Datei zu formatieren, es bricht die Vertiefung von dieser:Jetbrains PhpStorm HTML-Einrückung

<html> 
    <head> 
     bleh 
    </head> 
    <body> 
     bleh 
    </body> 
</html> 

zu

<html> 
<head> 
<bleh> 
    bleh 
<bleh> 
</head> 
<body> 
<bleh> 
    bleh 
<bleh> 
</body> 
</html> 

„bleh“ (wobei alle enthaltenen Tags) sind eingerückt, wie sie sind annehmen.
Ich fand die Einstellung: Datei -> Einstellungen -> Codestil -> HTML -> Andere -> "Untergeordnete nicht einrücken".
Das war mit mehreren Tags gefüllt, die ich bereits entfernt habe (das Textfeld ist also leer).
Die Einstellungen sind theoretisch angewendet auf das Projektschema, das das aktuelle Schema ist.
Allerdings habe ich das Konzept dessen, was diese Schemata sind, nicht vollständig begriffen, so dass mir etwas Wichtiges fehlt.

Bilder:
http://snapshot.overloadproducts.com/7411c9d50e0b43edc76c1e625a38d61c http://snapshot.overloadproducts.com/5a74f83356572f3644a6d52bf2fa1f66

Edit: PhpStorm am nächsten Tag geöffnet und es sagte die Projektdatei extern bearbeitet worden war, und es braucht zu aktualisieren. Sobald dies der Fall war, wurde es wieder korrekt formatiert.
Also irgendwie die Einstellungsdatei war nicht synchron und das Einstellungsfenster wurde nicht in der Datei gespeichert.
Noch ein Fehler meiner Meinung nach.

+0

Die "Do not Indent Children Of" -Ding ist kein Textfeld, es ist einer der üblichen Pop-up-Key-Value-Editoren Dealies. Sie müssen auf das Symbol am Ende des Textfelds klicken, um den REAL-Editor aufzurufen. Nehmen Sie Ihre Änderungen vor und drücken Sie "OK". Du wirst golden sein. – lucifurious

Antwort

3

ANTWORT (ON EDIT): Für eine tatsächliche Arbeit versuchen Sie, mit der rechten Maustaste auf Ihr Dokument und klicken Sie auf "Einfügen einfach". Dadurch wird die Formatierung des in die Zwischenablage eingefügten Textes gespeichert. Nicht wirklich eine Lösung als solche, aber eine geeignete Problemumgehung.

ORIGINAL:

Haben Sie eine Antwort für diese am Ende immer?

Ich habe das gleiche Problem, und für das Leben von mir kann es nicht beheben. Das ist wirklich sehr, sehr ärgerlich, vor allem als „Vorschau“ pane zu sehen, was der Code Formatierung wie nicht genau aussehen soll - es zeigt:

<div> 
    <div> 
     <p> 
      Some comment from JetBrains. 
     </p> 
    </div> 
</div> 

... aber wenn in Text aus einem Editor einfügen, es wird umformatiert an:

<div> 
<div> 
<p> 
Some comment from JetBrains. 
</p> 
</div> 
</div> 

Entschuldigung für das Posten eines Kommentars im Antwortabschnitt, aber ich habe keine 15 Reputation.

+0

Ich glaube nicht, dass ich jemals eine Antwort auf dieses Problem gefunden habe. Es ist über ein Jahr her und ich habe seit einiger Zeit keine Web-Programmierung mehr gemacht. –

+1

Rechtsklick einfügen einfach total macht den Trick. Vielen Dank. Ich bin so froh, dass ich diesen Beitrag gefunden habe;) – ling

+0

So froh, dass es geholfen hat. Man könnte meinen, dass geniale Programmierer ein so einfaches Menü etwas einfacher finden könnten, oder? – Magnus

2

Direkt unter der Option „Nicht indent Kinder:“ Sie finden die Option „oder Tag-Größe mehr als“ mit einem Standardwert von 200.

Das bedeutet, dass für größere HTML-Dateien Einzug wird effektiv deaktiviert werden. Ich habe keine Ahnung, warum irgendjemand das wollen würde, aber der Weg, dieses (Fehl-) Verhalten loszuwerden, besteht darin, diesen Wert zu entfernen (lass das Feld einfach leer).

+0

Dies ist definitiv die Antwort, die ich gesucht habe! Danke @MichaelKowhan! – brazilianldsjaguar

15

Gehen Sie einfach auf Setting/preferences ->Code Style ->HTML ->Other

Insert neue Zeile vor: Körper hinzufügen.

Nicht einrücken Kinder von: löschen Sie alle in diesem Formular.

+1

Kühl. Der Befehl "Kinder nicht einrücken" funktioniert. –

+0

"Körper" war bereits innerhalb "neue Zeile vor einfügen". Entfernen Sie alles von "Nicht einrücken Kinder von" macht das HTML klarer. – Guntram

Verwandte Themen