<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Visual Studio</title>
        <link>http://geekswithblogs.net/marcel/category/3863.aspx</link>
        <description>Visual Studio</description>
        <language>en-US</language>
        <copyright>Marcin Celej</copyright>
        <managingEditor>marcin.celej@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Attaching to a process from VS using macro</title>
            <link>http://geekswithblogs.net/marcel/archive/2006/09/18/91471.aspx</link>
            <description>&lt;p&gt;I found interesting macro. It allows you to attach to a process from VS. I use it very often to attach to &lt;a href="http://www.nunit.org"&gt;NUnit&lt;/a&gt; gui. I have a toolbar button&amp;nbsp;in my VS that invokes the macro. I found it quite useful.&lt;/p&gt;&lt;pre style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid"&gt;'This subroutine attaches to the first nunit-gui.exe process found.
Sub AttachToNUnit()
    Dim process As EnvDTE.Process

    For Each process In DTE.Debugger.LocalProcesses
        If (process.Name.ToLower().EndsWith("nunit-gui.exe")) Then
            process.Attach()
            Exit Sub
        End If
    Next

    MsgBox("No nunit-gui.exe found")
End Sub
&lt;/pre&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=91471"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=91471" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/marcel/aggbug/91471.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marcin Celej</dc:creator>
            <guid>http://geekswithblogs.net/marcel/archive/2006/09/18/91471.aspx</guid>
            <pubDate>Mon, 18 Sep 2006 20:04:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/marcel/comments/91471.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/marcel/archive/2006/09/18/91471.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/marcel/comments/commentRss/91471.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/marcel/services/trackbacks/91471.aspx</trackback:ping>
        </item>
        <item>
            <title>Allowing end-user to change application UI</title>
            <link>http://geekswithblogs.net/marcel/archive/2006/02/26/70751.aspx</link>
            <description>&lt;P __designer:dtid="281474976710656"&gt;In application I write actually there is a requirement that end-user should have ability to change the UI look. My strange-user can design ui elements on each form and user control in the application. He also 'needs' to add new controls to the UI. Let's not discuss&amp;nbsp;sense of the&amp;nbsp;requirement as I don't like it anyway.&amp;nbsp;I didn't implement the feature yet but I found in the MSDN Magazine an artcile about hosting VS designers in .NET application (&lt;A href="http://msdn.microsoft.com/msdnmag/issues/06/03/DesignerHosting/default.aspx" __designer:dtid="281474976710657"&gt;The Perfect Host: Create And Host Custom Designers With The .NET Framework 2.0&lt;/A&gt;). There is also great sample (amazingly simple) that shows how to create application that mimics VS designer behavior (toolbox, generated code viewing, designer surface, property grid, etc.)&lt;/P&gt;
&lt;P __designer:dtid="281474976710658"&gt;In the host application I created a Form (dragged some controls on the Form designer surface from the toolbox):&lt;/P&gt;&lt;IMG src="/images/geekswithblogs_net/marcel/3862/o_VSDesignerHosting.PNG" __designer:dtid="281474976710659"&gt; 
&lt;P __designer:dtid="281474976710660"&gt;Then I saved the designed Form to xml (I could save it to .cs file, as the VS does, but I am interested not in application recompilation but in runtime enhancement. In such case saving my forms to xml suits me better). The Form serialized to xml looks like this:&lt;/P&gt;&lt;PRE style="BORDER-RIGHT: gray 1px solid; BORDER-TOP: gray 1px solid; BORDER-LEFT: gray 1px solid; BORDER-BOTTOM: gray 1px solid" __designer:dtid="281474976710661"&gt;  &amp;lt;Object type="System.Windows.Forms.Form" name="Form1" children="Controls"&amp;gt;
    &amp;lt;Object type="System.Windows.Forms.TextBox" name="TextBox1" children="Controls"&amp;gt;
      &amp;lt;Property name="Location"&amp;gt;62, 6&amp;lt;/Property&amp;gt;
      &amp;lt;Property name="Size"&amp;gt;100, 20&amp;lt;/Property&amp;gt;
      &amp;lt;Property name="DataBindings"&amp;gt;
        &amp;lt;Property name="DefaultDataSourceUpdateMode"&amp;gt;OnValidation&amp;lt;/Property&amp;gt;
      &amp;lt;/Property&amp;gt;
      &amp;lt;Property name="Name"&amp;gt;TextBox1&amp;lt;/Property&amp;gt;
      &amp;lt;Property name="Text"&amp;gt;Marcin Celej&amp;lt;/Property&amp;gt;
      &amp;lt;Property name="TabIndex"&amp;gt;1&amp;lt;/Property&amp;gt;
    &amp;lt;/Object&amp;gt;
    &amp;lt;Object type="System.Windows.Forms.Label" name="Label1" children="Controls"&amp;gt;
      &amp;lt;Property name="TabIndex"&amp;gt;0&amp;lt;/Property&amp;gt;
      &amp;lt;Property name="Size"&amp;gt;68, 23&amp;lt;/Property&amp;gt;
      &amp;lt;Property name="Name"&amp;gt;Label1&amp;lt;/Property&amp;gt;
      &amp;lt;Property name="Text"&amp;gt;Name:&amp;lt;/Property&amp;gt;
      &amp;lt;Property name="Location"&amp;gt;12, 9&amp;lt;/Property&amp;gt;
      &amp;lt;Property name="DataBindings"&amp;gt;
        &amp;lt;Property name="DefaultDataSourceUpdateMode"&amp;gt;OnValidation&amp;lt;/Property&amp;gt;
      &amp;lt;/Property&amp;gt;
    &amp;lt;/Object&amp;gt;
    &amp;lt;Property name="Name"&amp;gt;Form1&amp;lt;/Property&amp;gt;
    &amp;lt;Property name="DataBindings"&amp;gt;
      &amp;lt;Property name="DefaultDataSourceUpdateMode"&amp;gt;OnValidation&amp;lt;/Property&amp;gt;
    &amp;lt;/Property&amp;gt;
    &amp;lt;Property name="ClientSize"&amp;gt;292, 122&amp;lt;/Property&amp;gt;
  &amp;lt;/Object&amp;gt;&lt;/PRE&gt;
