‏הצגת רשומות עם תוויות Visual Studio. הצג את כל הרשומות
‏הצגת רשומות עם תוויות Visual Studio. הצג את כל הרשומות

יום רביעי, 10 בספטמבר 2014

Visual Studio 2013 IDE - Part 2

שלום רב,

אכן זהו החלק השני של סקירת VS 2013 IDE.
על הפרק:
  • Code map.
  • Seeing function return values.
  • IntelliSense out of the way.
  • Box selection.
  • Adding labels to breakpoints.
  • Notifications.
  • Start Page.
  • CodeLens.

חסות ומתחילים.

Code map

גילוי נאות: ה feature הזה כבר נחשף בפנינו ב Update 1 של VS 2012, אז למי מאיתנו שלא עדכן - שווה להישאר.
הנה מה שנקבל לאחר לחיצה על כפתור ה code map במצב debug ומעבר על הקוד באמצעות step into F11. מעבר על הקוד באמצעות step over לא יניב תוצאות בחלון ה code map. העץ אשר מוצג מצד ימין למטה, נבנה בצורה דינמית בהתאם לכיוון הקוד שבו בחרנו ללכת.


מיקום הכפתור code map הינו ב tool bar וגם תחת Debug | Show Call Stack on Code Map. 






העץ יכול לגדול בצורה די משמעותית בהתאם לתרחיש ולכן מומלץ (ע"י קליק ימין בחלון ה Code Map) לארגן אותו מעט ע"י הסרת פונקציות פחות משמעותיות עבורנו, סימון פונקציות בצבעים, הוספת הערות ועוד. ניתן גם (שוב, ע"י קליק ימין) להגיע בצורה זריזה לתוכן הפונקציה.
אגב, חץ צהוב על גבי התרשים, מראה לנו היכן אנחנו ממוקמים מבחינת ה call stack.


החלון הנפתח כתוצאה מקליק ימין על גבי חלון ה Code Map.















ועכשיו מעבר לפרטים הקטנים, הרימו את הראש ותחשבו על התמונה הגדולה! מצליחים?
לא עוד debug לתרחיש ארוך עם שאלות כמו האם ביקרנו באזור הזה? ואם כן, איך הגענו לשם. שימושי ביותר לדעתי.
לגבי השאלה השלישית המתבקשת: כשביקרנו בפונקציה ההיא, מה היו ערכי הפרמטרים איתם הגענו אליה, קיים feature שכבר בטח מוכר לכם ואפילו אשמח להרחיב עליו בצורה מעמיקה בקרוב: IntelliTrace.

אז רגע לפני שממשיכיםהלאה, יש לי 2 דברים אליכם על מנת לסגור את  הפינה:

1. אני נאלץ להרוס מעט את החגיגה ולציין שה CodeMmap זמין רק בגרסת ה Ultimate של Visual Studio.
2. בשלב זה, ניתן לעשות את הקסם רק בשפות הבאות:
  • #C 
  • VB 
  • ++C 
  • JavaScript 

Seeing function return values

OK, אז ה Feature הבא עלה מתוך רחשי ליבם של משתמשי Visual Studio, אגב, שווה להזכיר כאן את Microsoft UserVoice (לינק), שזהו בעצם אתר בו כל אחד יכול להציע רעיון או לבקש שינוי או סתם לומר את אשר על ליבו וע"י כך מביא את אותה הארה/הערה לתשומת ליבם של אנשי מיקרוסופט, בדיוק כמו שקרה בדוגמא הבא:

שימו לב כמה פשוט וכמה תורם. בסך הכל מדובר על היכולת לצפות בצורה אוט' בערך החוזר מתוך פונקציה מבלי הצורך להכניס את הערך לתוך משתנה נוסף או כל שיטה אחרת תוך כדי debugging:

























בדוגמא כאן למעלה, תוכלו להבחין שרגע לפני היציאה מהפונקציה, התווספה לנו שורת מחץ בדמות: string.Concat returned, אשר מאפשרת לנו, ללא כל מאמץ מצידנו,  לראות את הערך המוחזר מן הפונקציה (דרך מסך Autos). אפשרות נוספת והפעם מתוך מסך ה Immediate, היא להזין את המשתנה ReturnValue$ בשורה ריקה וע"י כך לקבל את הערך המוחזר.

IntelliSense out of the way

מה היינו עושים בלי ה IntelliSense??
אבל יש גם רגעים נדירים בהם המידע המוצג (של ההשלמה האוט') לנגד עיניניו מסתיר מעט את את הקוד שבקובץ, בדיוק כמו במקרה הבא:
















שימו לב לפלא אשר גורמת לחיצה על מקש ה CTRL לאחר שמופיעה חלונית ההשלמה האוט'. כתוצאה מלחיצה על מקש ה CTRL, חלונית ההשלמה מוצגת בצורה שקופה ובכך נותנת לנו את האפשרות לראות את שאר הקוד אשר מופיע במסך ללא כל הפרעה. נחמד מאוד.




















Box Selection

Feature נחמד שקיים כבר מ VS 2010 לדעתי, אבל רציתי בכל זאת לציין אותו.
מדובר על היכולת לסמן מידע בצורה אנכית ומרובה שורות. הסימון מתבצע באמצעות ALT וקליק שמאל על העכבר וכמובן הסימון עצמו.














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

Adding labels to breakpoints

האפשרות לתייג breakpoints כבר קיימת מ VS 2010. המידע הבא מעודכן עבור VS 2013.

לאחר שסימנו מספר breakpoints:




























קליק ימין על אחת מהן ולחיצה על Edit Labels יקפיץ חלונית להוספת תגית אשר תשוייך ל breakpoint הנבחר.


















לחיצה על ALT + CTRL + B תפתח עבורנו את מסך ה breakpoints, שם נוכל לסנן את הרשומות ע"פ תגית מסויימת, כמו בדוגמא שלהלן:









הסינון, יכול לעזור מאוד כאשר נרצה להתמקד ב breakpoints החשובים לנו וזאת ע"י תיוג מראש.

הלאה.

Notifications

אחד היתרונות בעבודה מקוונת ומחוברת ל Microsoft Account, היא האפשרות לקבל הודעות ועדכונים שוטפים המותאמים לחשבון שלך.
ב VS 2013 ריכזו עבורנו את כל סוגי ה Notifications במקום אחד ובחלקו העליון מצד ימין של המסך מופיע חיווי לגביהן:







לחיצה על ה Notifications Icon תיפתח עבורנו את חלונית ה Notifications.

קיימות מספר אפשרויות תצוגה לNotifications Icon:







והנה דוגמא למידע המופיע בחלונית ה Notifications:
























ניתן יהיה למצוא שם מידע על עדכונים ל VS, מידע על עדכונים ל Extensions ועוד.

Start Page

נראה שדף הפתיחה ב VS 2013 הותאם להציג מידע שימושי יותר מגרסאות קודמות וזאת בהתאם לדרישות של המשתמשים המועברות דרך אתר ה UserVoice.
המראה כעת הרבה יותר נקי ומכיל 3 עמודות מרכזיות:
  • פתיחת פרוייקטים קיימים/יצירת חדשים.
  • העשרה (What's New & Videos).
  • הודעות (עדכונים שונים, פרסום מועד הרצאות המועברות ב LIVE ועוד) .
כך זה נראה:



















CodeLens

בכמה מילים: כל המידע בלי לזוז מהספה.
במילה אחת: מבריק.

כמה טבעי, שעולם ה ALM, אותו אני מחבב עד מאוד, יחובר בצורה כה הרמונית כפי שהחבר'ה ממיקרוסופט בחרו לעשות.

אז מעל לכל פונקציה ומחלקה, התווספה לנו שורה תמימה אשר טומנת בחובה הפתעות רבות.
כל שורה יכולה להציג לנו את כל ההפניוית אשר קשורות לאותה פונקציה/מחלקה, היא מציגה לנו את כל המשתמשים שביצעו שינוי ו Check In לאותה פונקציה/מחלקה, השורה הזאת גם יכולה להציג לנו את ה Changeset History ברמה של מחלקה/פונקציה, Related Bugs ובכלל את כל ה Work Items הקשורים לקובץ.



דוגמא לתצוגת ההפניות לאותה פונקציה, לחיצה על השורה ונועבר לתוכן הפונקציה הקוראת. קיימת אפשרות גם לראות את ההפניה ע"י תרשים (לינק ל Code Map).




תצוגת כל ה Work Items הקשורים (ניתן להיכנס לפירוט שלהם ע"י לחיצה על השורה המתאימה).


תצוגת Changeset History:



אם יש גם Unit Tests הקשורים לפונקציה, נקבל גם חיווי לגבי כמות ה אשר Tests בוצעו בהצלחה.
ישנה גם אפשרות להגדיר בדיוק מה נרצה לראות בשורת המידע:
Tools | Options | Text Editor | All Languages | Code Information Indicators.

בקיצור יש כאן בהחלט Feature נורא עוצמתי ומבטיח המציג כמעט את כל המידע האפשרי אודות קובץ מסוים (ברמת מחלקות ופונקציות) ובצורה די חיננית. הוא יכול להיות שימושי מאוד עבור קבוצות פיתוח אשר משלבות יכולות ALM בצורה שוטפת (אגב, פוסט בנושא ALM בהקשר של VS 2013 כבר בקנה, אז יש למה לצפות).

ה CodeLens מגיע בגרסת ה Ultimate, אז אל תתביישו לבקש את הגרסה מהמנהל/ת שלכם, תגידו לו שאתם הולכים להיות יעילים עוד יותר :-)

מקווה שעזרתי לכם להתרשם מה IDE החדש.

תודה,
יניב

יום חמישי, 12 ביוני 2014

Visual Studio 2013 IDE - Part 1

שלום רב,

Visual Studio 2013, שוחרר באופן רשמי בתאריך ה 17/10/2013.
מאז מיקרוסופט הספיקו להוציא Update 1 (בתאריך ה 20/01/2014).
Visual Studio 2013 הביא עימו לא מעט תוספות ושינויים.
בפוסטים הבאים ארחיב בעיקר על הנושאים הבאים:
  • IDE (שני חלקים). 
  • Net 4.5.1. 
  • Asp .Net 4.5.1.
  • ALM.

פוסט זה (וגם זה שיבוא אחריו) יוקדש ל IDE החדש, ויסקור את החידושים הרבים שמביא עימו.
אז האם אנחנו המפתחים, בזכות ה IDE החדש, עומדים להיות יעילים יותר? האם חיינו עומדים להשתנות?
כל התשובות ממש מעבר לפינה, אז קדימה.

על הפרק:

  • roaming settings.
  • IDE themes.
  • Quick Launch.
  • some nice keyboard shortcuts.
  • enhanced scroll bar functionality and map mode.
  • async loading.
  • moving out braces with tab.

roaming settings
מי  מאיתנו לא מגדיר את סביבת הפיתוח שלו בדיוק בצורה בה הוא אוהב לעבוד? כעת נוכל להנות מאותן הגדרות מכל מחשב.
על מנת שנוכל להנות מהיכולת הזאת, מיקרוסופט מבקשת מאיתנו בצורה מאוד ידידותית, להתחבר (לחיצה על sign in בפינה הימנית העליונה) עם ה Microsoft Account שלכם.






ברגע שנבצע התחברות כזו, התאמות הסביבה שלנו ישמרו ויטענו מחדש בהתחברות הבאה שלנו גם אם היא תבוצע ממחשב אחר.

הגדרות הסביבה הבאות ישמרו עבור ה Microsoft Account שלכם:

under Tools Options Environment

 Fonts & Colors options page -
Keyboard options page -
 StartUp options page -
Theme settings on General options page -

under Tools Options
Text Editor options pages -

:על מנת לאפשר את שמירת ההגדרות, נגדיר בדף הבא את העדפותינו






















IDE themes

:תוסף נחמד מאוד המאפשר לנו לבחור בזריזות את ערכת הנושא החביבה עלינו
Visual Studio 2013 Color Theme Editor.

.לינק להורדה

under tools:


change color theme:


Quick Launch

אחד ה Features המרגשים יותר הוא תיבת ה Quick Launch, הממוקמת בחלקו העליון מצידו הימני של המסך וניתנת להפעלה גם באמצעות הקיצור: CTRL + Q. אגב, קיים גם ב VS 2012.
כל הגדרה מהתפריט אשר עד היום רציתם למצוא ולא באמת זכרתם היכן היא נמצאת, קרובה אליכם יותר מתמיד.
כל חיפוש של מילה או חלק ממילה יניב רשימת תוצאות ע"פ קטגוריות, עם פירוט מדויק של מיקום ההגדרה בתפריט.


קטגוריות החיפוש:

Menus
פריטי הגדרה מתוך התפריט המלא.
לצורך חיפוש ממוקד קטגוריה, ניתן להשתמש במילה MENU@ לפני מילות החיפוש.

Tools | Options 
פריטי הגדרה מתוך תת התפריט: Tools | Options.
לצורך חיפוש ממוקד קטגוריה, ניתן להשתמש במילה OPT@ לפני מילות החיפוש.

Most Recently Used @MRU
התוצאות יציגו את 5 הפריטים האחרונים שנמצאו, אשר עונים על החיפוש שהוזן.
לצורך חיפוש ממוקד קטגוריה, ניתן להשתמש במילה MRU@ לפני מילות החיפוש.

Open Documents @DOC
קטגוריה מאוד מעניינת למציאת קבצים מבין אלו שפתוחים. שימו לב שאין מדובר על חיפוש טקסט בתוך קובץ (לשם כך ניתן לחפש בתיבת ה Search Solution Explorer אשר ניתנת להפעלה באמצעות הקיצור:
; + CTRL.
לצורך חיפוש ממוקד קטגוריה, ניתן להשתמש במילה DOC@ לפני מילות החיפוש.


keyboard shortcuts

כאלה שכבר קיימים:

- הזזת שורה כלפי מעלה או מטה: alt + up/down arrow key. 
- עבור הזזת קבוצת שורות כלפי מעלה או מטה יש לסמן את השורות ואז: alt + up/down arrow key. 
-  CTRL + SHIFT + >/< :Zoom in and out. 
- פירמוט אוט' של טקסט: CTRL + K, CTRL + D (כל מילה נוספת מיותרת). 
- סימון קטע כהערה: CTRL + K, CTRL + C, ביטול ההערה: CTRL + K, CTRL + U. 

כאלה ששודרגו:

 -  פתיחת תיבת CTRL + , :Navigate To. מדובר על חיפוש קבצים (גם הסגורים) ומעבר אליהם. ישנה
    אפשרות לתצוגה מקדימה של תוכן הקבצים.
























וחידושים אמיתיים:



Peek Definition Feature

תצוגה מקדימה של פונקציה: כאשר עומדים על שם פונקציה ולוחצים Alt + F12, נפתח מתחת לסמן חלון עם תוכן הפונקציה (מגניב!).





enhanced scroll bar functionality and map mode

עוד חידוש שיכול לתרום באופן משמעותי הוא שיפור הפונקציונליות של ה scroll bar. זה המקום לציין את המגמה שניתן לשים לב אליה, אשר חלק מהיכולות של ה IDE בדרך כלל נחשפות בפנינו באמצעות ה Productivity Power Tools ומיקרוסופט בוחרת לאמץ חלק מיכולות אלו ולהכניס אותן בצורה אינטגרטיבית לתוך ה IDE הבא. לכן סיכוי טוב שנושא זה מוכר לכם כבר מגרסת VS 2012 (אם התקנתם את ה Productivity Power Tools של VS 2012).
בכל אופן, ה scroll bar החדש מציג לנו את מיקום הסמן, breakpoints, הוא מסמן לנו בצבעים את השינויים שנשמרו (ירוק) ואת אלו שעדיין לא (צהוב) והוא אפילו מסמן לנו את מיקום השגיאות שלנו (באדום). אז רבותיי, איפה הכפיים?
map mode מאפשר לנו להגדיר את ה scroll bar בצורה רחבה, עם רמת פירוט גבוהה (וניתן להגדיר עד כמה גבוהה) הכולל אפשרות tooltip לתצוגה מקדימה של הקוד.

ניתן להגיע להגדרות ה scroll bar דרך ה Quick Launch, אבל אפשר גם ע"י קליק ימין על ה scroll bar ובתפריט הנפתח ללחוץ על scroll bar options.

ב 2 התצוגות הבאות תוכלו להתרשם מהמידע שה scroll bar מציג לנו ע"פ הצבעים כפי שהסברתי למעלה. אגב השינויים


bar mode:

















map mode:















async loading

האם כבר קרה לכם שפתחתם solution גדול יחסית וה UI פשוט קפא? האם זה קרה לכם גם בזמן build? נפלא, מכיוון שכעת הפעילויות הנ"ל מבוצעות בצורה אסינכרונית וכתוצאה מכך, בזמן שהן מתרחשות ה UI יהיה זמין לנו עבור פעילות אחרת. שינוי קטן אשר יכול לתרום לשיפור היעילות שלנו.

moving out braces with tab
התחלתם להגדיר פונקציה, פתחתם סוגר וקיבלתם את השני בחינם ועכשיו שימו לב היכן נמצא הסמן שלכם, ממש התוך הסוגריים. VS 2013 מסדר לנו יציאה זרירה עם מקש ה TAB, לחיצה עליו והסמן ימוקם אחרי הסוגריים. אגב, זה פועל גם עם מרכאות. נחמד.

עד כאן החלק הראשון הסוקר את החידושים ב Visual Studio 2013.

בקרוב מאוד החלק השני, אז תהיו בסביבה.

תודה,
יניב