บน OS X คุณจะเปลี่ยน "ชนิด" ของไฟล์ได้อย่างไร


14

ใน OS X ฉันต้องการเปลี่ยนป้ายกำกับ "ชนิด" ที่เกี่ยวข้องกับไฟล์ ไฟล์ของฉันจำนวนมากแสดงเป็น "ไฟล์ข้อความธรรมดา"เมื่อเป็น javascript, php, css และไฟล์ประเภทอื่น ๆ จริงๆ

ฉันไม่มีปัญหาที่จะให้พวกเขาเปิดด้วยแอปพลิเคชันที่ฉันต้องการมันเป็นเรื่องง่ายที่จะทำ - มีหัวข้อมากมายในเรื่องนี้

สิ่งที่ทำให้ฉันสับสนคือเมื่อฉันมีโฟลเดอร์ขนาดใหญ่ที่มีไฟล์จำนวนมากอยู่ในนั้นฉันต้องการเรียงลำดับตามชนิดและมี css ทั้งหมด php ทั้งหมดและไฟล์ js ทั้งหมดเข้าด้วยกัน

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

ฉันเห็นประเภทไฟล์ที่ขัดข้องใน OSX และฉันเห็นการ เปลี่ยนอย่างรวดเร็วแต่ฉันไม่แน่ใจว่าเป็นสิ่งที่ฉันต้องการจริงๆ

อาจมีคนอื่นเคยจัดการเรื่องนี้มาก่อนและรู้วิธีแก้ไขไหม?


น่าสนใจ มันไม่ได้fileดูเหมือนจะเกี่ยวข้องกับอรรถประโยชน์บรรทัดคำสั่งจริง
dmckee

แน่นอนคุณสามารถตั้งค่าบางอย่างเช่น TextWrangler เป็นตัวจัดการไฟล์เริ่มต้นสำหรับไฟล์ JS, PHP และ CSS จากนั้นจะแสดงรายการเป็นไฟล์ TextWrangler

ฉันคิดว่าปัญหาอาจเกิดขึ้นกับตอนจบ Daniel Beck ช่วยแก้ปัญหาด้านล่าง อย่างไรก็ตามคำถามติดตาม: ดังนั้นยูทิลิตี้การเปลี่ยนอย่างรวดเร็วที่ฉันพบ (ด้านบน) ใช้เพื่ออะไร มันมีบางอย่างสำหรับตัวอักษร "ประเภท" 4 ตัวและตัวสร้าง "ตัวอักษร 4 ตัว" ... ?
cwd

คำตอบ:


7

โดยปกติแล้วชนิดของไฟล์จะถูกกำหนดโดยแอปพลิเคชันที่จัดการกับไฟล์ประเภทนั้นใน Launch Services สำหรับคนส่วนใหญ่นี่เป็นแอปพลิเคชั่นที่เปิดประเภทไฟล์ตามค่าเริ่มต้นในกรณีของคุณ Coda

แอปพลิเคชั่นระบุประเภทไฟล์ในContents/Info.plistไฟล์ คุณสามารถดูและแก้ไขได้โดยการคลิกขวากำปพลิเคชันและเลือกShow Package Contents

ดูเหมือนว่ากลุ่ม Panic จะทำสิ่งที่ยุ่งเหยิง ประเภทไฟล์ทั้งหมดที่พวกเขากำหนดคือPlainTextType:

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

คุณสามารถเปลี่ยนชื่อประเภทไฟล์โดยแก้ไขDocument Type Nameรายการทั้งหมดในProperty List EditorหรือCFBundleTypeNameรายการทั้งหมดเมื่อแก้ไขไฟล์ในโปรแกรมแก้ไขข้อความปกติ เพียงแทนที่สิ่งที่คุณต้องการให้ปรากฏเป็นคำอธิบายแทน

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

แก้ไขบันทึกและตรวจสอบให้แน่ใจว่ามีการแจ้งการเปิดใช้บริการ (รีสตาร์ทออกจากระบบหรือเพียงแค่ย้ายแอปพลิเคชันไปยังโฟลเดอร์อื่นแล้วกลับมาอีกครั้ง) และผลลัพธ์จะเป็นดังนี้:

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


