Làm cách nào để thêm ứng dụng mới vào menu Open With?


52

Làm cách nào tôi có thể thêm ứng dụng vào menu Open With (hiển thị sau khi nhấp chuột phải) cho một loại tệp nhất định mà không làm cho tệp đó luôn mở với ứng dụng đó?

Trong trường hợp cụ thể này, tôi muốn tùy chọn mở tệp vị trí trang Web (.URL) bằng TextEdit, trong khi vẫn mặc định là Safari.

Tôi đang chạy HĐH 10.7.4.


3
Nếu chương trình có thể mở nó, thì nó sẽ tự thêm vào menu đó. Mặt khác, nó có nghĩa là nó không thể mở nó.
Anriëtte Myburgh

12
Điều này dường như không phải lúc nào cũng đúng. TextEdit có thể mở URL, nhưng nó không có trong menu con "Mở bằng".
KatieK

Câu trả lời:


25
  1. Thêm phần này vào mảng CFBundleDocumentTypes trong /Applications/TextEdit.app/Contents/Info.plist:

    <dict>
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>url</string>
        </array>
    </dict>
    
  2. /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -f /Applications/TextEdit.app/

  3. killall Finder
  4. Thay đổi ứng dụng mặc định trở lại Safari trong Finder

Nếu ứng dụng được ký, sửa đổi Info.plist sẽ làm mất hiệu lực chữ ký mã . Nó cũng làm cho một vài ứng dụng như TextEdit và WriteRoom gặp sự cố khi khởi chạy vào ngày 10.8.


1
Có lẽ nó chỉ là máy tính của tôi, nhưng nó không hoạt động với tôi. Sau khi làm theo quy trình này (đến bước 3), TextEdit không khả dụng trong phần "Mở bằng" cho các tệp .URL. Ngoài ra, sửa đổi Info.plist dường như cũng khiến TextEdit bị sập trong 10.7.
KatieK

11
Có cách nào để làm cho điều này chung chung hơn? Ví dụ: tôi muốn trình soạn thảo hex của mình (hiện tại là HexFiend) làm tùy chọn để mở mọi loại tệp chết tiệt, kể cả những người không có phần mở rộng tệp ...
Steven Lu

@StevenLu: Tôi đã tạo một lối tắt Finder trong BetterTouchTool để mở tệp hiện được chọn trong HexFiend.
biziclop

11

Hãy thử chọn tệp trong Trình tìm kiếm và thực hiện Tệp> Nhận thông tin. Từ đó bạn sẽ có thể chọn bất kỳ ứng dụng nào để mở nó. Khi bạn đã mở loại tệp đó trong ứng dụng đó một lần, nó sẽ bắt đầu xuất hiện trong menu Mở bằng.

EDIT: Câu trả lời ở trên không hoạt động. Đề xuất thay thế:

Tôi cảm thấy tồi tệ vì câu trả lời trước của tôi là không chính xác, vì vậy tôi đã đi vòng quanh. Tôi tìm thấy mẹo này từ Mac OS X Gợi ý:

  • Nhấp chuột điều khiển (hoặc nhấp chuột phải) vào ứng dụng được đề cập và chọn "Hiển thị nội dung gói"
  • Mở thư mục Nội dung trong gói ứng dụng. Ở đó bạn sẽ tìm thấy một tệp có tên Info.plist. Đây là danh sách thuộc tính XML lưu trữ tất cả các loại thông tin về ứng dụng.
  • Mở tệp bằng trình soạn thảo văn bản yêu thích của bạn. Tôi khuyên bạn nên Hydra, nhưng TextEdit sẽ làm tốt.
  • Tìm kiếm một cái gì đó trông giống như sau:

    <key>CFBundleTypeExtensions</key>
    <array>
        <string>txt</string>
        <string>srt</string>
        <string>suffix1</string>
        <string>suffix2</string>
        …
    

    và v.v., với các điều kiện đủ, ứng dụng có thể mở được chứa trong các thẻ. Sau đó, bạn chỉ cần xóa [ hoặc thêm --newtron ] hậu tố cho các mục bạn không muốn [ hoặc muốn ] ứng dụng mở.

  • Lưu tệp và đóng tệp (hoặc thoát khỏi trình chỉnh sửa).


Điều này dường như không hoạt động. Trong "Nhận thông tin", tôi có thể "Mở bằng" các ứng dụng giống như bình thường hoặc chọn "Khác". Nếu tôi chọn "Khác", tôi có thể chọn từ tất cả các ứng dụng và kiểm tra hoặc bỏ chọn "Luôn mở bằng". Ngay cả sau khi mở tệp một lần với TextEditor, nó không xuất hiện dưới dạng tùy chọn bổ sung trong menu con "Mở bằng".
KatieK

Bắn đi, bạn nói đúng. Tôi sẽ chỉnh sửa câu trả lời để phản ánh điều này và cập nhật nó với một gợi ý thay thế.
newtron

Câu trả lời cập nhật này không hoạt động hoàn toàn, ngay cả sau khi khởi động lại.
KatieK

Hãy nghĩ rằng phương pháp này hiệu quả với báo tuyết .. superuser.com/questions/222065/ móc
Ryan Hollingsworth

8

Giải pháp thứ hai của newtron làm việc cho tôi nhưng chỉ sau khi tôi mở Terminal và thực hiện lệnh sau:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

