<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Bertan's Blog : VisualStudio</title><link>http://blogs.msdn.com/bertan/archive/tags/VisualStudio/default.aspx</link><description>Tags: VisualStudio</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>You can now submit bugs through MSDN Forums for Visual Basic team</title><link>http://blogs.msdn.com/bertan/archive/2008/01/28/you-can-now-submit-bugs-through-msdn-forums-for-visual-basic-team.aspx</link><pubDate>Mon, 28 Jan 2008 21:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7291041</guid><dc:creator>bertaygu</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bertan/comments/7291041.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bertan/commentrss.aspx?PostID=7291041</wfw:commentRss><description>&lt;P&gt;For the last couple months, I was working on a feature to enable bug reporting on MSDN Forums. Last week we have started a pilot program with Visual Basic team and enabled bug reporting on several Visual Basic forums. Bug reporting procedure is very simple and all you have to do is select "Bug Report" while create a new post under an enabled forum and Microsoft will respond to your bug similart to other bugs submitted through Microsoft Connect. We believe having bug reporting integrated in MSDN Forums will make it much easier for people to submit bugs and also it will make resolutions, workarounds to the bugs much more visible. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;You can find more detailed information related to the pilot program at &lt;A class="" href="http://blogs.msdn.com/vbteam/archive/2008/01/22/announcing-the-forums-bug-submission-pilot-sarika-calla.aspx" mce_href="http://blogs.msdn.com/vbteam/archive/2008/01/22/announcing-the-forums-bug-submission-pilot-sarika-calla.aspx"&gt;Visual Basic team blog&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7291041" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bertan/archive/tags/Power+Toys/default.aspx">Power Toys</category><category domain="http://blogs.msdn.com/bertan/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://blogs.msdn.com/bertan/archive/tags/Community/default.aspx">Community</category></item><item><title>VSIP: Adding a command filter to any text editor</title><link>http://blogs.msdn.com/bertan/archive/2007/10/26/vsip-adding-a-command-filter-to-any-text-editor.aspx</link><pubDate>Sat, 27 Oct 2007 00:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5696022</guid><dc:creator>bertaygu</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bertan/comments/5696022.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bertan/commentrss.aspx?PostID=5696022</wfw:commentRss><description>&lt;P&gt;I have been trying to add a command filter to all text editors in Visual Studio for a project, since I had to collect information from several number of sources I wanted to collect them in one place in the hope that somebody else might find it useful.&lt;/P&gt;
&lt;P&gt;In order to get notification when a text view is registered in Visual Studio, we first have to register an implementation of &lt;EM&gt;IVsTextManagerEvents&lt;/EM&gt; as an event sink. In order to do this you can use the following code block which uses IVsTextManager service.&lt;/P&gt;&lt;FONT color=#2b91af size=2&gt;
&lt;P&gt;IVsTextManager&lt;/FONT&gt;&lt;FONT size=2&gt; textManager = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;FONT size=2&gt;.GetService(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;typeof&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;SVsTextManager&lt;/FONT&gt;&lt;FONT size=2&gt;)) &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;IVsTextManager&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;IConnectionPointContainer&lt;/FONT&gt;&lt;FONT size=2&gt; container = textManager &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;as&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;IConnectionPointContainer&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;IConnectionPoint&lt;/FONT&gt;&lt;FONT size=2&gt; textManagerEventsConnection = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;Guid&lt;/FONT&gt;&lt;FONT size=2&gt; eventGuid = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;typeof&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;IVsTextManagerEvents&lt;/FONT&gt;&lt;FONT size=2&gt;).GUID;&lt;BR&gt;container.FindConnectionPoint(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;ref&lt;/FONT&gt;&lt;FONT size=2&gt; eventGuid, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;out&lt;/FONT&gt;&lt;FONT size=2&gt; textManagerEventsConnection);&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;uint&lt;/FONT&gt;&lt;FONT size=2&gt; cookie = 0; &lt;BR&gt;textManagerEventsConnection.Advise(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;out&lt;/FONT&gt;&lt;FONT size=2&gt; cookie);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;Now &lt;EM&gt;IVsTextManagerEvents.OnRegisterView &lt;/EM&gt;method is going to be called for each new view created. In that method you can use passed &lt;EM&gt;IVsTextView.AddCommandFilter&amp;nbsp;&lt;/EM&gt;method to add a command filter. However, when the event is raised the window is actually not initialized fully so any command filter you add will be below the language service filters thus you won't see all of the commands. My solution to this problem was to check the text buffer each time &lt;EM&gt;Exec&lt;/EM&gt; method was called on the filter and remove/add the filter once the buffer wasn't empty anymore. I am still trying to find a better solution and I will update this entry if I find anything better than relying on the buffer. One apparent problem with this solution is that as long as the text view remains empty, the filter will not be re-registered thus causing you to lose some events on empty files.&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5696022" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bertan/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.msdn.com/bertan/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://blogs.msdn.com/bertan/archive/tags/VSIP/default.aspx">VSIP</category></item><item><title>VSCmdShell 1.2 released</title><link>http://blogs.msdn.com/bertan/archive/2007/05/08/vscmdshell-1-2-released.aspx</link><pubDate>Tue, 08 May 2007 19:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2482758</guid><dc:creator>bertaygu</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bertan/comments/2482758.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bertan/commentrss.aspx?PostID=2482758</wfw:commentRss><description>&lt;P&gt;I have updated VSCmdShell homepage today&amp;nbsp;to include latest release. This release is our first release where all contributions are from VSCmdShell community, you can check all the included fixes at &lt;A class="" href="http://www.codeplex.com/VSCmdShell/Release/ProjectReleases.aspx?ReleaseId=109" mce_href="http://www.codeplex.com/VSCmdShell/Release/ProjectReleases.aspx?ReleaseId=109"&gt;Codeplex&lt;/A&gt;&amp;nbsp;but here is a quick summary of them:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;PowerShell RTM compatibility.&lt;/LI&gt;
&lt;LI&gt;VSCmdShell window does not hang when it is hidden anymore.&lt;/LI&gt;
&lt;LI&gt;International character support is added for command line host.&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2482758" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bertan/archive/tags/IDE+Power+Toys/default.aspx">IDE Power Toys</category><category domain="http://blogs.msdn.com/bertan/archive/tags/Power+Toys/default.aspx">Power Toys</category><category domain="http://blogs.msdn.com/bertan/archive/tags/VSCmdShell/default.aspx">VSCmdShell</category><category domain="http://blogs.msdn.com/bertan/archive/tags/VisualStudio/default.aspx">VisualStudio</category><category domain="http://blogs.msdn.com/bertan/archive/tags/Community/default.aspx">Community</category></item><item><title>Debugging Visual Studio Add-Ins</title><link>http://blogs.msdn.com/bertan/archive/2006/12/06/debugging-visual-studio-add-ins.aspx</link><pubDate>Wed, 06 Dec 2006 22:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1224878</guid><dc:creator>bertaygu</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bertan/comments/1224878.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bertan/commentrss.aspx?PostID=1224878</wfw:commentRss><description>&lt;P&gt;Although developing Visual Studio Add-Ins has become much easier with Visual Studio 2005, debugging the add-in you are developing can still be difficult. This is because your add-in is loaded each time you open Visual Studio so in order to be able to build the add-in, you have to disable the add-in first making it a fairly difficult and tedious process. Fortunately, we can take a hint from how you would debug VSIP packages if you were developing one. &lt;/P&gt;
&lt;P&gt;If you are developing a VSIP package, VSIP project adds relevant package information to a separate experimental hive in the registry thus the instance of Visual Studio you are developing your VSIP package never runs your libraries and you can always build them. We can do the same thing for add-ins as well, first of all you need a separate experimental hive. You can easily do this by installing &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?familyid=7E0FDD66-698A-4E6A-B373-BD0642847AB7&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=7E0FDD66-698A-4E6A-B373-BD0642847AB7&amp;amp;displaylang=en"&gt;Visual Studio SDK&lt;/A&gt; or copying all of &lt;STRONG&gt;HKLM\Software\Microsoft\VisualStudio\8.0&lt;/STRONG&gt; registry branch to &lt;STRONG&gt;HKLM\Software\Microsoft\VisualStudio\8.0Exp&lt;/STRONG&gt;. &lt;/P&gt;
&lt;P&gt;Once you have the experimental hive (8.0Exp), go to &lt;STRONG&gt;Automation Options\LookInFolders&lt;/STRONG&gt; under that hive and add a new directory. For example I added &lt;STRONG&gt;"%VSMYDOCUMENTS%\TestAddins&lt;/STRONG&gt;". This will be directory where you put add-in descriptor files for the add-ins you are developing. Now open your add-in project and go to Debug properties to modify start action. If you have not modified the project before, start action should be set to "Start external program" and devenv.exe should be the program selected. If this is the case, add "/rootSuffix Exp" to command line arguments which will cause Visual Studio instance to use the experimental hive we just created thus loading your add-in. Since your add-in is not loaded with other instances of Visual Studio, you can now build it without worrying about add-in files being in use.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1224878" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bertan/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.msdn.com/bertan/archive/tags/VisualStudio/default.aspx">VisualStudio</category></item></channel></rss>