ฉันจะเพิ่มแอปพลิเคชันใหม่ลงในเมนูเปิดด้วยได้อย่างไร


52

ฉันจะเพิ่มแอพพลิเคชั่นลงในเมนู Open With (แสดงหลังจากคลิกขวา) สำหรับประเภทไฟล์ที่กำหนดโดยไม่ให้ไฟล์นั้นเปิดด้วยแอปพลิเคชันนั้นตลอดเวลาได้อย่างไร

ในอินสแตนซ์เฉพาะนี้ฉันต้องการตัวเลือกเพื่อเปิดไฟล์ตำแหน่งเว็บไซต์ (.URL) ด้วย TextEdit ในขณะที่ยังคงเป็นค่าเริ่มต้นสำหรับ Safari

ฉันใช้ระบบปฏิบัติการ 10.7.4


3
หากโปรแกรมสามารถเปิดได้มันจะเพิ่มตัวเองลงในเมนูนั้น มิฉะนั้นจะหมายความว่าไม่สามารถเปิดได้
Anriëtte Myburgh

12
สิ่งนี้ดูเหมือนจะไม่จริงเสมอไป TextEdit สามารถเปิด URL แต่ไม่ได้อยู่ในเมนูย่อย "เปิดด้วย"
KatieK

คำตอบ:


25
  1. เพิ่มไปยังอาร์เรย์ CFBundleDocumentTypes ใน/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. เปลี่ยนแอปพลิเคชั่นเริ่มต้นกลับไปเป็น Safari in Finder

หากมีการลงชื่อแอปพลิเคชันการแก้ไข Info.plist จะทำให้รหัสลายเซ็นใช้ไม่ได้ มันยังทำให้แอปพลิเคชั่นบางอย่างเช่น TextEdit และ WriteRoom หยุดทำงานเมื่อเปิดตัวใน 10.8


1
อาจเป็นเพียงคอมพิวเตอร์ของฉัน แต่นี่ไม่ได้ผลสำหรับฉัน หลังจากทำตามขั้นตอนนี้ (ไปยังขั้นตอนที่ 3) TextEdit จะไม่สามารถใช้งานได้ภายใต้ "เปิดด้วย" สำหรับไฟล์. url นอกจากนี้การปรับเปลี่ยน Info.plist ก็ทำให้ TextEdit หยุดทำงานใน 10.7 เช่นกัน
KatieK

11
มีวิธีที่จะทำให้เรื่องนี้เป็นเรื่องธรรมดามากขึ้นหรือไม่? เช่นฉันต้องการแก้ไขของฉันฐานสิบหก (ปัจจุบัน HexFiend) เป็นตัวเลือกที่จะเปิดทุกประเภทของไฟล์เหี้ยรวมทั้งผู้ที่ไม่ได้มีนามสกุลไฟล์ ...
สตีเว่น Lu

@StevenLu: ฉันสร้างทางลัด Finder ใน BetterTouchTool เพื่อเปิดไฟล์ที่เลือกในปัจจุบันใน HexFiend
biziclop

11

ลองเลือกไฟล์ใน Finder และทำไฟล์> รับข้อมูล จากตรงนั้นคุณควรจะสามารถเลือกแอปพลิเคชันใด ๆ เพื่อเปิดด้วย เมื่อคุณเปิดไฟล์ประเภทนั้นในแอปพลิเคชั่นนั้นแล้วมันควรจะเริ่มปรากฏในเมนู Open With

แก้ไข: คำตอบข้างต้นไม่ทำงาน ข้อเสนอแนะอื่น:

