Làm cách nào để liên kết phần mở rộng tệp với loại nội dung?


9

Tôi có một số tệp có phần mở rộng "mô-đun" và "inc", là các tệp PHP. Khi tôi cố mở chúng, danh sách các ứng dụng có thể mở chúng chỉ hiển thị ứng dụng tôi đã đặt làm ứng dụng mặc định, mặc dù có một trình soạn thảo văn bản khác có thể mở tệp PHP và tôi đã đặt các tệp với các tiện ích mở rộng đó được làm nổi bật như các tệp PHP.

ảnh chụp màn hình

Nếu tôi mở hộp thoại "Nhận thông tin", hãy chọn một ứng dụng khác trong "Mở bằng" và sau đó nhấp vào "Thay đổi tất cả ..." những gì tôi nhận được là như sau.

ảnh chụp màn hình

ảnh chụp màn hình

Những gì tôi muốn có được là những gì hiển thị trong ảnh chụp màn hình sau, hiển thị menu "Mở bằng" cho một loại tệp khác:

ảnh chụp màn hình

Có cách nào để liên kết các phần mở rộng đó với loại nội dung được sử dụng cho các tệp PHP không?
Ngoài ra, làm cách nào tôi có thể hiển thị, trong danh sách các ứng dụng được hiển thị trong menu "Mở bằng", tất cả các ứng dụng có thể mở tệp PHP, khi Finder chưa làm điều đó?

Tôi sẽ giải thích những gì tôi muốn có được bằng cách sử dụng ảnh chụp màn hình của RCDefaultApp.

ảnh chụp màn hình

Một tệp sử dụng "mô-đun" làm phần mở rộng là một tệp PHP, trong trường hợp của tôi (nó là một mô-đun Drupal); những gì tôi muốn là thêm phần mở rộng đó vào phần mở rộng được báo cáo cho UTI "tập lệnh công khai".


Tôi rất háo hức muốn biết điều này - người gần nhất tôi đã hỏi về UTI và Dịch vụ khởi chạy trên SuperUser ...
bmike

Tôi nghĩ rằng sử dụng RCDefaultApp như Kungi đã trả lời là cách. Nhưng nếu bạn nghĩ rằng (các) tiện ích mở rộng cụ thể đó phải được ánh xạ tới các loại nội dung này, bạn có thể xem xét việc viết thư cho các nhà sản xuất ứng dụng để đề xuất bao gồm điều đó.
Agos

Câu trả lời:


3

Không có cách nào an toàn và được khuyến khích để đạt được những gì bạn đang có vì chức năng này của HĐH được kiểm soát bởi cơ sở dữ liệu Launch Services. Các nhà phát triển đăng ký các kiểu tệp hỗ trợ ứng dụng của họ với HĐH trong lần khởi chạy đầu tiên.

Cách tốt nhất để sửa lỗi này là kiến ​​nghị nhà phát triển thêm hỗ trợ cho phần mở rộng tệp trong phiên bản tương lai của ứng dụng của họ.

Như đã nói, bạn đã tìm thấy cách tài liệu duy nhất mà Apple đưa ra để ghi đè các sắc lệnh của cơ sở dữ liệu Launch Services. Nếu bạn muốn đào sâu hơn và đi đường ít hơnđi du lịch hỗ trợ ở đây là một vài gợi ý.

Có một tệp .plist chi phối một phần của dịch vụ Launch có tại: ~ / Library / Preferences / com.apple.LaunchService.plist

Apple lưu ý rằng việc loại bỏ phần này có thể xóa các tùy chọn menu theo ngữ cảnh không mong muốn. Nhưng đó là điều ngược lại với những gì bạn đang theo đuổi.

Đó là một .plist nhị phân nhưng bạn có thể chuyển đổi nó thành phiên bản xml và thử nghiệm một chút để xem liệu bạn có thể đưa ra một công thức để đạt được những gì bạn đang theo đuổi không. Điều này không được khuyến khích, nó có thể gây hại và rất có thể nó sẽ bị hệ điều hành ghi đè vào một lúc nào đó.

Ngoài ra còn có một công cụ ẩn sâu hơn một chút trong HĐH có tên lsregister có thể hữu ích trong việc khám phá hệ thống ống nước của Launch Services. Dưới đây là một lời giải thích hữu ích của lsregister và các tùy chọn của nó .


3

Giải pháp thay thế cho Giải pháp được đề cập bởi Gerry là Ngăn ưu tiên RCDefaultApp . Nó miễn phí và hãy để bạn đặt tất cả Ứng dụng-> Loại nội dung, Ứng dụng-> Kết nối URL trên Hệ thống của bạn.

Trong ngăn "Ứng dụng" của RCDefaultApp, bạn có thể đặt loại tệp nào Ứng dụng cụ thể Hỗ trợ khi bạn kiểm tra "php" với Trình chỉnh sửa của mình, nó cũng sẽ hiển thị trong Menu "Mở bằng".


Nó không cho phép thêm tiện ích mở rộng cho các tiện ích được liên kết với UTI hoặc loại nội dung. Nó cho phép thay đổi ứng dụng mặc định mở tệp, về cơ bản là những gì Finder đã cho phép; sự khác biệt là với RCDefaultApp bạn thay đổi nó từ cùng một nơi (bảng ưu tiên).
kiamlaluno

@ kiamlaluno - nhưng bạn có thể tạo moduletiện ích mở rộng mới và sau đó liên kết nó với ứng dụng của bạn. Hay vấn đề với cái này là gì ??
Rene Larsen

Vấn đề không phải là liên kết một tiện ích mở rộng với một ứng dụng, mà sẽ trở thành ứng dụng mặc định cho tiện ích mở rộng đó; vấn đề là tự động có danh sách các ứng dụng trong "Mở bằng" được điền trước. Nếu bạn thấy ảnh chụp màn hình thứ ba mà tôi đã sử dụng trong câu hỏi, Xcode, Dashcode và Console được hiển thị cho tiện ích mở rộng ".inc", nhưng tôi không liên kết các ứng dụng đó với tiện ích mở rộng.
kiamlaluno

0

Trong menu ngữ cảnh, chọn Nhận thông tin, chọn chương trình sẽ sử dụng trong ngăn "Mở bằng:" và nhấp vào "Thay đổi tất cả ..."


2
Tôi đã thử điều này, nhưng hiệu quả duy nhất là thay đổi ứng dụng mặc định cho các tệp đó, trong khi tôi muốn giữ ứng dụng mặc định, nhưng hiển thị một ứng dụng khác trong danh sách các ứng dụng được hiển thị trong menu con "Mở bằng".
kiamlaluno
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.