คุณต้องทำซ้ำทุกครั้งที่มีการอัปเดตแอปพลิเคชันเนื่องจากสิ่งเหล่านี้แทนที่Info.plistไฟล์ที่คุณแก้ไข ดีที่สุดในการรายงานข้อผิดพลาดให้กับนักพัฒนาที่ Panic


และผู้ใช้ที่ Panic จะรายงานว่าไฟล์. php, .js หรือ. css ยังคงเป็นไฟล์ข้อความธรรมดา ความหมายของมันและนั่นไม่ใช่จุดประสงค์ของ UTIs นี่ไม่ใช่การอภิปรายใหม่ UTIs มีการเข้าใจผิดและใช้ผิดตั้งแต่เริ่มต้นส่วนหนึ่งเป็นเพราะปัญหานี้ซึ่งแอปเปิ้ลซึ่งอยู่ในภูมิปัญญาที่ไม่มีที่สิ้นสุดของพวกเขายังไม่ได้ทำอะไรเพื่อตอบ
peelman

@peelman แอปเปิ้ลไม่ได้ทำมันเช่นนี้ใน Info.plistTextEdit พวกเขาสามารถให้ชื่อประเภทเอกสารที่เหมาะสม และผู้ใช้ให้ความสำคัญกับคอลัมน์ประเภท Finder's มากกว่าแง่มุมทางเทคนิคของ UTIs
Daniel Beck

@db - PListEdit Pro เป็นตัวแก้ไขรายการคุณสมบัติหรือไม่ ฉันมีครั้งแรกและหน้าจอของฉันดูแตกต่างออกไปเล็กน้อย ขอบคุณสำหรับคำตอบที่ค่อนข้างครอบคลุม :)
CWD

nm เพิ่งพบเครื่องมือแก้ไขรายการคุณสมบัติใน/Developer/Applications/Utilitiesโฟลเดอร์ ฉันไม่มีแคตตาล็อก QS ที่โฟลเดอร์นั้น อุ่ย
cwd

ผมกำลังมองหาบางสิ่งบางอย่างบนเส้นเหล่านั้น แต่มันก็เป็นไปได้ที่จะเปลี่ยนวิธีการค้นหาจัดการเรียงลำดับ, ตามที่กล่าวไว้ที่นี่ ?
Konrad

1

มันขึ้นอยู่กับโปรแกรมการบันทึกเพื่อตั้ง UTI (ตัวระบุประเภทเหมือนกัน) สำหรับไฟล์ที่กำหนด หากคุณจัดการที่จะเปลี่ยนแปลงพวกเขาแล้วแก้ไขไฟล์ในสิ่งที่โปรแกรมที่คุณสร้างพวกเขาในการตั้งค่าให้พวกเขาเป็นข้อความธรรมดาพวกเขาอาจจะกลับไปเป็นข้อความธรรมดาเมื่อคุณบันทึกอีกครั้ง

ในทางเทคนิคไฟล์เหล่านั้นเป็นข้อความธรรมดาพวกมันสามารถเปิดได้โดยโปรแกรมแก้ไขใด ๆ ที่รองรับ UTI ข้อความธรรมดาซึ่งเป็นจุดประสงค์ของ UTIs ที่ให้บริการดังนั้นนี่ไม่ใช่ความผิดพลาด ฉันเป็นการหลีกเลี่ยงปัญหาดังกล่าวเป็นการส่วนตัวโดยใส่รูปภาพสไตล์ชีตและไฟล์จาวาสคริปต์ไว้ในโฟลเดอร์ย่อย

ไม่ว่าคุณจะต้องกลั้วแก้ไขที่คุณเลือกและดูว่ามันสนับสนุนวิธีการกำหนด UTI-> ความสัมพันธ์ส่วนขยายของไฟล์หรือวิธี ro กำหนดสิ่งที่ UTI ไฟล์จะถูกบันทึกด้วย


1

คำอธิบายประเภท OS X Coreสามารถเปลี่ยนแปลงได้โดยการแก้ไข InfoPlist.strings ภายใน CoreTypes.bundle