ฉันรู้สึกแย่ที่คำตอบก่อนหน้านี้ไม่ถูกต้องดังนั้นฉันจึงไปเที่ยว ฉันพบเคล็ดลับนี้จาก Mac OS X Hints:

  • คลิกควบคุม (หรือคลิกขวา) แอพที่เป็นปัญหาและเลือก "แสดงเนื้อหาแพ็คเกจ"
  • เปิดโฟลเดอร์เนื้อหาในชุดแอป คุณจะพบไฟล์ชื่อว่า Info.plist นี่คือรายการคุณสมบัติ XML ที่เก็บข้อมูลทุกประเภทเกี่ยวกับแอป
  • เปิดไฟล์ด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ ฉันแนะนำ Hydra แต่ TextEdit จะทำได้ดี
  • ค้นหาสิ่งที่มีลักษณะดังต่อไปนี้:

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

    และอื่น ๆ ด้วยความพอเพียงที่แอปสามารถเปิดได้ภายในแท็ก จากนั้นคุณเพียงแค่ลบ [ หรือเพิ่ม - newtron ] คำต่อท้ายสำหรับรายการที่คุณไม่ต้องการ [ หรือต้องการ ] แอปที่จะเปิด

  • บันทึกไฟล์และปิด (หรือออกจากโปรแกรมแก้ไข)


ดูเหมือนจะใช้งานไม่ได้ ใน "รับข้อมูล" ฉันสามารถ "เปิดด้วย" แอปพลิเคชันเดียวกันตามปกติหรือเลือก "อื่น ๆ " หากฉันเลือก "อื่น ๆ " ฉันสามารถเลือกได้จากแอปพลิเคชันทั้งหมดและเลือกหรือไม่เลือก "เปิดตลอดเวลาด้วย" แม้หลังจากเปิดไฟล์หนึ่งครั้งด้วย TextEditor มันจะไม่ปรากฏเป็นตัวเลือกเพิ่มเติมในเมนูย่อย "เปิดด้วย"
KatieK

ยิงถูกแล้ว ฉันจะแก้ไขคำตอบเพื่อสะท้อนถึงสิ่งนี้และอัปเดตด้วยคำแนะนำอื่น
newtron

คำตอบที่อัปเดตนี้ไม่สามารถใช้งานได้ด้วยตัวเองแม้หลังจากรีบูตเครื่อง
KatieK

คิดว่าวิธีนี้ใช้ได้กับเสือดาวหิมะ .. superuser.com/questions/222065/…
Ryan Hollingsworth

8

โซลูชันที่สองของ newtron ใช้งานได้สำหรับฉัน แต่หลังจากเปิดเทอร์มินัลแล้วและดำเนินการคำสั่งต่อไปนี้:

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

หลังจากรีสตาร์ทระบบแอพที่ต้องการอยู่ในเมนูบริบท "เปิดด้วย"

ขอบคุณ


สิ่งนี้มีประโยชน์หากคุณต้องการล้างรายการและเริ่มใหม่ เช่น VMWare Fusion ได้จัดทำรายการอย่างใดว่าสถานที่กำพร้าเมื่อ VM ที่สอดคล้องกันถูกลบ ใช้สิ่งนี้ล้างรายการที่ไม่ถูกต้อง
ferdil

5

แทนการเปิดไฟล์ที่มีเมนูบริบทคุณยังสามารถลากไฟล์ใด ๆ ไปยังโปรแกรมประยุกต์ใด ๆ ที่ต้องการในขณะที่กด+ ปุ่ม วิธีนี้จะบังคับให้แอปใด ๆลองแม้ว่าจะคิดว่ามันไม่สามารถทำได้ ฉันใช้สิ่งนี้ตลอดเวลา


3

คุณสามารถเพิ่มตัวเลือกเป็นบริการด้วย Automator จากนั้นเรียกใช้งานด้วย Hotkey จาก Keyboard Maestro

  1. เปิดAutomatorและเลือกServiceประเภทเอกสาร
  2. เลือกFiles and FoldersในService receives selectedเมนูด้านบน
  3. ค้นหาและเลือกการOpen Finder Itemsดำเนินการ
  4. ตอนนี้เลือกTextEditเข้าOpen with:
  5. บันทึกบริการด้วยชื่อที่คุณต้องการดูในเมนู

