Textmate가 HTML을 잘 들여 쓸 수 있습니까?


17

Textmate에 HTML을 잘 들여 쓰는 기능이 있습니까?

HTML Tidy가 들여 쓰기를하지만 태그도 삭제하는 것 같습니다. (이것은 완전한 HTML은 아니지만 여전히 그렇습니다!)

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:tal="http://xml.zope.org/namespaces/tal" xmlns:metal="http://xml.zope.org/namespaces/metal">
    <head>
        <title></title>
    <script type="text/javascript" src="http://www.speechapi.com/static/lib/swfobject.js"></script>
    <script type="text/javascript" src="http://www.speechapi.com/static/lib/speechapi-1.1.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<body>
    <!-- All above disappears -->       
    <p>Test</p>
    <!-- All below disappears-->
</body>
</html>



@Casebash 나는 코드로 Tidy를 시도했고 나에게 태그 만 추가했다. copypastecode.com/46216
Robert S Ciaccio

@calvera : 문서 유형이 일반 텍스트가 아닌 HTML로 설정되어 있는지 확인
Casebash

3
@Casebash : html로 설정되었습니다 ... 메모장 ++의 Tidy 플러그인에 대해 기억하는 것에서 텍스트 파일을 통해 구성되었습니다. Tidy 구성에 문제가있을 수 있습니다.
Robert S Ciaccio

답변:


20

+ A를 눌러 모두를 선택한 다음를 선택할 수 있습니다 Text->Indent Selection.


TextMate를 수년간 결코 볼 또는이 기능을 사용 ... \ O /
brasofilo

불행히도 이것은 완전한 XML 형식이 아닙니다. 잘못 들여 쓰기 된 줄을 유지하고 같은 줄의 태그를 별도의 줄로 분리하지 않습니다. Textmate 2.0-rc.4 사용하기.
Alexander Klimetschek


1

다른 답변과 약간 교차하는 것을 지적하고 싶습니다.

서식을 지정할 텍스트를 선택하거나 다시 입력하면 TextMate가 해당 텍스트에만 특정 동작을 적용합니다. 따라서 문서 를 CMD+ + A묶은 다음 (번들> HTML 메뉴 또는 CTRL+ SHIFT+ H바로 가기로) Tidy를 적용 하면 유효성 검사에 대한 경고를 건너 뛰고 들여 쓰기 만 수행합니다 (페이지 스 니펫에서 작업하기 때문에 때로는 불필요합니다) ).


0

개발자 도구를 설치하는 경우 Xcode 또는 Dashcode를 대신 사용할 수 있습니다. 컴퓨터와 함께 제공된 설치 디스크에서 무료로 제공됩니다. Xcode와 Dashcode에는 구문 강조가 있다고 생각합니다.

정말 좋은 소프트웨어를 원한다면 Coda를 구입하십시오 . 100 달러에 약간 비싸지 만 확실히 가치가 있다고 말할 것입니다. 구문 강조 표시와 자동 완성 기능이 있습니다.


0

예. TextMate의 내장 HTML 번들에있는 Tidy 호출은 HTML을 처리 할 수 ​​있습니다.

TextMate의 번들-> HTML-> Tidy는 다음을 생성합니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:tal="http://xml.zope.org/namespaces/tal" xmlns:metal="http://xml.zope.org/namespaces/metal">
    <head>
        <title></title>
        <script type="text/javascript" src="http://www.speechapi.com/static/lib/swfobject.js">
</script>
        <script type="text/javascript" src="http://www.speechapi.com/static/lib/speechapi-1.1.js">
</script>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
</script>
    </head>
    <body>
        <!-- All above disappears -->
        <p>
            Test
        </p><!-- All below disappears-->
    </body>
</html>

샘플 코드에서. 아무것도 사라지지 않았다. 또한 다음과 같은 경고가 나타납니다.

line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 5 - Warning: <body> isn't allowed in <head> elements
line 1 column 1 - Warning: <html> proprietary attribute "xmlns:tal"
line 1 column 1 - Warning: <html> proprietary attribute "xmlns:metal"

0

내장 Text -> Indent Selection또는 Tidy 솔루션 에서 경험 한 문제 는 부분 HTML 코드에서 잘 작동하지 않는다는 것입니다. 예를 들어 WordPress에서 편집하거나 Ruby on Rails에서 부분 작업을 할 때 중요합니다.

나를 위해 일한 솔루션은 John Watson이 사용자 정의 Perl 스크립트를 사용하여 번들에 명령을 추가하는 것입니다. http://snipplr.com/view.php?codeview&id=28256

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.