DCSIMG
Visual Studio - Liran Chen's Blog

Liran Chen's Blog

.Net Internals, Debugging, Multithreading - and More!

Browse by Tags

All Tags » Visual Studio (RSS)
A Small But Helpful Tip
כמה פעמים כבר יצא לכם שבזמן שאתם כותבים קוד, פתאום קופץ לכם על המסך הקומבו-בוקס המוכר של ה-Intellisense, או אולי איזה קטע מהתיעוד ה-XML'י של הפונקציה שאתם מנסים לקרוא לה. ואותו חלון בדיוק נופל על קטע קוד שאתם מנסים לקרוא באותו הרגע. כך שבעצם קורה שאי אפשר לעבוד גם עם ה-Intellisense וגם לעיין בקוד שמעניין אותנו ונמצא בהמשך השורה, או אולי כמה שורות מתחתינו (תלוי עד כמה גדול חלון ה-Intellisense שלכם, שדרך אגב, אפשר לשנות אותו עם גרירה של העכבר כמו כל חלון רגיל). בדרך כלל אנחנו פשוט נאלצים להקיש...
Macro For Automatically Freezing Threads
לפני 3 חודשים כתבתי פוסט קצר שהציע דרך להקל על עבודת ה-Debug תחת Multithreaded Environments. במקום להתחיל לקבוע Breakpoint'ים עם פילטרים שיגרמו רק לת'רד מסויים להעצר בהם, הצעתי להגדיר Breakpoint רגיל וברגע שנעצרים בו, פשוט לגשת לפאנל ה-Threads ולהקפיא את כל שאר הת'רדים הקיימים (עניין של Select All והקלקה על Freeze). לאחרונה John Robbins פרסם בבלוג שלו פוסט עם דוגמה לפקודת מאקרו שמקפיאה באופן אוטומטי את כל הת'רדים חוץ מהפעיל. למעשה, אוטומטיזציה של הפוסט הקודם שלי. כך שאפשר לחסוך אפילו...
Regions From Hell
אם יש דבר אחד שאני לא אוהב לראות בקוד, זה שימוש מוגזם ב- Region 'ים. הטיעון העיקרי של התומכים בשימוש באותם Region'ים הוא שאפשר להגיע בעזרתם לקוד הרבה יותר "נקי", "מסודר", או חס וחלילה, "קל לתחזוקה". תלוי ביום, ומצב הרוח שלי באותו רגע, אני אוטומטית משיב: הפוך גוטה, הפוך . הדבר היחיד ש-Region'ים יודעים לעשות זה להחביא קוד . מה שלעצמו מרגיש די אבסורדי מאחר ורובנו בדרך כלל נמצאים במירוץ לא נגמר אחרי מסך גדול יותר, רזולוציה מטורפת יותר, פונט קטן יותר - העיקר להכניס...
Wonders With Visible White Space
לפני מספר שנים רכשתי לעצמי הרגל מגונה כשהתחלתי להשתמש בצורה אובססיבית באפשרות ה-Show Visible White Space בתוך עורך הקוד של Visual Studio. קודם כל, White Space הוא כל אותו "טקסט שקוף" שיש לנו בקוד. אם זה רווחים בין מילים, או מרווחים שנוצרים עקב Indention. עכשיו, איכשהו הגעתי לשלב בו התחלתי להרגיש שכל הקוד, כל הטקסט.. פשוט "צף" לו על המסך. בלי שום סדר או משהו שמעמיד אותו במקום. כלומר, תחשבו שיש לכם מחלקה, ובתוכה פונקציה, ובתוכה לולאה, ואז עוד תנאי ... נוצר לנו כאן עימוד עמוק של...
Advanced Debugging Using SOS
WinDbg הוא כלי דיבאגינג בעל יכולות מתקדמות המופץ חינמית על ידי מיקרוסופט. במקור, הוא יועד לעבודות דיבאג של תוכניות Native, אבל, כשאנחנו מצרפים לו את חבילת ההרחבה SOS (או: Son of Strike) אנחנו מקבלים תמיכה גם כן בעבודה מול תוכניות Managed, כל שבפועל, בעזרת SOS אנחנו יכולים למעשה גם לדבג את ה-CLR בעצמו. איך שאני רואה את זה, השימוש ב-SOS מתחלק ל-2 חלקים: עבודה, ומחקר. הכוונה היא שבדרך כלל, לא נצטרך להשתמש באותן יכולות (שנדבר עליהן עוד רגע) שהוא חושף לנו. בדרך כלל המקרים בהם הוא יוכל לעזור לנו, הם בניתוח...
Visual Studio: Using The Incremental Search
הייתי רוצה לנצל את הפוסט הזה בשביל להכיר לכם את ה-Incremental Search המובנה בויזואל סטודיו. מדובר בקונבנצית חיפוש טקסט מעט שונה מהדרך "הסטנדרטית" אליה בדרך כלל רגילים, אבל עם שימוש נכון (ו-5 דקות של התרגלות), תגלו שצורת העבודה הזאת יכולה לשפר פלאים את תהליך הקידוד/חיפוש שלכם. הדרך הנפוצה לחיפוש טקסט היום היא על ידי הקלקה על Ctrl+F ושימוש בחלון החיפוש שנפתח בשביל לחפש טקסטים. הסיבה שהשיה הזאת כל כך פופולרית היא שבדרך כלל זוהי הדרך היחידה בה היה ניתן לבצע חיפוש בתוכנות אחרות (למרות שבשנים...
Silence is Golden
אולי אני מעט מוזר בקטע הזה, אבל לא פעם אני מוצא את עצמי מעדיף לעבוד עם פאנל ה-Output במקום ה-Error List כשאני בא לפתור שגיאות קומפילציה. אני חושב שהכל השתרשר מ-VS2003 שלמיטב זכרוני נטה לזייף במיון סדר השגיאות בפאנל, מה שדי הפך את העבודה איתה ללא נוחה בעליל. הבעיה בעבודה עם פאנל ה-Output היא שמאוד קל לזבל אותו. לאט לאט הפרוייקט יכול לאסוף שלל Post Build Events ושאר פעולות שיגרמו להדפסות לא נגמרות תחת פאנל ה-Output. למעשה, אפילו שלא לצורך פתרון שגיאות קומפילציה, כל ההדפסות הלא נגמרות האלה הופכות את...
Visual Studio: Fast File Navigation
הנה טיפ קטן שיכול לעשות את החיים שלכם לקצת יותר קלים. כמה פעמים כבר קרה לכם שאתם מקודדים איזו פונקציה או מדבגים איזשהיא מחלקה ופתאום שמים לב שאתם צריכים לגשת לאיזה קובץ אחר שנמצא גם כן ב Solution אבל מסתתר אי שם בפרוייקט נפרד תחת 10 ספריות שדואגות להסתיר אותו. בשלב הזה מתחילה המשימה המרגיזה של להתחיל לנווט בנבכי ה-Solution Explorer ולהתחיל לחפש את הקובץ המבוקש. לאו דווקא יקח יותר מדי זמן, אבל כנראה תסכימו איתי שזה יכול סתם להציק להתחיל להתעסק עכשיו עם העכבר ולהתחיל לנווט אליו. למזלנו, יש פתרון פשוט...