ตอนนี้คุณสามารถค้นหาได้โดย:

  • คลิกขวาที่ไฟล์> บริการ

ป้อนคำอธิบายรูปภาพที่นี่

หรือ

  • เมนู Finder> บริการ (เลือกไฟล์)

ป้อนคำอธิบายรูปภาพที่นี่

แต่คุณไม่ต้องหยุดตรงนั้น!

ฉันสร้างมาโครคีย์บอร์ดมาสโทรเพื่อให้ฉันสามารถใช้ Hotkey เพื่อทำสิ่งต่อไปนี้ ป้อนคำอธิบายรูปภาพที่นี่

ฉันได้ความคิดนี้จากเว็บไซต์นี้: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item.html


นี่เป็นวิธีที่ยอดเยี่ยมในการทำเช่นนี้ขอบคุณมาก !!
ลูคัสพี

ฉันใช้บริการตลอดเวลา แต่ฉันลืมฉันทำมาโครเพื่อทำสิ่งนี้ ไม่มีอะไรที่เหมือนกับการค้นพบมาโครอีกครั้ง!
kraftydevil

ฉันไม่เคยใช้ Automator ก่อน (หรือรู้ว่าสิ่งที่มันไม่) คุณเพิ่งเปิดใหม่ทั้งโลกใน OSX สำหรับฉัน :)
ลูคัสพี

0

หนึ่งการติดตามการแก้ปัญหาของ newtron:

คุณจะพบไฟล์ชื่อว่า Info.plist นี่คือรายการคุณสมบัติ XML ที่เก็บข้อมูลทุกประเภทเกี่ยวกับแอป เปิดไฟล์ด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบ ฉันแนะนำ Hydra แต่ TextEdit จะทำได้ดี

บันทึกไฟล์และปิด (หรือออกจากโปรแกรมแก้ไข)

คุณไม่สามารถบันทึก. plist ที่แก้ไขได้หากบัญชีของคุณไม่มีสิทธิ์ที่ถูกต้อง (ปัญหาที่ฉันจัดการอยู่ในตอนนี้ - แม้จะอยู่ในสถานะผู้ดูแลระบบคุณจะไม่ได้อ่าน + เขียนสิทธิ์บนไฟล์และโฟลเดอร์บางส่วน .. .) ในการบันทึกการเปลี่ยนแปลงของไฟล์. plist คุณต้องให้สิทธิ์ผู้ใช้ในการอ่านและเขียน

แอปพลิเคชั่น Mac เริ่มต้นบางตัวทำให้ทำได้ยากและฉันกำลังค้นหาวิธีแก้ปัญหา (จะอัปเดต) เพื่อทำสิ่งนี้ด้วย TextEdit


0

สิ่งนี้ใช้ได้กับฉัน: คลิกขวาที่แอปและเนื้อหาของคุณข้ามไปและเปิด /Applications/*****.app/Contents/Info.plist

เปิด Plist ใน Xcode เป็น SourceCode แล้ววางสิ่งนี้:

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

ฉันมี 'AutomatorApplet.icns' ในโฟลเดอร์ทรัพยากร


โปรดเพิ่มสิ่งที่คุณพยายามจะทำได้โดยเพิ่มรายการ dict เมื่อคำตอบของคุณอยู่ในขณะนี้ก็ไม่ได้ใช้ตัวอย่าง (.url) ที่กำหนดไว้ในคำถาม
klanomath

-3

ตรวจสอบtech-recipes.comสำหรับคำแนะนำโดยละเอียด ดังที่ @ Anriëtteชี้ให้เห็นว่าแอปควรปรากฏบนเมนูเปิดด้วยหากสามารถเปิดไฟล์ที่ต้องการได้


สิ่งนี้ใช้ไม่ได้สำหรับฉันเพราะฉันไม่ต้องการเปลี่ยนแอปพลิเคชันเริ่มต้นที่เปิดไฟล์ ฉันแค่ต้องการตัวเลือกเพิ่มเติม
KatieK
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.