<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Bertan's Blog</title><subtitle type="html">Developer @ Developer Solutions</subtitle><id>http://blogs.msdn.com/bertan/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/bertan/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2006-07-18T00:29:00Z</updated><entry><title>Popfly Game Creator Alpha goes live!</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2008/05/03/popfly-game-creator-alpha-goes-live.aspx" /><id>http://blogs.msdn.com/bertan/archive/2008/05/03/popfly-game-creator-alpha-goes-live.aspx</id><published>2008-05-03T22:34:00Z</published><updated>2008-05-03T22:34:00Z</updated><content type="html">&lt;P&gt;My new team just released a new&amp;nbsp;feature of Popfly website called Popfly Game Creator. In summary it is a website where you can easily create casual games most of the time without writing any code. You can then share those games with your friends. There is a detailed post about the release in &lt;A class="" href="http://blogs.msdn.com/ben_anderson/archive/2008/05/02/popfly-game-creator-alpha-goes-live.aspx" mce_href="http://blogs.msdn.com/ben_anderson/archive/2008/05/02/popfly-game-creator-alpha-goes-live.aspx"&gt;Ben Anderson's blog&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;I have also created a "snake" like game for fun&amp;nbsp;which you can find at &lt;A href="http://www.popfly.com/users/Bertan/WatermelonHunt"&gt;http://www.popfly.com/users/Bertan/WatermelonHunt&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8456199" width="1" height="1"&gt;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="Popfly" scheme="http://blogs.msdn.com/bertan/archive/tags/Popfly/default.aspx" /></entry><entry><title>You can now submit bugs through MSDN Forums for Visual Basic team</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2008/01/28/you-can-now-submit-bugs-through-msdn-forums-for-visual-basic-team.aspx" /><id>http://blogs.msdn.com/bertan/archive/2008/01/28/you-can-now-submit-bugs-through-msdn-forums-for-visual-basic-team.aspx</id><published>2008-01-28T21:20:00Z</published><updated>2008-01-28T21:20:00Z</updated><content type="html">&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;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/Power+Toys/default.aspx" /><category term="VisualStudio" scheme="http://blogs.msdn.com/bertan/archive/tags/VisualStudio/default.aspx" /><category term="Community" scheme="http://blogs.msdn.com/bertan/archive/tags/Community/default.aspx" /></entry><entry><title>VSIP: Adding a command filter to any text editor</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2007/10/26/vsip-adding-a-command-filter-to-any-text-editor.aspx" /><id>http://blogs.msdn.com/bertan/archive/2007/10/26/vsip-adding-a-command-filter-to-any-text-editor.aspx</id><published>2007-10-27T00:29:00Z</published><updated>2007-10-27T00:29:00Z</updated><content type="html">&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;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="Tips" scheme="http://blogs.msdn.com/bertan/archive/tags/Tips/default.aspx" /><category term="VisualStudio" scheme="http://blogs.msdn.com/bertan/archive/tags/VisualStudio/default.aspx" /><category term="VSIP" scheme="http://blogs.msdn.com/bertan/archive/tags/VSIP/default.aspx" /></entry><entry><title>Unit testing legacy code and reflection</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2007/06/13/unit-testing-legacy-code-and-reflection.aspx" /><id>http://blogs.msdn.com/bertan/archive/2007/06/13/unit-testing-legacy-code-and-reflection.aspx</id><published>2007-06-13T22:18:00Z</published><updated>2007-06-13T22:18:00Z</updated><content type="html">&lt;P&gt;I was recently in a training about test driven development and in an exercise about testing legacy code, a very nice idea came up to inject mock objects to legacy code. The usual problem is that if a legacy code is not written taking testability in to account, there might a lot of hard coded dependencies to external sources such as databases which makes unit testing really difficult. In order to quickly unit test the legacy components, those dependencies should be replaced by mock objects so that unit tests won't require a deployed environment. There are several ways to do this, one way is to decide which object to use (mock or the actual component) based on the a global flag. This can be dangerous if the flag is not set to false when deploying to production environment. However by using reflection, you can avoid modifying the existing code and replacing the reference to the mock component in the unit test itself. Below is a quick code snippet in how you can achieve this:&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;CustomerReader reader;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;Type&lt;/FONT&gt;&lt;FONT size=2&gt; objectType = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;typeof&lt;/FONT&gt;&lt;FONT size=2&gt;(reader);&lt;BR&gt;System.Reflection.&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;FieldInfo&lt;/FONT&gt;&lt;FONT size=2&gt; field = objectType.GetField(&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;"DataLayer"&lt;/FONT&gt;&lt;FONT size=2&gt;,&lt;BR&gt;&amp;nbsp; System.Reflection.&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;BindingFlags&lt;/FONT&gt;&lt;FONT size=2&gt;.Instance |&lt;BR&gt;&amp;nbsp; System.Reflection.&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;BindingFlags&lt;/FONT&gt;&lt;FONT size=2&gt;.NonPublic |&lt;BR&gt;&amp;nbsp; System.Reflection.&lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;BindingFlags&lt;/FONT&gt;&lt;FONT size=2&gt;.GetField);&lt;BR&gt;field.SetValue(reader, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;Object&lt;/FONT&gt;&lt;FONT size=2&gt;());&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;This code snippet will change the value of reader.DataLayer which is&amp;nbsp;a private field in the object.&amp;nbsp;However there is one drawback to this method. The&amp;nbsp;wrapper object that you are replacing must be&amp;nbsp;inheritable otherwise you won't be able to create a&amp;nbsp;mock object to replace the original instance.&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3273106" width="1" height="1"&gt;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="Tips" scheme="http://blogs.msdn.com/bertan/archive/tags/Tips/default.aspx" /></entry><entry><title>VSCmdShell 1.2 released</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2007/05/08/vscmdshell-1-2-released.aspx" /><id>http://blogs.msdn.com/bertan/archive/2007/05/08/vscmdshell-1-2-released.aspx</id><published>2007-05-08T19:35:00Z</published><updated>2007-05-08T19:35:00Z</updated><content type="html">&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;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="IDE Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/IDE+Power+Toys/default.aspx" /><category term="Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/Power+Toys/default.aspx" /><category term="VSCmdShell" scheme="http://blogs.msdn.com/bertan/archive/tags/VSCmdShell/default.aspx" /><category term="VisualStudio" scheme="http://blogs.msdn.com/bertan/archive/tags/VisualStudio/default.aspx" /><category term="Community" scheme="http://blogs.msdn.com/bertan/archive/tags/Community/default.aspx" /></entry><entry><title>ResEx: an editor for translating resource files</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2007/03/07/resex-an-editor-for-translating-resource-files.aspx" /><id>http://blogs.msdn.com/bertan/archive/2007/03/07/resex-an-editor-for-translating-resource-files.aspx</id><published>2007-03-07T20:13:00Z</published><updated>2007-03-07T20:13:00Z</updated><content type="html">&lt;P&gt;Jeremy found a good companion to Resource Refactoring tool to make working with localized resource files much easier. Once you created resource files using Resource Refactoring Tool, you can use ResEx to translate resource files in to different cultures. ResEx will automatically create the resource files for the new languages as you add entries. ResEx project seems to be at an early stage of development, but I had no problems with it when I tried it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;You can download ResEx at this link: &lt;A href="http://www.papadi.gr/Default.aspx?TabId=290"&gt;http://www.papadi.gr/Default.aspx?TabId=290&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1829406" width="1" height="1"&gt;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/Power+Toys/default.aspx" /><category term="Tips" scheme="http://blogs.msdn.com/bertan/archive/tags/Tips/default.aspx" /><category term="ResourceRefactoring" scheme="http://blogs.msdn.com/bertan/archive/tags/ResourceRefactoring/default.aspx" /></entry><entry><title>Resource Refactoring Tool 1.0 Release</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2007/02/13/resource-refactoring-tool-1-0-release.aspx" /><id>http://blogs.msdn.com/bertan/archive/2007/02/13/resource-refactoring-tool-1-0-release.aspx</id><published>2007-02-13T22:47:00Z</published><updated>2007-02-13T22:47:00Z</updated><content type="html">&lt;P&gt;We just released Resource Refactoring Tool 1.0 to CodePlex, you can download the release from &lt;A class="" href="http://www.codeplex.com/ResourceRefactoring/Release/ProjectReleases.aspx?ReleaseId=1186" mce_href="http://www.codeplex.com/ResourceRefactoring/Release/ProjectReleases.aspx?ReleaseId=1186"&gt;project releases&lt;/A&gt; page. A summary of new and updated features in this release is below, you can see the full list of fixed issues in the release page.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Added support for web application projects.&lt;/LI&gt;
&lt;LI&gt;Added option to save options for future sessions. Saved options include preview changes, which instances to refactor and last used resource file.&lt;/LI&gt;
&lt;LI&gt;Added interfaces that can be implemented to add new language/project support to Resource Refactoring Tool.&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1670838" width="1" height="1"&gt;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="IDE Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/IDE+Power+Toys/default.aspx" /><category term="Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/Power+Toys/default.aspx" /><category term="ResourceRefactoring" scheme="http://blogs.msdn.com/bertan/archive/tags/ResourceRefactoring/default.aspx" /><category term="Community" scheme="http://blogs.msdn.com/bertan/archive/tags/Community/default.aspx" /></entry><entry><title>Debugging Visual Studio Add-Ins</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2006/12/06/debugging-visual-studio-add-ins.aspx" /><id>http://blogs.msdn.com/bertan/archive/2006/12/06/debugging-visual-studio-add-ins.aspx</id><published>2006-12-06T22:34:00Z</published><updated>2006-12-06T22:34:00Z</updated><content type="html">&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;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="Tips" scheme="http://blogs.msdn.com/bertan/archive/tags/Tips/default.aspx" /><category term="VisualStudio" scheme="http://blogs.msdn.com/bertan/archive/tags/VisualStudio/default.aspx" /></entry><entry><title>Resource Refactoring Tool Beta Release</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2006/12/01/resource-refactoring-tool-beta-release.aspx" /><id>http://blogs.msdn.com/bertan/archive/2006/12/01/resource-refactoring-tool-beta-release.aspx</id><published>2006-12-02T00:39:00Z</published><updated>2006-12-02T00:39:00Z</updated><content type="html">&lt;P&gt;We have finished working on the beta version of Resource Refactoring and just posted it to &lt;A class="" href="http://www.codeplex.com/ResourceRefactoring" mce_href="http://www.codeplex.com/ResourceRefactoring"&gt;Codeplex&lt;/A&gt;. Also with this release Resource Refactoring Tool became&amp;nbsp;a shared source project under MS-PL, so we have published the source code as well. If you want to help development of the tool please go to &lt;A class="" href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=ResourceRefactoring&amp;amp;title=Getting%20Started%20with%20Resource%20Refactoring%20Tool%20Development" mce_href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=ResourceRefactoring&amp;amp;title=Getting%20Started%20with%20Resource%20Refactoring%20Tool%20Development"&gt;Getting Started with Development&lt;/A&gt; section on the project site. &lt;/P&gt;
&lt;P&gt;New features and fixes for this release are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;ASP.Net web project support for C# and VB.Net code files. However your resource file must be located in App_GlobalResources directory otherwise no code is generated for it.&lt;/LI&gt;
&lt;LI&gt;You now have the option of searching for other instances of the text you are refactoring and refactor them using the same resource entry at the same time.&lt;/LI&gt;
&lt;LI&gt;We have improved the preview window to view the whole file instead of just a section of it.&lt;/LI&gt;
&lt;LI&gt;An &lt;A class="" href="http://www.codeplex.com/WorkItem/View.aspx?ProjectName=ResourceRefactoring&amp;amp;WorkItemId=5929" mce_href="http://www.codeplex.com/WorkItem/View.aspx?ProjectName=ResourceRefactoring&amp;amp;WorkItemId=5929"&gt;issue&lt;/A&gt; with items under source control is fixed.&lt;/LI&gt;
&lt;LI&gt;During refactoring, shortest reference is calculated by looking at imported namespaced in the codefile.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;You can read more about the tool at its &lt;A class="" href="http://www.codeplex.com/ResourceRefactoring" mce_href="http://www.codeplex.com/ResourceRefactoring"&gt;Codeplex project page&lt;/A&gt;&amp;nbsp;or download the &lt;A class="" href="http://www.codeplex.com/Project/FileDownload.aspx?ProjectName=ResourceRefactoring&amp;amp;DownloadId=4250" mce_href="http://www.codeplex.com/Project/FileDownload.aspx?ProjectName=ResourceRefactoring&amp;amp;DownloadId=4250"&gt;installer directly&lt;/A&gt;.&amp;nbsp;Also I want to thank to everyone who sent feedback during the alpha release which had been really useful.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1186933" width="1" height="1"&gt;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="IDE Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/IDE+Power+Toys/default.aspx" /><category term="Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/Power+Toys/default.aspx" /><category term="ResourceRefactoring" scheme="http://blogs.msdn.com/bertan/archive/tags/ResourceRefactoring/default.aspx" /></entry><entry><title>Bookmark manager tool for Visual Studio</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2006/11/29/bookmark-manager-tool-for-visual-studio.aspx" /><id>http://blogs.msdn.com/bertan/archive/2006/11/29/bookmark-manager-tool-for-visual-studio.aspx</id><published>2006-11-30T02:29:00Z</published><updated>2006-11-30T02:29:00Z</updated><content type="html">&lt;P&gt;One of the ideas submitted to our team for possible power toys was to implement a document bookmark manager where users can group bookmarks by groups and access them with keyboard shortcuts. While browsing the web a while ago to find out if a similar power toy was developed, I have come across &lt;A class="" href="http://www.usysware.com/dpack/Default.aspx" target=_blank mce_href="http://www.usysware.com/dpack/Default.aspx"&gt;DPack&lt;/A&gt; from &lt;A class="" href="http://www.usysware.com/Default.aspx" target=_blank mce_href="http://www.usysware.com/Default.aspx"&gt;USysWare Inc.&lt;/A&gt; which is a free collection of tools for Visual Studio. One of the tools in the collection is a bookmark manager allowing you to group bookmarks and recall them by group numbers, you can read more about the &lt;A class="" href="http://www.usysware.com/dpack/Bookmarks.aspx" target=_blank mce_href="http://www.usysware.com/dpack/Bookmarks.aspx"&gt;numbered bookmark feature&lt;/A&gt; at their product page or download DPack from the tool homepage.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1173991" width="1" height="1"&gt;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="IDE Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/IDE+Power+Toys/default.aspx" /><category term="Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/Power+Toys/default.aspx" /><category term="Tips" scheme="http://blogs.msdn.com/bertan/archive/tags/Tips/default.aspx" /></entry><entry><title>Assigning shortcut keys to add-in commands in Visual Studio</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2006/11/27/assigning-shortcut-keys-to-add-in-commands-in-visual-studio.aspx" /><id>http://blogs.msdn.com/bertan/archive/2006/11/27/assigning-shortcut-keys-to-add-in-commands-in-visual-studio.aspx</id><published>2006-11-28T02:27:00Z</published><updated>2006-11-28T02:27:00Z</updated><content type="html">&lt;P&gt;If you are using a Visual Studio add-in you love but you wanted to have shortcuts for its menu entries, you are not completely out of luck. Using Visual Studio options, you can add shortcut keys to any Visual Studio command including the ones created by add-ins.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;In order to add a shortcuy key, you should go to Tools -&amp;gt; Options and choose Environment -&amp;gt; Keyboard pane. This pane contains a list of commands available in Visual Studio, most of the time commands have a meaningful name so you can easily search them. Below is a list of commands for some add-ins we have developed:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Microsoft.VSPowerToys.ResourceRefactor.Connect.RefactorLiteral: Opens up "Extract to Resource" dialog&lt;/LI&gt;
&lt;LI&gt;Microsoft.VSPowerToys.VSCmdShell.Connect.VSCmdShellWindow: Opens up "VSCmdShell" dialog.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Once you select the command you want, you can assign it any shortcuy key you want. You can also choose the context where shortcuts will be enabled. For example for resource refactoring tool command, it will probably be best to choose "Text Editor" as the context since the command will not execute successfully in any other context. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1162073" width="1" height="1"&gt;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/Power+Toys/default.aspx" /><category term="Tips" scheme="http://blogs.msdn.com/bertan/archive/tags/Tips/default.aspx" /></entry><entry><title>Resource Refactoring Tool Alpha is released</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2006/11/08/resource-refactoring-tool-alpha-is-released.aspx" /><id>http://blogs.msdn.com/bertan/archive/2006/11/08/resource-refactoring-tool-alpha-is-released.aspx</id><published>2006-11-09T00:38:00Z</published><updated>2006-11-09T00:38:00Z</updated><content type="html">&lt;P&gt;We have just released alpha version of &lt;A class="" href="http://go.microsoft.com/fwlink/?LinkID=77544" mce_href="http://go.microsoft.com/fwlink/?LinkID=77544"&gt;Resource Refactoring Tool&lt;/A&gt;&amp;nbsp;for Visual Studio, you can download it from: &lt;A href="http://go.microsoft.com/fwlink/?LinkID=77544"&gt;http://go.microsoft.com/fwlink/?LinkID=77544&lt;/A&gt;. In one line, it provides&amp;nbsp;an easy way to extract hard coded strings from code files to embedded resource files. You can find more details about the tool at its &lt;A class="" href="http://go.microsoft.com/fwlink/?LinkID=77545" mce_href="http://go.microsoft.com/fwlink/?LinkID=77545"&gt;Codeplex page&lt;/A&gt;. For the alpha release, we are only releasing a binary download, but for the beta version we are going to release it as a shared source project.&lt;/P&gt;
&lt;P&gt;If you have any feedback or&amp;nbsp;suggestions please&amp;nbsp;use the project &lt;A class="" href="http://go.microsoft.com/fwlink/?LinkID=77546" mce_href="http://go.microsoft.com/fwlink/?LinkID=77546"&gt;discussion board.&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1040125" width="1" height="1"&gt;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="IDE Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/IDE+Power+Toys/default.aspx" /><category term="Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/Power+Toys/default.aspx" /><category term="ResourceRefactoring" scheme="http://blogs.msdn.com/bertan/archive/tags/ResourceRefactoring/default.aspx" /></entry><entry><title>VSCmdShell 1.1 Released</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2006/09/12/750459.aspx" /><id>http://blogs.msdn.com/bertan/archive/2006/09/12/750459.aspx</id><published>2006-09-12T15:37:00Z</published><updated>2006-09-12T15:37:00Z</updated><content type="html">&lt;P&gt;Yesterday, we have released a new version of VSCmdShell. This new release includes several fixes as well as some new features suggested by the community. A summary of changes are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Better auto filename completion support&lt;/LI&gt;
&lt;LI&gt;Tool window position should now be saved correctly between sessions.&lt;/LI&gt;
&lt;LI&gt;Settings to change startup directory for VSCmdShell&lt;/LI&gt;
&lt;LI&gt;Ability to restart VSCmdShell session without restarting Visual Studio&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;You can download VSCmdShell 1.1 release at &lt;A href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=VSCmdShell&amp;amp;ReleaseId=482"&gt;CodePlex project page.&lt;/A&gt;&amp;nbsp;If you find any bugs or if you have any suggestions please create an issue at the project page.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=750459" width="1" height="1"&gt;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/Power+Toys/default.aspx" /><category term="VSCmdShell" scheme="http://blogs.msdn.com/bertan/archive/tags/VSCmdShell/default.aspx" /></entry><entry><title>Building MSBee on Vista</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2006/09/11/749758.aspx" /><id>http://blogs.msdn.com/bertan/archive/2006/09/11/749758.aspx</id><published>2006-09-11T21:21:00Z</published><updated>2006-09-11T21:21:00Z</updated><content type="html">&lt;P&gt;Last week Joe noticed that if you want to build MSBee in Windows Vista, you have to run Visual Studio or MSBuild process under administrator priveleges. This is due to fact that build process tries to install the MSI package once it is created and as a normal user this operation fails under Windows Vista.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=749758" width="1" height="1"&gt;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="MSBee" scheme="http://blogs.msdn.com/bertan/archive/tags/MSBee/default.aspx" /><category term="Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/Power+Toys/default.aspx" /></entry><entry><title>Resource Refactoring tool</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/bertan/archive/2006/07/18/resource-refactoring-tool.aspx" /><id>http://blogs.msdn.com/bertan/archive/2006/07/18/resource-refactoring-tool.aspx</id><published>2006-07-18T02:29:00Z</published><updated>2006-07-18T02:29:00Z</updated><content type="html">&lt;P&gt;Now that VSCmdShell is released, I&amp;nbsp;started working on a refactoring&amp;nbsp;power toy&amp;nbsp;to help with converting strings in to resource files as it has to be performed manually now. It is primary feature will be to place selected string in to a resource file and replace it with the code to get that string from the resource file. &lt;/P&gt;
&lt;P&gt;If you have any suggestions for the refactoring tool or&amp;nbsp;ideas that would make it easier to work with resource files, please leave a comment to this entry. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=668958" width="1" height="1"&gt;</content><author><name>bertaygu</name><uri>http://blogs.msdn.com/members/bertaygu.aspx</uri></author><category term="IDE Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/IDE+Power+Toys/default.aspx" /><category term="Power Toys" scheme="http://blogs.msdn.com/bertan/archive/tags/Power+Toys/default.aspx" /><category term="ResourceRefactoring" scheme="http://blogs.msdn.com/bertan/archive/tags/ResourceRefactoring/default.aspx" /></entry></feed>