Textmate có thể thụt lề độc đáo HTML không?


17

Textmate có chức năng thụt lề HTML độc đáo không?

HTML Tidy thụt lề nó - nhưng dường như cũng xóa các thẻ. (Đây không phải là HTML hoàn toàn phù hợp, nhưng vẫn vậy!)

<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>

Bạn có thể đưa ra một ví dụ về html nơi các thẻ bị xóa vì điều này thật đáng ngạc nhiên
user151019

@Mark: Được cập nhật bằng mã
Casebash

@Casebash Tôi đã thử Tidy với mã của bạn và đối với tôi, nó chỉ thêm các thẻ. copypastecode.com/46216
Robert S Ciaccio

@calvera: Đảm bảo loại tài liệu của bạn được đặt thành HTML, không phải văn bản thuần túy
Casebash

3
@Casebash: nó được đặt thành html ... FYI, từ những gì tôi nhớ về plugin Tidy cho Notepad ++, nó được định cấu hình qua tệp văn bản. Vì vậy, có thể có điều gì đó sai với cấu hình Tidy.
Robert S Ciaccio

Câu trả lời:


20

Bạn có thể nhấn + Ađể chọn tất cả sau đó Text->Indent Selection.


Nhiều năm của TextMate và chưa bao giờ thấy hoặc sử dụng tính năng này ... \ o /
brasofilo

Thật không may, đây không phải là định dạng XML đầy đủ: nó giữ các dòng bị thụt vào sai và không tách các thẻ trên cùng một dòng thành các dòng riêng biệt. Sử dụng Textmate 2.0-rc.4.
Alexander Klimetschek

13

Bạn có thể sử dụng Bundles > HTML > Tidyhoặc phím tắt ctrl+ + H.


3
Tidy không chỉ thụt lề - nó dường như cũng xóa các phần của nó!
Casebash

1
Câu hỏi là về việc thụt lề không dọn dẹp
tig

Tidying cũng thất bại khi có một số vấn đề như tên thành phần không xác định.
Alexander Klimetschek

1

Tôi muốn chỉ ra một cái gì đó vượt qua một chút các câu trả lời khác:

Nếu bạn chọn văn bản mà bạn muốn định dạng (hoặc giới thiệu lại), TextMate sẽ chỉ áp dụng các hành động cụ thể cho điều đó. Vì vậy, nếu bạn CMD+ Atài liệu của bạn và sau đó áp dụng Tidy (hoặc từ Gói> Menu HTML hoặc qua các nhân CTRL+ SHIFT+ Hphím tắt) nó sẽ chủ yếu chỉ làm thụt, bỏ qua các cảnh báo về kiểm chứng thực (mà đôi khi là không cần thiết vì chúng ta có thể làm việc trên các đoạn trang ).


0

Bạn có thể sử dụng Xcode hoặc Dashcode thay thế nếu bạn cài đặt Công cụ dành cho nhà phát triển. Chúng được cung cấp miễn phí trên các đĩa cài đặt đi kèm với máy tính của bạn. Tôi tin rằng cả Xcode và Dashcode đều có tô sáng cú pháp.

Nếu bạn muốn phần mềm thực sự tốt, hãy lấy Coda. Nó hơi đắt ở mức 100 đô la, nhưng tôi chắc chắn sẽ nói rằng nó đáng giá. Nó có tô sáng cú pháp và tự động hoàn thành (phần lớn đối với tôi).


0

Đúng. Cuộc gọi Tidy trong gói HTML tích hợp của TextMate có thể xử lý HTML của bạn.

Gói của TextMate -> HTML -> Tidy tạo ra:

<!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>

Trên mã mẫu của bạn. Không có gì biến mất. Bạn cũng nhận được các cảnh báo sau:

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

Vấn đề tôi gặp phải với Text -> Indent Selectiongiải pháp tích hợp hoặc Tidy là nó không chơi tốt với mã HTML một phần. Điều này là ví dụ quan trọng khi chỉnh sửa trong WordPress hoặc làm việc với các phần trong Ruby on Rails.

Giải pháp hiệu quả với tôi là thêm một lệnh vào gói với tập lệnh Perl tùy chỉnh của John Watson mà tôi tìm thấy ở đây: http://snipplr.com/view.php?codeview&id=28256

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.