&lt;P __designer:dtid="281474976710662"&gt;The xml serialization is achieved by a class derieved from BasicDesignerLoader and is replaceable. In such way we ar able to do with the designed Form whatever we need.&lt;/P&gt;
&lt;P&gt;That's the beginning of the story. Now I need to learn more about the designer hosting to check if it is what I need. It looks very interesting at a first glance (which I presented here) and may be used in many other places. I will try to use it in my application&amp;nbsp;and we'll see&amp;nbsp;if user will be able to change the UI, I will be able to handle it easily, and everyone will be happy.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=70751"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=70751" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/marcel/aggbug/70751.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marcin Celej</dc:creator>
            <guid>http://geekswithblogs.net/marcel/archive/2006/02/26/70751.aspx</guid>
            <pubDate>Mon, 27 Feb 2006 01:16:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/marcel/comments/70751.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/marcel/archive/2006/02/26/70751.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/marcel/comments/commentRss/70751.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/marcel/services/trackbacks/70751.aspx</trackback:ping>
        </item>
        <item>
            <title>NDoc for .NET 2.0</title>
            <link>http://geekswithblogs.net/marcel/archive/2006/02/21/70287.aspx</link>
            <description>&lt;p __designer:dtid="281474976710656"&gt;For those of you who use .NET 2.0 and want to document their code with triple slashes (///) there is good news. NDoc (free tool for creating documentation from the triple slashes) is being ported to .NET 2.0. I used the NDoc in .NET 1.1 and it is great tool (especially that it is free). Each of libraries I developed was well documented so I could see (from the documentation) at which point with the development I am. I encourage everyone to comment the code and to try the NDoc, but remember it's not finished yet.&lt;/p&gt;
&lt;p __designer:dtid="281474976710657"&gt;The latest version of the NDoc can be found here: &lt;a __designer:dtid="281474976710658" href="http://www.kynosarges.de/NDoc.html "&gt;Much improved NDoc for .Net 2.0&lt;/a&gt;&lt;/p&gt;
&lt;p __designer:dtid="281474976710659"&gt;I tried it and I can say it's not perfect but at least it didn't crash on my projects and it generated chm documentation. I hope guys will finish the port so we could create msdn-look-like documentation.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=70287"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=70287" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/marcel/aggbug/70287.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marcin Celej</dc:creator>
            <guid>http://geekswithblogs.net/marcel/archive/2006/02/21/70287.aspx</guid>
            <pubDate>Wed, 22 Feb 2006 06:39:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/marcel/comments/70287.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/marcel/archive/2006/02/21/70287.aspx#feedback</comments>
            <slash:comments>15</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/marcel/comments/commentRss/70287.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/marcel/services/trackbacks/70287.aspx</trackback:ping>
        </item>
        <item>
            <title>Visual Studio editor guides</title>
            <link>http://geekswithblogs.net/marcel/archive/2006/02/01/67866.aspx</link>
            <description>&lt;P&gt;I found interesting feature of Visual Studio editor. You can enable it to display vertical lines (guides):&lt;/P&gt;
&lt;P&gt;&lt;IMG src="/images/geekswithblogs_net/marcel/3862/o_VSGuides.PNG"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Unfortunatelly to enable the lines you must change registry:&lt;/P&gt;
&lt;P&gt;1. Find registry key: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\Text Editor&lt;BR&gt;2. Add string value there: "Guides"="RGB(220,220,220) 4, 8, 12"&lt;/P&gt;
&lt;P&gt;Here is a link to the original blog i found it on: &lt;A href="http://blogs.msdn.com/saraford/archive/2004/11/15/257953.aspx"&gt;Guidelines &amp;#8211; a hidden feature for the Visual Studio Editor&lt;/A&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=67866"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=67866" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/marcel/aggbug/67866.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Marcin Celej</dc:creator>
            <guid>http://geekswithblogs.net/marcel/archive/2006/02/01/67866.aspx</guid>
            <pubDate>Thu, 02 Feb 2006 07:33:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/marcel/comments/67866.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/marcel/archive/2006/02/01/67866.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/marcel/comments/commentRss/67866.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/marcel/services/trackbacks/67866.aspx</trackback:ping>
        </item>
    </channel>
</rss>