Copy Source As HTML–For 2015 and 2107

יום שלישי, אפריל 4, 2017

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

Could not load type 'Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.PageInspectorExecutionListener'

יום רביעי, ספטמבר 11, 2013

אם במקרה התקנתם את Visual Studio 2013 RC, וקבלת את השגיאה הבאה בזמן הרצת פרוייקט WEB   Could not load type 'Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.PageInspectorExecutionListener' from assembly 'Microsoft.VisualStudio.Web.PageInspector.Tracing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.   הפיתרון הוא פשוט למחוק את הגדרת ה – Application ב – IIS, ולאחר מכן לייצר אותה שוב.
תגיות: , ,
2 תגובות

עבודה עם הדפדפן בפיתוח VsPlugIn

יום שלישי, מרץ 12, 2013

כשמפתחים Visual Studio plugin, לפעמים נרצה לפתוח את הדפדפן הפנימי של Visual studio, ולנווט אותו לדף כלשהו. כדי לבצע זאת, נצטרך לקבל מופע של IVsWebBrowsingService (מתוך Microsoft.VisualStudio.Shell.Interop.dll, v7.1.40304.0), הדרך לקבל אותו היא בצורה דומה כפי שמקבלים הרבה שירותים פנימיים של הסביבה. בעזרת GetService Code Snippet IVsWebBrowsingService wbSvc =     (IVsWebBrowsingService)ServiceProvider.GlobalProvider.GetService(typeof(SVsWebBrowsingService)); ...
תגיות: , , ,
אין תגובות

Get Selected Text and Position – VS plug in

יום רביעי, ינואר 9, 2013

לפעמים צריך בתוך vs plug in לקבל את ה – selected text והמיקום שלו. הדרך הפשוטה לכאורה לקבל את המידע היא השורה הבאה: Code Snippet DTE2 dte = (DTE2)ServiceProvider.GlobalProvider.GetService(typeof(DTE));              if (dte.ActiveDocument != null) { ...
תגיות: , , ,
אין תגובות

KeyPress in vs plugin

יום שישי, דצמבר 28, 2012

אחד הדברים שלפעמים נרצה לעשות זה להרשם לאירוע של keypress בתוך ה – text editor של visual studio. יש כמה דרכים לממש זאת, הדרך הפשוטה היא בעזרת הקוד הבא:   Events2 events = (Events2)_applicationObject.Events; events.TextDocumentKeyPressEvents.AfterKeyPress += AfterKeyPress;   ...
תגיות: , , , ,
אין תגובות

Visual Studio Tool Option Page for AddIn

יום שני, דצמבר 17, 2012

כשכותבים AddIn עבור Visual Studio, לפעמים נרצה לאפשר למשתמש להגדיר הגדרות כלשהם עבור ה – AddIn, הדרך המקובלת ב – Visual Studio להגדיר נמצאת תחת Tools –> Options, בפוסט זה נראה כיצד להוסיף לשם חלון. למידע נוסף ב – MSDN. ראשית צריך לכתוב User Control שיכיל את הפונקציונליות שנרצה (במילים אחרות - יש לנו את כל האחריות והיכולת מה יופיע שם),. לאחר מכן נכתוב את ה – XML הבא. ...
תגיות: , , ,
אין תגובות

Visual Studio Plugin

יום שלישי, דצמבר 4, 2012

היות שלאחרונה אני כותב פוסטים בנושא “פיתוח תוספות ל – Visual Studio הציע פיני שארכז פוסט עם הלינקים כדי שיהווה סוג של מדריך.   קבלת האובייקט DTE בתוך פרוייקט מסוג VSPackage קבלת שם ה – solution מאובייקט ה – DTE קבלת ה – Template Name של הפרוייקט האחרון שנוצר קבלת כל החלונות הפתוחים ולסגור אותם. (Properties, Error List) קבלת אירועים נוספים עבור האובייקט PROJECT ועבור...
תגיות: , , ,
אין תגובות

DTE BeforeExecute and AfterExecute Command Events

יום רביעי, נובמבר 28, 2012

ישנם הרבה אירועים שניתן להירשם אליהם כשמפתחים VS PlugIn, כמובן שלא לכל האירועים שבאמת קיימים ב – VS יש אירוע שניתן להירשם אליו כדי לקבל את המידע, לדוגמא AddExistingItem ועוד הרבה אחרים. בשביל זה קיימים האירועים AfterExecute, BeforeExecute, שיופעלו בכל אירוע כלשהו שמתרחש. לאחר שנירשם אליהם (נמצאים תחת CommandEvents של המאפין Events של ה – DTE) המתודות יראו כך. EnvCommandEvents_BeforeExecute(string Guid, int ID, object CustomIn, object...
תגיות: , , ,
אין תגובות

Get FilePath from ITextBuffer or ITextView

יום שלישי, נובמבר 6, 2012

כשכותבים PlugIn ל – Visual Studio לפעמים נרצה להתייחס לחלון שבו המשתמש כותב טקסט, ניתן להירשם לאירועים שונים (שינוי טקסט, שינוי מיקום מצביע העכבר וכד’) האובייקט שנקבל יכול להיות ITextBuffer או ITextView, במקרה שנרצה להוציא את שם הקובץ הפיזי שאנחנו עובדים איתו, נצטרך לכתוב מתודה כזו: private static bool InternalGetFilePath(ITextBuffer textBuffer, out string filePath) {     ITextDocument doc; ...
תגיות: , , ,
אין תגובות

Add Reference from code

יום שני, נובמבר 5, 2012

במידה ונכתוב PlugIn ל – Visual Studio ונרצה להוסיף Reference מקוד, נוכל לעשות זאת בדרך הבאה. ראשית נצטרך לקבל אובייקט מסוג VSProject2 (יושב ב – VSLangProj80.dll), נוכל לקבל מתוך המאפיין Object שנמצא באובייקט Project. VSProject2 vsProject = (VSProject2)project.Object; כעת נוכל להשתמש באחת מהפונקציות של הוספת Reference. ...
תגיות: , , ,
2 תגובות