דיפים ותצוגות מקדימות
קריאת דיף
| מתג | מה הוא עושה |
|---|---|
| מאוחד ↔ מפוצל | זה לצד זה כשרוצים להשוות, זה מעל זה כשרוצים לקרוא |
| רמת מילה | מדגיש רק את הטוקנים שהשתנו בתוך שורה שנערכה — אדום על הישן, ירוק על החדש |
| התעלמות מרווחים לבנים | מסתיר הזחה מחדש כך שהשינוי האמיתי עולה למעלה |
| גלישת שורות (בתצוגה מפוצלת בלבד) | גולשת שורות ארוכות בתוך העמודה במקום לגלול אותן |
| מקושר (תצוגה מפוצלת, בלי גלישה) | גולל את שני החצאים יחד, אנכית ולרוחב — כשכבוי, כל עמודה נגללת בנפרד |
| ⌘F | חיפוש בתוך הדיף, עם מעבר להתאמה הבאה והקודמת |
גלישת השורות כבויה כברירת מחדל: שורה אחת נשארת שורה אחת, כך ששני הצדדים נשארים ברי-השוואה שורה מול שורה, וכל חצי נגלל לרוחב בפס גלילה משלו. הפעילו אותה כשעדיף לקרוא שורה ארוכה מלרדוף אחריה — המחיר הוא ששורה שנגלשה לשלוש שורות כבר לא ניצבת מול המקבילה שלה. כל מתג זוכר את מצבו בין קבצים ובין הפעלות.
כשהגלישה כבויה, שני החצאים נגללים מקושרים כברירת מחדל — אנכית, מה ששומר על השורות זו מול זו, ולרוחב, כך שעמודה 90 משמאל יושבת מעל עמודה 90 מימין. נתקו אותם כששני הצדדים התרחקו — גוש מוזח מול גוש שאינו מוזח, שינוי שם שהזיז כל שורה — או כשרוצים להשוות שני אזורים מרוחקים באותו קובץ, ולהשאיר כל חצי במקום שבו נמצא התוכן שלו.

מעל כל דיף יושב הסיכום הסמנטי — מה השתנה, סימבול אחר סימבול, ולא שורה אחר שורה.
דיפים של תמונות
תמונות שהשתנו מקבלות השוואה אמיתית: זו לצד זו, או ידית החלקה שאפשר לגרור בין הלפני והאחרי.

סרגל שינויים ומפה ממוזערת
תצוגת הקובץ של קובץ מעץ העבודה — מוכן ל־commit או לא, במעקב או חדש לגמרי — נושאת פס צבעוני ליד כל שורה שהשתנתה מאז HEAD (או האינדקס, בקבצים מוכנים ל־commit): ירוק להוספה, כחול לשינוי, טריז אדום קטן במקום שבו נמחקו שורות בלי תחליף. לחיצה על פס מציגה את השינוי הזה בלי לצאת מהקובץ — החלונית הקופצת מציגה את השורות שנמחקו ושנוספו, עם קדימה/אחורה כדי לעבור על כל שינויי הקובץ.

המפה הממוזערת, כבויה כברירת מחדל, מוסיפה תצוגה כללית ממוזערת של כל הקובץ בקצה — לחצו או גררו כדי לנווט בה, כפי שהיה עושה פס גלילה אילו יכול היה גם להראות את צורת הקובץ. שתיהן הגדרות מקומיות למכשיר תחת הגדרות ← כללי ← מציג קבצים.
אף אחת מהן לא קוראת היסטוריה: עברו ל־Diff, Blame או לקומיט ישן יותר והסרגל נעלם — התצוגות האלה כבר מציגות כל שינוי ישירות.
תצוגה מקדימה לכל דבר
מצב תצוגה מקדימה מרנדר את הקובץ במקום להציג את המקור שלו: Markdown, Word
(.docx), Excel (.xlsx), PDF, וידאו, אודיו, תמונות, וקוד עם הדגשת תחביר לכל
השאר.

רשימות מאפיינים של Apple
Info.plist ו-*.entitlements הם XML, ו-XML אינו מה שמישהו מנסה לקרוא.
התצוגה המקדימה מציגה במקומו את מתאר המפתח/ערך — הצורה שמציג עורך ה-plist של
Xcode עצמו — עם הקינון שלם וסוג כל ערך לצדו.

שתי מגבלות. plist בינארי (bplist00) מזוהה ונקרא בשמו, לא מפוענח — העבר
אותו דרך plutil -convert xml1 אם אתה רוצה אותו כאן, אף שplist בינארי במאגר הוא
בדרך כלל תוצר בנייה שלא היה אמור להיכנס לשם. וערכי <data> מוצגים כמספר בתים
במקום כ-base64: בלוב אינו אומר לך דבר, ופרופיל הקצאה שמצויר בפאנל שאולי אתה
משתף אומר לכל השאר יותר מדי.
פרויקטים של Xcode
project.pbxproj הוא מילון שטוח אחד של אובייקטים המצביעים זה על זה לפי מזהה,
ולכן קריאה שלו לפי הסדר כמעט אינה מספרת דבר על הפרויקט. התצוגה המקדימה הולכת אחרי
ההפניות האלה ובונה מחדש את שלושת הדברים שבאת בשבילם: היעדים על שלבי הבנייה
שלהם, עץ הקבוצות כפי שהנווט של Xcode מצייר אותו, וההגדרות בנייה לכל
תצורה.

זה קורא, לא עורך — שום דבר כאן אינו כותב לפרויקט. למה שקורה כששני ענפים עורכים את אותו אחד, ראה פתרון התנגשויות.
קבצים גדולים מאוד
תצוגות מקדימות ותצוגת הקובץ טוענות את הקובץ במלואו לזיכרון, ולכן שתיהן מסרבות לקבצים שחורגים מתקרת גודל (32 MB לתצוגות מקדימות, 16 MB לטקסט) ומציגות במקום זאת את גודל הקובץ. טען בכל זאת מבטל את התקרה עבור אותו קובץ בלבד — שום דבר אינו מחוץ להישג יד, טעינות גדולות פשוט דורשות הסכמה מפורשת. קבצים ודיפים של יותר מכמה אלפי שורות עדיין מעובדים במלואם, אבל שורות שנגללו אל מחוץ לתצוגה כבר אינן עוברות פריסה וציור — כך שדיף ענק של lockfile כבר לא עולה בזיכרון של מחשב נייד שלם.

לשונית הקבצים
לשונית קבצים בסרגל הצד השמאלי מדפדפת בעץ העבודה עצמו, עם תגי מצב על תיקיות (נוסף / שונה / נמחק) שמסכמים את מה שנמצא בתוכן.


ראו גם: דיף סמנטי · העלאה לסטייג׳