Sau khi khởi động lại hệ thống, ứng dụng mong muốn nằm trong menu ngữ cảnh "mở bằng" của tôi.

Cảm ơn


Điều này cũng hữu ích nếu bạn muốn xóa danh sách và bắt đầu lại. ví dụ: VMWare Fusion đã đặt các mục nhập bằng cách nào đó mồ côi khi VM tương ứng bị xóa. Sử dụng điều này đã xóa các mục không chính xác
ferdil

5

Thay vì mở tệp bằng menu ngữ cảnh, bạn cũng có thể kéo bất kỳ tệp nào vào bất kỳ ứng dụng nào bạn muốn trong khi nhấn phím + . Điều này sẽ buộc bất kỳ ứng dụng nào phải thử ngay cả khi nó nghĩ rằng nó không thể làm như vậy. Tôi sử dụng tất cả các thời gian.


3

Bạn có thể thêm tùy chọn dưới dạng Dịch vụ với Automator và sau đó kích hoạt nó bằng Hotkey từ Bàn phím Maestro.

  1. Mở Automatorvà chọn Serviceloại tài liệu.
  2. Chọn Files and Folderstrong Service receives selectedmenu trên cùng
  3. Tìm kiếm và chọn Open Finder Itemshành động.
  4. Bây giờ chọn TextEditvàoOpen with:
  5. Lưu dịch vụ với tên bạn muốn thấy trong menu

Bây giờ bạn có thể tìm thấy điều này bằng cách:

  • Bấm chuột phải vào tệp> Dịch vụ

nhập mô tả hình ảnh ở đây

HOẶC LÀ

  • Menu Finder> Dịch vụ (với một tệp được chọn)

nhập mô tả hình ảnh ở đây

Nhưng bạn không phải dừng lại ở đó!

Sau đó, tôi đã tạo một macro Bàn phím Maestro để tôi có thể sử dụng Hotkey để làm điều đó: nhập mô tả hình ảnh ở đây

Tôi có ý tưởng này từ trang web này: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item.html


Đây là một cách tuyệt vời để làm điều này, cảm ơn bạn rất nhiều !!
Lucas P.

Tôi sử dụng dịch vụ mọi lúc nhưng tôi quên tôi đã tạo một macro để làm điều này. Không có gì giống như tái khám phá một vĩ mô!
kraftydevil

Tôi chưa bao giờ sử dụng Automator trước đây (hoặc biết nó làm gì), bạn vừa mở một thế giới hoàn toàn mới trong OSX cho tôi :)
Lucas P.

0

Một giải pháp tiếp theo của newtron:

Ở đó bạn sẽ tìm thấy một tệp có tên Info.plist. Đây là danh sách thuộc tính XML lưu trữ tất cả các loại thông tin về ứng dụng. Mở tệp bằng trình soạn thảo văn bản yêu thích của bạn. Tôi khuyên bạn nên Hydra, nhưng TextEdit sẽ làm tốt.

Lưu tệp và đóng tệp (hoặc thoát khỏi trình chỉnh sửa).

Bạn không thể lưu .plist đã chỉnh sửa nếu tài khoản của bạn không có quyền chính xác (vấn đề tôi đang xử lý bây giờ - ngay cả ở trạng thái quản trị viên, bạn sẽ không có quyền đọc + ghi trên một số tệp và thư mục .. .). Để lưu các thay đổi đối với các tệp .plist, bạn cần cung cấp cho người dùng quyền đọc + ghi.

Một số ứng dụng Mac mặc định khiến việc này trở nên khó thực hiện và tôi hiện đang tìm kiếm một giải pháp (sẽ cập nhật) để thực hiện điều này với TextEdit.


0

Điều này làm việc cho tôi: Nhấp chuột phải vào nội dung ứng dụng và goto của bạn và mở /Appluggest/*****.app/Contents/Info.plist

Mở Plist trong Xcode dưới dạng SourceCode và sau đó đặt cái này:

        <dict>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>jpeg</string>
                <string>jpg</string>
                <string>png</string>
                <string>gif</string>
            </array>
            <key>CFBundleTypeIconFile</key>
            <string>AutomatorApplet.icns</string>
            <key>CFBundleTypeName</key>
            <string>AutomatorApplet.icns</string>
            <key>CFBundleTypeOSTypes</key>
            <array>
                <string>GIFf</string>
                <string>JPEG</string>
                <string>PNGf</string>
            </array>
            <key>CFBundleTypeRole</key>
            <string>Viewer</string>
        </dict>

Tôi đã có 'AutomatorApplet.icns' trong Thư mục tài nguyên.


Vui lòng thêm những gì bạn đã cố gắng để đạt được bằng cách thêm mục nhập chính tả. Vì câu trả lời của bạn hiện tại, nó không sử dụng ví dụ (.url) được đưa ra trong câu hỏi.
klanomath

-3

Kiểm tra tech-recipes.com để được hướng dẫn chi tiết. Như @ Anriëtte đã chỉ ra ứng dụng sẽ xuất hiện trên menu Mở bằng nếu nó có thể mở tệp cụ thể.


Điều này không phù hợp với tôi vì tôi không muốn thay đổi ứng dụng mặc định mở tệp. Tôi chỉ muốn một sự lựa chọn bổ sung.
KatieK
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.