Mam trochę źle sformatowany kod HTML, który chciałbym sformatować. Czy istnieje polecenie, które automatycznie sformatuje kod HTML w Sublime Text 2, aby wyglądał lepiej i był łatwiejszy do odczytania?
Mam trochę źle sformatowany kod HTML, który chciałbym sformatować. Czy istnieje polecenie, które automatycznie sformatuje kod HTML w Sublime Text 2, aby wyglądał lepiej i był łatwiejszy do odczytania?
Odpowiedzi:
Nie potrzebujesz do tego żadnych wtyczek. Wystarczy wybrać wszystkie linie ( Ctrl A), a następnie z menu wybierz Edycja → Linia → Reindent. Działa to, jeśli plik jest zapisany z rozszerzeniem zawierającym HTML, takim jak .html
lub .php
.
Jeśli robisz to często, przydatne może być mapowanie klawiszy:
{ "keys": ["ctrl+shift+r"], "command": "reindent" , "args": { "single_line": false } }
Jeśli plik nie został zapisany (np. Właśnie wkleiłeś fragment kodu do nowego okna), możesz ręcznie ustawić język wcięcia, wybierając menu Widok → Składnia → language of choice
przed wybraniem opcji reindent.
Istnieje pół tuzina sposobów formatowania HTML w Sublime. Przetestowałem każdą z najpopularniejszych wtyczek (szczegółowe informacje na ten temat napisałem na blogu ), ale oto krótki przegląd niektórych z najpopularniejszych opcji:
Plusy:
Cons:
<script>
blokówPlusy:
Cons:
<script>
poprawnie blokówPlusy:
Cons:
Plusy:
Cons:
Plusy:
Cons:
HTML-CSS-JS Prettify jest zwycięzcą w mojej książce. Wiele wspaniałych funkcji, na które nie można narzekać.
Jedyny pakiet, jaki udało mi się znaleźć, to Tag .
Możesz go zainstalować za pomocą kontrolki pakietu. https://sublime.wbond.net
Po zainstalowaniu kontroli pakietu. Przejdź do kontroli pakietów ( Preferencje -> Kontrola pakietów ), a następnie wpisz install
, naciśnij enter. Następnie wpisz tag
i naciśnij enter.
Po zainstalowaniu Tag podświetl tekst i naciśnij skrót Ctrl+ Alt+ F.
Indent XML
lub IndentX
między innymi.
Polecam tę wtyczkę: HTML / CSS / JS Prettify , to naprawdę działa.
Po instalacji wybierz kod i naciśnij Ctrl+Shift+H.
Gotowy!
Po prostu ogólna wskazówka. Aby automatycznie uporządkować kod HTML, zainstalowałem pakiet HTML_Tidy, a następnie dodałem następujące przypisanie klawiszy do ustawień domyślnych (których używam):
{ "keys": ["enter"], "command": "html_tidy" },
to uruchamia HTML Tidy przy każdym wejściu. Mogą to mieć wady, jestem całkiem nowy w Sublime, ale wydaje się, że robię to, co chcę :)
Chociaż pytanie dotyczy HTML, chciałbym dodatkowo podać informacje o tym, jak automatycznie sformatować kod JavaScript dla Sublime Text 2 ;
Możesz wybrać cały swój kod ( ctrl+ A) i użyć funkcji w aplikacji, reindent ( Edit
-> Line
-> Reindent
) lub możesz użyć wtyczki formatującej JsFormat, Sublime Text 2
jeśli chcesz mieć więcej ustawień, które można dostosować do formatowania kodu domyślne ustawienia zakładki / wcięcia tekstu Sublime Text.
https://github.com/jdc0589/JsFormat
Możesz łatwo zainstalować JsFormat za pomocą Kontroli pakietu ( Preferences
-> Package Control
) Otwórz Kontrolę pakietu, a następnie wpisz install, hitenter . Następnie wpisz js format
i naciśnij enter, gotowe. (Kontroler pakietu pokaże status instalacji z powodzeniem i błędami w lewym dolnym pasku Sublime
)
Dodaj następujący wiersz do przypisań klawiszy ( Preferences
-> Key Bindings User
)
{ "keys": ["ctrl+alt+2"], "command": "js_format"}
Używam ctrl+ alt+ 2, możesz zmienić ten klawisz skrótu, co chcesz. Jak dotąd JsFormat
jest to dobra wtyczka, warto ją wypróbować!
Mam nadzieję, że to komuś pomoże.
Istnieje wtyczka o nazwie SublimeHtmlTidy, która działa całkiem dobrze
Dla mnie HTML Prettify
rozwiązanie było niezwykle proste. Poszedłem na stronę HTML Prettify .
Sublime Package Manager
prettify
HTML prettify
opcję z menuBum. Gotowy. Wygląda świetnie
Po prostu idź do
Edytuj -> Tag -> Auto-formatuj tagi na dokumencie
Sublime Text 2 Version 2.0.1, Build 2217
na komputerze Mac. Czy na pewno jest to standardowa funkcja?
<b>somthing</b>
następuje przecinek, przecinek jest umieszczany w nowej linii, co powoduje spację między czymś a przecinkiem w widoku przeglądarki.
Stworzyłem pakiet o nazwie HTMLBeautify , który porządnie formatuje HTML. Oparłem go na skrypcie Perla, który znalazłem w 1997 r. - zaktualizowałem go, aby działał ze wszystkimi nowymi wymyślnymi nowoczesnymi tagami. :)
Sprawdź to i daj mi znać, co myślisz!
Myślę, że tego właśnie szukasz:
Jestem jeszcze mieć przywilej aby skomentować więc jest to po prostu dodatkowe informacje związane @ Piotra odpowiedź powyższej odpowiedzi.
Odkryłem, że HTML nie jest wyrównany zgodnie z oczekiwaniami, jeśli komentarze warunkowe IE w nagłówku nie są całkowicie zgodne, np. Przesunięcie w lewo:
<!--[if lt IE 7]>
<p class='chromeframe'>Your browser is <em>unsupported</em>. <a href="http://browsehappy.com/">Upgrade to a different browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to experience this site.</p>
<![endif]-->
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
Jest ładna wtyczka CodeFormatter o otwartym kodzie źródłowym , która (wraz z reindentowaniem) może upiększyć brudny kod, nawet jeśli wszystko jest w jednej linii.
Korzystam z tidy wraz z niestandardowym systemem kompilacji, aby upiększać HTML.
Mam HTMLTidy.sublime-build w moim katalogu Packages / User /:
{
"cmd": ["tidy", "-config", "$packages/User/tidy_config.cfg", "$file"]
}
i plik tidy_config.cfg w tym samym katalogu:
indent: auto
tab-size: 4
show-warnings: no
write-back: yes
quiet: yes
indent-cdata: yes
tidy-mark: no
wrap: 0
I po prostu wybierz system kompilacji i naciśnij ctrl+ blub cmd+, baby ponownie sformatować zawartość pliku. Jednym drobnym problemem jest to, że ST2 nie automatycznie ponownie ładuje pliku, więc aby zobaczyć wyniki, musisz przełączyć się na inny plik i cofnąć (lub inną aplikację i cofnąć).
Na Macu użyłem Macports do zainstalowania Tidy, w Windows musisz go pobrać sam i określić katalog roboczy w systemie kompilacji, w którym znajduje się Tidy:
"working_dir": "c:\\HTMLTidy\\"
lub dodaj go do ŚCIEŻKI.
możesz ustawić klawisz skrótu F12łatwo !!!
{ "keys": ["f12"], "command": "reindent" , "args": { "single_line": false } }
zobacz szczegóły tutaj .