2012-04-04 13 views
49

Trước tiên hãy để tôi nói rằng tôi đến từ một nền tảng của Microsoft và Visual Studio là bánh mì và bơ của tôi. Nó có một lệnh (keybind là tùy ý) tự động định dạng bất kỳ cú pháp mã nào. Lệnh tương tự hoạt động trong HTML, CSS, Javascript, C#, v.v.Nội dung tuyệt vời 2 Định dạng mã

Tôi đã thử plugin cho ST2 và cho đến nay tôi thấy hầu hết không hoạt động trên hộp Windows và nếu có, mục đích cụ thể như chỉ Javascript.

Tôi đã cố gắng (và mở vấn đề nếu phù hợp):

https://github.com/victorporof/Sublime-HTMLPrettify

https://github.com/jdc0589/JsFormat (cái này thực sự hoạt động)

https://github.com/welovewordpress/SublimeHtmlTidy

Có bất kỳ người dùng Windows của ST2 tìm thấy bất cứ điều gì mà làm việc thế nào để định dạng CSS/HTML/Javascript, tốt nhất là trong một shot?

Edit: Kể từ khi câu hỏi này là nhận được rất nhiều quan điểm không có hoạt động, tôi sẽ nói rằng tôi am vẫn đang tìm kiếm một plugin mà có thể định dạng các loại kịch bản khác nhau trong cùng một lệnh.

tháng 10 năm 2013 Vẫn chưa tìm thấy bất cứ điều gì mà bao gồm JS + CSS + HTML tốt tuy nhiên tôi đã giải quyết trên JsFormat như đến nay là hiệu quả và lỗi miễn phí với số tiền ít nhất của cấu hình cho chỉ Javascript nhất.

Trả lời

8

Tôi không thể nói cho 2nd hoặc 3rd, nhưng nếu bạn cài đặt Node trước, Sublime-HTMLPrettify hoạt động khá tốt. Bạn phải thiết lập phím tắt của riêng bạn sau khi nó được cài đặt. Một điều tôi nhận thấy trên Windows, bạn có thể cần phải chỉnh sửa đường dẫn của bạn cho nút trong biến% PATH% nếu nó đã dài (tôi nghĩ giới hạn là 1024 cho biến% PATH% và bất kỳ điều gì sau đó bị bỏ qua.)

Có lỗi Windows, nhưng trong các sự cố có khắc phục. Bạn sẽ cần chỉnh sửa tệp HTMLPrettify.py - https://github.com/victorporof/Sublime-HTMLPrettify/issues/12

+0

Tôi đã thực sự tham gia vào cuộc thảo luận trong một trong những vấn đề mở đó (vẫn mở). Tôi sẽ xem xét giải pháp tiềm năng mà bạn đã liên kết và liên hệ lại với bạn – Terry

+1

tìm kiếm nội dung nào đó cho PHP trong một cảnh quay thực sự khó khăn và gây phiền nhiễu. công cụ này là tuyệt vời nhưng một định dạng đơn giản là khó tìm. Thes php_beautifier cho Sublime là kiệt sức. Vấn đề chính trong tất cả các định dạng là bạn phải tweek một hoặc hai điều trước khi sử dụng chúng. –

+0

@ JuniorMayhé bạn có tìm thấy gì cho PHP không? Tôi thực sự vào CTRL + SHIF + F của Aptana, định dạng bất cứ điều gì (nói HTML, JS, PHP, Ruby và Python !!!) – Leonel

101

Tùy chọn tương tự trong Văn bản tuyệt vời được xây dựng trong Edit->Line->Reindent. Bạn có thể đặt mã này trong Preferences -> Key Bindings User:

{ "keys": ["alt+shift+f"], "command": "reindent"} 

tôi sử dụng alt + thay đổi + f bởi vì tôi là một người sử dụng Netbeans.

Để định dạng mã của bạn, chọn tất cả bằng cách nhấn ctrl + một và "tổ hợp phím của bạn". Xin lỗi vì tiếng anh xấu của tôi.


Hoặc nếu bạn không muốn để chọn tất cả trước khi định dạng, thêm một đối số cho lệnh thay vì:

{ "keys": ["alt+shift+f"], "command": "reindent", "args": {"single_line": false} } 

(theo nhận xét của @Supr dưới đây)

+5

+1 cho giải pháp trong ứng dụng. – Esteban

+25

Nếu bạn thấy khó chịu khi chọn mọi thứ (loại ngắt dòng chỉnh sửa), bạn có thể thêm đối số vào lệnh thay vào đó: '{" keys ": [" alt + shift + f "]," command ":" reindent "," args ": {" single_line ": false}}' ([source] (http://nicksantan.com/blog/2012/12/adding-auto-format-code-indenting-to-sublime-text -2 /)) – Supr

+1

@terry this phải là câu trả lời được chấp nhận. –

13

Sublime CodeFormatter đã định dạng hỗ trợ cho PHP, JavaScript/JSON/JSONP, HTML, CSS, Python. Mặc dù tôi đã không sử dụng CodeFormatter rất lâu, nhưng tôi đã rất ấn tượng với khả năng làm đẹp JS, HTML và CSS của nó. Tôi đã không cố gắng sử dụng nó với PHP (tôi không làm bất kỳ phát triển PHP) hoặc Python (mà tôi không có kinh nghiệm với) nhưng cả hai ngôn ngữ có nhiều lựa chọn trong các tập tin .sublime-settings.

Một lưu ý tuy nhiên, cài đặt không dễ tìm. Trên Windows, bạn cần truy cập vào số %AppData%\Roaming\Sublime Text #\Packages\CodeFormatter\CodeFormatter.sublime-settings. Như tôi đã không có một máy Mac Tôi không chắc chắn nơi các tập tin cài đặt là trên OS X.

Đối với một phím tắt, tôi đã thêm phím này ràng buộc để tôi "Key Bindings - User" file:

{ 
    "keys": ["ctrl+k", "ctrl+d"], 
    "command": "code_formatter" 
} 

tôi sử dụng Ctrl +K, Ctrl +D vì đó là những gì Visual Studio sử dụng để định dạng. Bạn có thể thay đổi nó, tất nhiên, chỉ cần nhớ rằng những gì bạn chọn có thể xung đột với một số phím tắt của tính năng khác.

Cập nhật:

Dường như nếu các nhà phát triển của Sublime chữ CodeFormatter đã làm cho nó dễ dàng hơn để truy cập vào các tập tin .sublime-settings. Nếu bạn cài đặt CodeFormatter bằng plugin Package Control, bạn có thể truy cập cài đặt qua Preferences -> Package Settings -> CodeFormatter -> Settings - Default và ghi đè các cài đặt đó bằng cách sử dụng mục menu Preferences -> Package Settings -> CodeFormatter -> Settings - User.

+1

trừ khi CodeFormatter bị hỏng và một số khối văn bản, nó sẽ tiếp tục thêm thụt lề thêm vào mỗi khi bạn chạy nó. Mà làm cho nó không sử dụng được. –

0

Có lẽ câu trả lời này không hoàn toàn là những gì bạn đang tìm kiếm, nhưng nó sẽ fomat bất kỳ ngôn ngữ nào có cùng lối tắt bàn phím. Giải pháp là language specific keyboard shortcuts.

Đối với mọi ngôn ngữ bạn muốn định dạng, bạn phải tìm và tải xuống plugin cho điều đó, ví dụ: trình định dạng html và trình định dạng C#. Và sau đó bạn ánh xạ lệnh cho mọi plugin đến cùng một khóa, nhưng với ngữ cảnh khác biệt (xem liên kết).

Greets