รายการคุณสมบัติเป็นไบนารีที่คอมไพล์ดังนั้นในกรณีที่ทำการสำรองข้อมูลก่อนที่จะแก้ไขการปรับปรุงระบบอาจจะเขียนทับดังนั้นเก็บสำเนาหรือ (ซึ่งฉันแนะนำ) เชื่อมโยงเวอร์ชันที่แก้ไขของคุณไปยังตำแหน่งเดิม - สมมติว่าสำเนาของคุณเป็น ชื่อInfoPlist.strings.customและอยู่ใน dirเดียวกับ orginal:

cd /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/English.lproj

cp InfoPlist.strings InfoPlist.strings.custom - สำเนาที่กำหนดเองของคุณ

mv InfoPlist.strings InfoPlist.strings.backup - ย้ายเดิม

เปิดInfoPlist.strings.customด้วยTextMateเนื่องจากแยกวิเคราะห์รายการคุณสมบัติไบนารีเป็นอย่างดีโดยสมมติว่าคุณmateติดตั้งแล้ว:

mate /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/English.lproj/InfoPlist.strings.custom

เมื่อคุณแก้ไขเสร็จแล้วให้เชื่อมโยงไฟล์เดิม:

sudo ln -s /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/English.lproj/InfoPlist.strings.custom /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/English.lproj/InfoPlist.strings

และเปิดตัว Finder อีกครั้งด้วยkillall Finder- คุณควรเห็นการเปลี่ยนแปลงในตัวค้นหาหลังจากนั้น

ตัวอย่างเช่นฉันเปลี่ยน"Portable Document Format (PDF)" = "Portable Document Format (PDF)";เป็น"Portable Document Format (PDF)" = "PDF";และ ... บอกลาก่อนเป็นสตริง "ชนิด" ที่น่ารำคาญใน Finder :-)

ก่อน หลังป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

หมายเหตุ:ฉันใช้ภาษาอังกฤษเป็นภาษาของระบบ - หากคุณมีชุดภาษาอื่นคุณต้องเปลี่ยนชื่อของ dir เป็นภาษาที่เหมาะสม:

cd /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ภาษาเยอรมัน.lproj/ <- ตัวอย่างเช่นสมมุติภาษาเยอรมัน

อัปเดต 1 (ค้นพบเกี่ยวกับพลูติล):

คุณสามารถใช้plutilเพื่อแปลงจากรูปแบบไบนารีเป็น XML หรือ JSON

sudo plutil -convert json InfoPlist.strings -o InfoPlist.strings.json

หลังจากแก้ไข. json ให้แปลง (คอมไพล์?) กลับเป็นรูปแบบไบนารี:

sudo plutil -convert binary1 InfoPlist.strings.json -o InfoPlist.strings

อัพเดท 2

ต้องการทราบว่าสตริง 'Kind' ที่น่ารำคาญนี้คืออะไร?

sudo find ./ -name '*.plist' -o -name '*.strings' -exec plutil -p {} \; | grep"annoying"ซึ่งannoyingเป็นสิ่งที่ annoys ฯ ** เสื้อออกมาในวันนี้


0

ไปดูที่duti

เครื่องมือบรรทัดคำสั่งเพื่อเลือกแอปพลิเคชันเริ่มต้นสำหรับประเภทไฟล์บน OS X


0

ฉันเกิดสิ่งนี้ขึ้นเมื่อฉันอัปเกรดเป็น Office 2016 และเอา Office 2011 ออก - เครื่องมือค้นหาตัดสินใจว่า.dotไฟล์ (เทมเพลต MS Word 97-2004) เป็นไฟล์GraphViz DOT แม้ว่าฉันจะไม่ได้ติดตั้ง GraphViz และตัดสินใจว่า Nisus Writer ควรเป็น แอปพลิเคชันเริ่มต้น

ฉันจัดการเพื่อแก้ไขแอปพลิเคชันเริ่มต้นด้วยวิธีที่ง่ายใน Finder (รับข้อมูล / เปิดด้วย: / เปลี่ยนแปลงทั้งหมด ... ) แต่ประเภทไฟล์ยังคงผิด ตามคำตอบของ Daniel Beckฉันได้ตรวจสอบInfo.plistsWord 2016 และ Nisus Writer แต่ทั้งคู่ต่างก็ถูกต้อง

ฉันต้องสร้างรีจีสทรี Launch Servicesด้วย

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

(จาก Terminal) และในที่สุดก็แก้ไขได้

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