How do I get the current Item Template Name

יום שבת, נובמבר 3, 2012

כתבתי כיצד לקבל את סוג הפרוייקט האחרון שנוצר, כפי שתיארתי זה נשמר ב – Registry. מעבר לסוג הפרוייקט, לפעמים נרצה לדעת גם מה סוג ה – Item האחרון שנוצר, זהו מידע שלא נשמר ב – Registry אלא בזיכרון של Visual  Studio. לצערי לא מצאתי בעזרת המחלקה ProjectItem את ה – Template של אותו Item, והייתי חייב להשתמש ב – Reflection כדי למצוא את הנתון. ראשית נצטרך לקבל את אובייקט מסוג IVsSolution2. ServiceProvider...
אין תגובות

Visual Studio MessageBox style

יום חמישי, נובמבר 1, 2012

כולם מכירים את החלון ש – Visual Studio משתמש בו כדי להציג הודעות.     בתוך PlugIn שאני כותב, התעורר הצורך להציג הודעות למשתמש, כמובן שרצינו שזה יראה כמו החלונות של Visual Studio, אבל לצערי לא מצאתי בעזרת האובייקטים של ה – DTE את הדרך לעשות זאת. (ניתן להוריד את הקוד מכאן) לכן כתבתי חלון קטן, שמחקה את הצורה שבה זה נראה, בנוסף מאפשר להוסיף דינמית לחצנים בתחתית המסך. השימוש יראה כך: ...
אין תגובות

More visual studio events inside vs plugin

יום שישי, אוקטובר 19, 2012

כל בר בי בר בעולם הפיתוח של תוספות ל – visual studio מכיר את המחלקה Events של ה – DTE (דרך אגב ניתן לעשות לו casting לאובייקט מסוג Event2 בו יש עוד אירועים כמו BuildEvents ואחרים. הקוד יראה כך: DTE2 dte2 = (DTE2)dte; Events2 events = (Events2)dte.Events;   עוד אירועים נוכל לקבל על ידי קבלת אובייקט VSProject2...
תגיות: , , ,
אין תגובות

Get opened WindowFrame in visual studio and close it

יום שבת, אוקטובר 13, 2012

נניח שנרצה לקבל את כל החלונות הפתוחים ב – Visual Studio ולעשות עליהם פעולות (בדוגמא כאן – לסגור אותם) חלונות פתוחים – הכוונה לחלנות כמו Properties, Error List וכדומה. (הקוד רץ כאן בתוך Visual Studio Plug-In) נוכל להריץ את הקוד הבא:   IEnumWindowFrames frames; var provider = ServiceProvider.GlobalProvider;   ...
תגיות: , ,
תגובה אחת

How do I get the current Project Template

יום רביעי, אוקטובר 10, 2012

לאחרונה ננתקלתי בבעייה מעניינת, כתבתי AddIn ל – Visual Studio, ונרשמתי לאירוע של הוספת פרוייקט, הקוד עד כאן הוא מאוד פשוט, צריך ליצור פרוייקט מסוג Visual Studio Add In ולעבור את כל ה – Wizard. לאחר מכן במתודת OnConnection יש לכתוב את הקוד הבא: public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom) {     _applicationObject = (DTE2)application; ...
אין תגובות

Get solution name from DTE object

יום רביעי, אוקטובר 3, 2012

  בזמן כתיבת addin מסוג כלשהו ל – visual studio, ייתכן שנרצה לדעת את שם ה – solution. אמנם יש לו מאפיין FileName, FullName שמגיעים אליהם בצורה הבאה: VisualStudio.Solution.FullName בהנחה ש – VisualStudio הינו מופע של DTE. אך שני המאפיינים הללו מחזירים את שם הקובץ, כדי לקבל את שם ה – solution עצמו, נוכל לכתוב את הקוד הבא: ...
תגיות: , ,
אין תגובות

the item is locked for check-out by user

יום שלישי, ספטמבר 4, 2012

האם קרה לכם אי פעם שניסיתם לערוך קובץ מסויים של פרוייקט שנמצא ב – team system וקבלתם הודעה כזו:   ומה לעשות המשתמש כבר עזב את החברה ואין לכם את הגישה למחשב שלו כדי לעשות undo, או כדי להבין למה הוא נעל. לי זה קרה, במקום לחפש ברשת, התקשרתי לויקי המהלך של tfs (ברוך פריי), מה שהוא הציע זה ראשית להתקין את Team Foundation Server Power Tools (הוא בכלל לא הבין איך זה לא מותקן לי – כאילו שכולם חייבים להיות אנשי tfs)...
תגובה אחת

Get DTE2 inside VSPackage

יום ראשון, אוגוסט 12, 2012

כשכותבים vs addin סטנדרטי, מקבלים אובייקט מסוג DTE2 שמתייחס למופע של visual studio ודרכו וניתן להגיע לחלון למסמכים וכדו’. לעומת זאת כשכותבים VSPackage (שמגיע עם ה – sdk) לא מקבלים אותו בצורה מובנית, כדי לקבל אותו בכל זאת (בדרך כלל אכן צריך), ניתן לכתוב את הקוד הבא: public static DTE2 GetCurrentDTE(IServiceProvider provider) {     DTE2 vs = (DTE2)provider.GetService(typeof(DTE)); ...
תגיות: , ,
אין תגובות

Visual Studio 2010 Icons

יום חמישי, נובמבר 24, 2011

  הרבה פעמים אנחנו מפתחים אפליקציות קטנות (או גדולות) ואנחנו מחפשים אייקונים נכונים לתפריטים.   מצאתי שתחת הנתיב: C:\Program Files\Microsoft Visual Studio 10.0\Common7\VS2010ImageLibrary\1033 יש את רוב האייקונים ש - visual studio משתמש בהם,   כל מה שצריך לעשות הוא לחלץ את התייקיה ונקבל את רשימת התיקיות הבאות:   _Common Elements Actions Animations Annotations_Buttons Objects בתיקיות אלו יש מגוון גדול של האייקונים בגדלים ובפורמטים שונים.   תהנו.
תגיות: ,
2 תגובות

Create a template to define an HTML page (using t4 template)

יום שלישי, נובמבר 8, 2011

  הקדמה:  לאחרונה אני עובד על פרוייקט כלשהו שאחת הדרישות הייתה שבלחיצה על "שמור" יווצר קובץ html סטטי עבור אותו אובייקט, הסיבה לכך היא כמובן ביצועים - בדרך כלל נייצר דף דינמי אחד שמתמלא בתוכן לפי פרמטר ב - query string, במקרה הזה רצו לייצר דף html כדי שהלקוח הסופי יקבל תוצאות מהירות יותר.   התלבטתי כיצד לממש את זה, לכן שאלתי את החברים בתפוז לדעתם, קבלתי כמה הצעות, מנהל הפורום זיו הציע לי להשתמש עם t4 template, התחלתי לקרוא על הנושא ודי התלהבתי - הוא נותן יכולות נהדרות שעוזרות לבצע את העבודה די בקלות.     בפוסט זה אני אעבור צעד אחר צעד - כיצד עובדים...
תגיות: ,
אין תגובות