Blog - Title

Visual Studio 2013 Current Status

  • The Ultimate Visual Studio Tips and Tricks Blog

    Customize how Find in Files results are displayed in the Find Results Window

    • 13 Comments

    Keyboard:  CTRL + SHIFT + F
    Menu:  Edit -> Find and Replace -> Find in Files
    Command:  Edit.FindinFiles
    Versions:  2008,2010
    Published: 1/3/2010
    Code:  vstipFind0002 

       

    image

     

    You can customize your Find in Files results to show what you want to see and how you want to see it.

    Example:  You don't want to view the entire file path shown in the Find Results tool window.

    So instead of this:

    image

     

     

    You want this:

    image

     

    No problem! :)

     

    DANGER:  This involves hacking the Registry so use this tip at your own risk!

    1. Open up RegEdit
    2. Go to HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Find
    3. Add a new string called Find result format with a value of $f$e($l,$c):$t\r\n

      image
    4. Hop into Visual Studio and run a Find in Files search (NOTE: You do not need to restart VS to see the changes made in the Registry, which is great for testing different string combos)

     

    Here are valid values you can use in the string:

     

    Files

    $p      path                       

    $f      filename               

    $v      drive/unc share            

    $d      dir                        

    $n      name                       

    $e      .ext                   

        

    Location

    $l      line                        

    $c      col                        

    $x      end col if on first line, else end of first line

    $L      span end line

    $C      span end col

    Text

    $0      matched text                

    $t      text of first line

    $s      summary of hit

    $T      text of spanned lines

    Char

    \n      newline                   

    \s      space                     

    \t      tab                        

    \\      slash                    

    \$      $                 

  • The Ultimate Visual Studio Tips and Tricks Blog

    Using the Call Hierarchy (C# Only)

    • 13 Comments

    Keyboard:  CTRL + ALT + K (anywhere); CTRL + K,T (cursor must be on a member name)
    Menu:  View -> Call Hierarchy
    Command:  View.CallHierarchy; EditorContextMenus.CodeWindow.ViewCallHierarchy
    Versions:  2010
    Published:  1/19/2010
    Code:  vstipTool0005

    For the C# folks this is one heck of a great feature:  The Call Hierarchy.  It allows you to visualize all calls to and from a selected method, property, or constructor.  To see how it works just right-click on any method, property, or constructor in the Editor and select View Call Hierarchy:

    image

    You should get a window similar to this one (amount of information will vary):

    image

    Notice there are "Calls To" and "Calls From" areas related to your selection.  You can expand them out:

    image

     

    When you click on a node in the tree, the Call Sites window updates so you can visit the call if you want to:

    image

     

    You can continue expanding the hierarchy to see more "Calls To" and "Calls From" information:

    image

     

    The best part is you can right-click on a symbol and get all kinds of options:

    image

     

     

     

     

     

    Here are some options you may come across:

    Context Menu Item

    Description

    Add As New Root

    Adds the selected node to the tree view pane as a new root node.

    Remove Root

    Removes the selected root node from the tree view pane. This option is available only from a root node.

    You can also use the Remove Root toolbar button to remove the selected root node.

    Go To Definition

    Runs the Go To Definition command on the selected node. This navigates to the original definition for a method call or variable definition.

    You can also press F12 to run the Go To Definition command on the selected node.

    Find All References

    Runs the Find All References command on the selected node. This finds all the lines of code in your project that reference a class or member.

    You can also use SHIFT+F12 to run the Find All References command on the selected node.

    Copy

    Copies the contents of the selected node (but not its subnodes).

    Refresh

    Collapses the selected node so that re-expanding it displays current information.

  • The Ultimate Visual Studio Tips and Tricks Blog

    Using the WPF Tree Visualizer

    • 13 Comments

    Versions:  2010
    Published:  1/29/2010
    Code:  vstipDebug0004

     

    For those not familiar with WPF Trees, check out this article:  http://msdn.microsoft.com/en-us/library/ms753391(VS.100).aspx

     

    Now.  For those that ARE familiar with them have we got something for you:  WPF Tree Visualizer.  Yes, it started out as a CodePlex project and ended up in the product itself as a visualizer.  But how do you use it? 

     

    1. Enter debug mode using any method you prefer.
    2. Once you are there take a look at either a DataTip, the Watch window, the Autos window, or the Locals window.  For this example, I will use the Autos window.
    3. Choose any control in the Autos window and then click on the magnifying glass way over to the right of the control name.
      image
    4. You will see a drop down list.  Choose the WPF Tree Visualizer to get this dialog:
       image
    5. This thing has a lot of different parts so let's take a look at each one.  First, the Visual Tree shows you the hierarchy of the controls:
      image
    6. Clicking on any particular node of the tree will show you the Rendering view just below:
      image
    7. Also, the selected control will have its properties displayed in the large area to the right:
      image

    8. In, both, the Visual Tree and the Properties area you can search/filter the results by typing into the "Search" or "Filter" textboxes respectively:
      image

    9. WARNING:  Watch out for the results as they may not be what you expect.  See the extra items in the list that don't have the word "context" in them?  How did they get there?  Well, if I scroll to the right and look at other properties you can see how it happened:
      image 

      Currently, there is no way that I am aware of to change this behavior.
  • The Ultimate Visual Studio Tips and Tricks Blog

    Coding Faster: Give Me Your Thoughts

    • 13 Comments

    Folks,

    Just an update on the book.  It appears that it may be over 300 pages as originally planned so I am seeing if that is an issue with the publisher.  Would you have a problem if the book was larger? 

     

    Also, I've gotten another draft of the book as we move along and, just as I have always done, I would like to get your thoughts.  I've attached the PDF for your review.  Let me know your thoughts.  Bear in mind is it a rough draft and some things will change.  For example, "Free Your Document Windows" will become something like "Multi-Monitor Support" as I review the titles. 

     

    Also, I will most likely be trimming out the more trivial tips.  The tricky part is that one person's "trivial" is another person's "cool" so I'm erring on the side of too much information rather than not enough.

     

    Z

  • The Ultimate Visual Studio Tips and Tricks Blog

    Visual Studio 2012 Update 1 (KB2707250): Bug Fixes

    • 13 Comments

    This post is a bit overdue but better late than never.  So let’s talk about Visual Studio Update 1…

     

    Soma originally introduced Update 1 in his November 26th post here:

    http://blogs.msdn.com/b/somasegar/archive/2012/11/26/visual-studio-2012-update-1-now-available.aspx

     

     

    Installation

    Since some of you may want to install this update immediately there are a few options for you. 

     

    From Visual Studio

    From inside the IDE, go to Tools | Extensions and Updates:

    image

     

    Then look under the updates section and install from there:

    image

     

     

    Via the Download Link Directly

    If you want a more direct route you can click this link:  http://go.microsoft.com/?linkid=9821199

    You will get this dialog and can just click Run to execute the small .EXE and begin the online install:

    SNAGHTML187699cf

     

     

    Stand-Alone Installation

    Although many believe you can only install via online resources this is actually not true.  A quick look at vsupdate_KB2707250.exe /? shows us the /layout switch:

    image

     

    So when I run vsupdate_KB2707250.exe /layout c:\ziptemp\vsup1 on my system this is the dialog I get:

    image

     

    This will download the source files to the designated location so you can make them available on a network share, thumb drive, or other media for stand-alone installation.

     

     

     

    Why Should I Care?

    The most obvious question is, “Why should I care?”  Despite the bug fixes and new features, this particular update represents a major shift in the timing for delivery.  We have now committed to a shorter update cycle so we can deliver critical fixes and incorporate new features more quickly.  What this means for you in real terms is that blocking issues may be resolved much more quickly and/or you will get a new feature that will help you get work done better/faster/stronger.

     

     

     

    What’s In it?

    So what exactly did we deliver?  Fundamentally there were two things we provided:  Bug Fixes and New Features.   You can find all the details here:

    http://support.microsoft.com/kb/2797915/EN-US

     

    I’m going to repeat the bug fixes here and then address the new features in another article right after this one.

     

    Bug Fixes

    After an extended period of time looking for the list of bug fixes included in the package I was initially unable to find a comprehensive list anywhere.  It looks like the team recognized there was a gap and updated the KB article on 1/13 to include all the relevant information.  I’ll just repeat the information here verbatim for convenience.

    ===

    Entity Framework Tools

    • Entity Framework designer may overwrite facets of C-Space properties based on facets of S-Space properties.
    • Build the solution fails after you add an empty ADO.NET Entity Data Model.
    • The .tt files stop generating after you nest an .edmx file under the project folder.

    ASP.NET Editor

    • HTML tag is not closed when you type a starting <script> tag in Visual Studio 2012.
    • IntelliSense gives a warning when you mix user controls and controls in a same tagPrefix node.
    • CSS code examples cannot work in .less files.
    • Visual Studio 2012 cannot insert a closing tag in HTML files automatically.

    Web Tools

    • Web Platform and Tools (WPT) packages are affected by a time stamp signing issue.
    • Dirty flag is displayed after you save a file in Visual Studio designer.
    • Too much memory is used after you add a new entity model that is generated from a database.
    • A local Internet Information Services (IIS) Express instance is displayed when you browse from a web page that is in a cloud service project.
    • "Application/JavaScript" content of JavaScript files is not registered to Visual Studio 2012.
    • Right-to-Left is not supported in JavaScript Windows Store app templates.
    • Visual Studio 2012 does not support the WinJS Software Development Kit (SDK).
    • Visual Studio 2012 crashes when you save a read-only manifest and then select Cancel to dismiss the dialog box.

    Web Publish

    • You cannot install the Web Deploy component when you set up Visual Studio 2012.
    • Web Tools Extensions (WTE) website publish operation does an unnecessary precompilation.

    Build Automation in TFS

    • A Build Scheduling job fails two times in TFS.
    • "TF50620: The Team Foundation identity scope A5BD927E-17AE-41F9-B8F3-34BE44653408 does not exist" error, and you cannot upgrade to Visual Studio 2012.1.
    • Message queue settings are lost.
    • You cannot scroll in web browsers for the summary and log views of build files in Team System Web Access (TSWA).

    Cloud Intelligence and Admin in TFS

    • Visual SourceSafe (VSS) installer compliance issues.
    • Visual Studio 2012.1 milestone information in ReleaseManifest.xml.
    • "Object doesn't support this property or method" error when you access the Team Profile page.

    Collaboration in TFS

    • PowerPoint Storyboarding stops working when you uninstall Visual Studio 2012.1.

    Services Framework in TFS

    • "An error occurred while executing the following script: upd_IdentitySnapshotToDev11M36.sql. Failed batch starts on the line 242. Statement line: 2." error when you attach a collection to a Visual Studio 2012.1 server.
    • You cannot upgrade to Visual Studio 2012 if the database collation name contains "90" and this instance is hosted on Microsoft SQL Server 2012.
    • Rebranded URLs (for example tfs.visualstudio.com) are not supported in the Visual Studio 2012 client.
    • "Exception of type 'Microsoft.TeamFoundation.Framework.Server.HostShutdownException' was thrown" error when you try to delete a project of an offline collection.
    • LocalScopeId value is not changed in tbl_GroupScope when you change the Server ID.
    • You cannot detach and reattach a cloned collection database instance, and it fails with an index violation.
    • Decreased performance when you use the complex identity or group membership topography.

    Version Control in TFS

    • Query plan in the prc_CheckIn process causes large memory estimates.
    • "Cannot insert NULL value (QU1)" exception in the TFS 2012 service, and the VC++ UpdateLocalVersion command fails.

    .NET Runtime

    • "Code Analysis errors of the same type - CA2149 Transparent code must not reference security critical items" error when you create a new application by using the default "Windows Phone XAML and Direct3D" project template.

    F#

    • The sort algorithm of the FSharp.Core.dll assembly may produce incorrect results, and you cannot deploy the applications that contains F# code to Windows Store.

    ClickOnce

    • "Not a valid Win32 application" error when you try to use ClickOnce to deploy a Windows Presentation Foundation (WPF) application to Windows XP.

    C++ Compiler

    • Incorrect code is generated for bit field swap on the ARM compiler.
    • Debug Interface Access (DIA) ARM stack unwinder displays empty stack when the CPU contains an invalid address.
    • WinCE default entry point is _stdcall instead of _cdecl.
    • The image base symbol name of WinCE is ImageBase instead of CeImageBase.
    • Single VC++ file takes a long time to compile.
    • No sign targets are called for the vcredist_x86, vcredist_x64, or vcredist_arm files.

    Installation

    • "Microsoft XP support for Visual Studio" error when you install the XP targeting package.

    C++ Editor

    • You may lose the property sheet changes in Property Manager.
    • "Exception 0xC0000005; SQLCEOLEDB40.DLL!unloaded" error when you run VC++ applications in Visual Studio 2012.
    • "Exception 0xC0000005;MICROSOFT.VISUALSTUDIO.CPPSVC.INTERNAL.DLL!" error when you run VC++ applications in Visual Studio 2012.
    • You encounter a deadlock between the Devenv.exe and VCPkgSrv.exe files.
    • VC++ project system does not support transitive closure of SDKs.

    Standard C++ Library

    • Potential branding issue during installation.
    • Application intermittently crashes when you create an async operation with Parallel Patterns Library (PPL).

    C Runtime (CRT)

    • Replace mempcy function for ARM CPU with a faster version from Windows.

    Visual Studio Fundamentals

    • NetFx payloads are not the re-signed version in TFS and in team agents.
    • Test professional and feedback client Stock Keeping Unit (SKU) are not included in the list of the Visual Studio 2012.1 bundle.
    • The message on the Visual Studio 2012.1 "uninstall finished" page uses the information icon instead of the warning icon.
    • ProjectReference and SKURef are not updated for the Visual Studio 2012.1 MSP with WDExpress core MSI file.
    • Visual Studio 2012 does not contain the TFS_ServerCore.msi package.
    • Threaded wait dialog title bar colors do not work well with a custom Microsoft Visual Studio 2010 color theme.

    Visual Studio IDE

    • Crash occurs when you try to close Visual Studio 2012.
    • "Exception 0xC0000005; DEVENV.EXE!CDevEnvAppId::Run" error when you change the default installation path in Visual Studio 2012.
    • Chrome does not automatically appear in the list of the Browse With dialog in Visual Studio 2012.
    • You cannot start .VSIX setups after you install the July 2012 update in Visual Studio 2012 RC.

    Localization

    • Some IntelliSense texts are not translated.

    ASP.NET Data

    • Data Sources window is disabled after you build a project. Additionally, a "data sources are not supported by the current project" warning is displayed.

    Code Analysis

    • "MSBuild could not locate the Code Analysis tool" error when you run code analysis in Visual Studio Express 2012 for Windows Desktop.

    Agile

    • No feedback when you cannot create stubs or shims for an assembly by using the Fakes function.

    My Work

    • You encounter crash and data loss issues in the code review workflow.
    • The work items that are under the selected area path do not show in the "Available Work Items" section of MyWork.
    • The feature enablement infobar does not go away when you upgrade TFS 2010 to TFS 2012.

    Debugger

    • 764861: Visual Studio 2012 crashes when you try to debug a native x32-based application.

      (http://connect.microsoft.com/VisualStudio/feedback/details/764861)

    • 760468: The remote endpoint is not reachable, and you cannot start or attach the debugger in Visual Studio 2012.

      (https://connect.microsoft.com/VisualStudio/feedback/details/760468)

    • "Exception 0xC0000005;VSDEBUGENG.MANIMPL.DLL!" error when you debug an application in Visual Studio 2012.
    • The application may crash or data corruption occurs when you debug optimized native ARM-based binaries.
    • The brand name is incorrect in the remote debugger installer dialog window.
    • "Exception rxoejih3rskjez4xxwpxudkcppwjodng; VSDEBUGPRESENTATIONPACKAGE.NI.DLL!" error when you debug an application in Visual Studio 2012.
    • You cannot debug ARM-based VC++ applications for late-breaking Windows hardware changes.
    • You cannot step in a dynamic SQL script file by using the debugger in Visual Studio 2012.
    • You cannot uninstall the app package after you debug an installed app package.
    • The Wait dialog box is not helpful when third-party networking software blocks local 64-bit debugging.

    IntelliTrace

    • "'Microsoft.VisualStudio.TraceLogPackage.TraceLogPackage, Microsoft.IntelliTrace.Package.11.0.0, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' package did not load correctly" error when you debug a new project in Visual Studio 2012.

    Code Map

    • Flag icons on Code Map are not updated.

    T4

    • You cannot debug the T4 template by using the Entity Framework templates.

    Lab Manager

    • You cannot create network isolation environments on Microsoft Windows 2008 R2 Service Pack 1 (SP1) hosts.
    • You cannot create the TestEnvironment.xml file by using Build Verification Testing (BVT) scripts.
    • LoadTestScenario case fails in the BVT rolling build.
    • "Specified cast is not valid" exception when you try to stop recording for an editing task scenario.
    • You cannot obtain VC++ runtime from Visual Studio 2012 remote store.
    • Test-signing time is too long in Visual Studio 2012.

    ===

  • The Ultimate Visual Studio Tips and Tricks Blog

    Visual Studio vNext IDE Enhancements

    • 13 Comments

    ===

    Quick Housekeeping Note:  I’ve deprecated the old Visual Studio Tips extension and have tried to get it removed from the gallery so it isn’t available anymore but have had little success.  I am currently not planning to replace the tool with a new version but am open to suggestions as to a viable alternative.  For now I suggest you use your favorite RSS feeder or visit the blog directly.  Now on with the post…

    ===

     

    With the BUILD conference (http://www.buildwindows.com/) just around the corner and lots of announcements coming I thought now would be a good time to pause the usual posts and talk about the next version of Visual Studio (vNext) and how you can prepare for some of the goodness to come.  This is a high-level look at what is coming and I will be blogging in much more detail on the features throughout the vNext cycle.  With that said, I’ve intentionally left out any images of the IDE for this post in favor of brief feature descriptions.  Additionally, I will be blogging and tweeting directly from the BUILD conference while I am there to keep you up to date on the latest revelations that are coming out.  To get a sneak preview of some of the features make sure to see the following video:

     

    Microsoft Visual Studio IDE Futures

    http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DEV326

     

    vNow

    Visual Studio 2010 introduced a great new extensibility model that made custom additions very easy to make.  You can find these extensions at the Visual Studio Gallery (http://visualstudiogallery.msdn.microsoft.com/)  and, if you haven’t explored some of these great additions, I suggest you browse through the gallery to see the items there.  When asked which extension I suggest everyone download the number one answer I give is always been the Productivity Power Tools (http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef?SRC=Home).  Download it now.  Seriously.  Now. 

     

    We have (and will going forward) use extensions to field test new features that will be included in future versions of Visual Studio and it is a safe bet that some of the Power Tools will find their way into the vNext.  If you watched the video mentioned above you will hear Weston Hutchins mention this as well.  What better way to see what people want than to let them vote by actually downloading and using a feature?  Granted it’s a little harder to focus on individual features when a lot are packed together but, even then, we get plenty of feedback on what people like and don’t like.

     

    vNext

    Once we get beyond VS2010 then we can start looking at the new features that have been publicly revealed so far.  Here is a list of things you can expect in the next version:

     

    Project Round-Tripping

    One of the bigger pains in prior versions of Visual Studio is moving a project between versions.  It was an all-or-nothing proposition typically due to schema changes to the proj files.  If you opened a VS2008 project in VS2010 and converted it to the new project format then that project could no longer be opened in the prior version.  For those that have experienced this you know this wasn’t entirely true and you could do a little proj file hacking to go back but it wasn’t fun or intuitive to do so.  Visual Studio vNext will solve that issue.  You will now have the ability to open a project in the new version of Visual Studio and still go back to prior versions.  The net effect is you can have different teams on different versions of Visual Studio but still able to share projects with each other!

     

    Search the IDE

    With the dizzying array of menu items, toolbar buttons, options, files, etc… it is often difficult to remember where a particular item exists.  VS vNext adds the ability to quickly search the IDE for these things.  A good analogy would be to compare it to the ability to search programs and files when you click on the start button in Windows.  I don’t know about you but I don’t look for files anymore for the most part, I just hit my Windows key then type in what I am looking for then select what I want.  Imagine that level of functionality inside the Visual Studio IDE and you have an idea of what this new feature does.

     

    Solution Explorer Enhancements

    Multiple Instances of Solution Explorer

    vNext supports creating new instances of Solution Explorer so you can have focused areas (one project in one instance and another project in a second instance) for working on multiple monitors.  Additionally these instances can be nested inside windows that have been pulled outside the IDE for use on other monitors.

     

    Navigation

    In the Productivity Power Tools we introduced the Solution Navigator with some cool new features that have found their way into the new IDE.  The ability to drill down into the classes then members from Solution Explorer now exists.  You can right-click, say, a method in Solution Explorer and see some new terminology:  Calls, Is Called By, and Is Used By.  Calls represents the call hierarchy for the method; Is Called By represents a list of methods that call the current method; and Is Used By represents all the specific file, line, and column positions where the method is mentioned.

     

    Search

    Much like the new search for the IDE, we now have a new search for just the items in Solution Explorer.  You can quickly type in a file, class, reference, etc… and see a filtered list in Solution Explorer of the items you are looking for.

     

    Collapse All

    A long-awaited feature that will collapse everything in Solution Explorer so you can expand items “fresh” as you navigate though the various hierarchies. 

     

    Tab Well Enhancements

    Pin Tabs

    Another feature introduced in the Productivity Power Tools, this feature will let you keep interesting tabs surfaced on the left of the tab well while non-pinned tabs get pushed out of the visible area based on usage.

     

    Floating Tab Wells

    You can now rip off documents from the IDE and have multiple tabs grouped together in one or more floating tab wells.  This is great for multi-monitor situations where you want groups of related files on separate monitors.

     

    Search Toolbox

    There is now a dedicated search box for the Toolbox window so you can quickly filter items to find the controls you want.

     

    Add Reference Dialog

    The most notable change to the Add Reference dialog is speed.  It is way, waaaaay faster to add a reference with the new dialog than ever before.  Also, a search box has been added to allow quick filtering of assemblies.

     

    Streamlined Quick Find / Replace

    The Quick Find / Replace has been cleaned up and streamlined to make using the experience easier overall.

     

    Error List Window Enhancements

    Search Errors

    As with many other tool windows, the Error List window now sports a search box you can use to filter the list of errors, warnings, and information messages.

     

    Scope Filter

    The Error List window also now supports a scope filter that lets you show only those items in Open Documents, the Current Project, or the Current Document.

     

    Preview Tab

    Probably one of the coolest new changes is the Preview Tab.  Essentially it allows you to look at a preview of a file and decide if you want that file to be opened up in the tab well.  I’ll show much more on this feature later but wanted to mention it here to round out the list of items I will be covering in the short-term.

     

    Finally

    There are a lot of very cool changes coming in Visual Studio vNext.  This post is meant to make you aware of the coming changes at a high-level to prepare you for a deeper discussion of each of these features in future posts.

  • The Ultimate Visual Studio Tips and Tricks Blog

    Visual Studio vNext Performance Enhancements

    • 13 Comments

    Continuing on our odyssey of exploring the features in vNext, I thought we would look at some of the performance enhancements that have been publicly announced.  Naturally, at this time, I can’t go very deep into the inner-workings of the improvements but will endeavor to list them out and explain somewhat based on information currently available.  Also, be aware that this is a very early look at these features so there will be many improvements made as the product gets closer to RTM.  I’m actually running two versions of vNext currently; the one that will be made available to the public as a pre-release at some point and the one we build internally so I have a pretty good handle on what you will see and what is coming out.  I can say that there are some great things that are being done with the product you will definitely enjoy.  With that said let’s take a look at some of the things we have revealed so far…

     

    Microsoft Visual Studio IDE Futures

    First off, if you haven’t seen it yet, most everything I mention comes from the great TechEd session done by Weston Hutchins that can be found here:

    http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DEV326

     

     

    Performance: The Four Pillars

    For vNext we are focused on four areas of investment to improve the product:

    1. Overall Responsiveness
    2. Long Running Operations
    3. Memory Utilization
    4. Better Feedback

     

    Overall Responsiveness

    As I review the areas of improvement expect a great deal of overlap as many of the improvements fall into multiple categories.  With that said, this area is pretty self-explanatory:  We want vNext to enable users to quickly go about their work without waiting on the IDE.  These improvements manifest themselves in a variety of ways but all have the singular goal of making the product more responsive.  Below are some of the areas that address this goal that we have made public so far.

     

    Faster, Stronger, Better Add Reference Dialog

    One of the IDE enhancements revealed so far is Add Reference dialog box.  First and foremost it has been supercharged to load almost instantaneously.  How?  We index the assemblies beforehand to have a ready-made list on demand.  We haven’t gone into detail yet on what exactly is being done but expect that revelation in due course.  Also, as with most of the IDE, we have added the ability to search/filter the list so you don’t spend a billion years looking for the assembly you want.

     

    Out-of-Process Operations

    We have moved some activities out-of-process to give control back to the IDE quickly.  See Memory Utilization.

     

    Parallel Operations

    vNext will take advantage of multi-core systems much better than VS2010 which will result in more overall responsiveness.  See Long Running Operations.

     

     

    Long Running Operations

    Building and debugging are examples of a long-running operations that we are addressing.  For example, Visual Studio 2010, while a great improvement over previous versions, really doesn’t take full advantage of multi-processor machines.  Our goal is to speed things up so you can get your work done faster with less time spent waiting.

     

    Background Builds

    Build operations have now been moved to background threads so you can actually do other things in Visual Studio while a build is happening.

     

    Parallel Project Builds

    Another great new feature is the ability to build projects in parallel.  vNext comes with an option to have parallel project builds based on the number of cores your system has.  In fact, the default value is automatically set to the max cores on your system.  You can reduce this value if you want.

     

     

    Memory Utilization

    Responsiveness also includes the overall efficiency of Visual Studio.  We are working on reducing the memory utilization overall based on usage. 

     

    Virtual Memory Utilization

    vNext uses much less virtual memory internally.  Much of this is due to running builds out-of-process (see below) as well as other enhancements we have made that haven’t been released yet.

     

    Out-Of-Process Builds (C++, C#)

    C++ has had this feature for a while and we are now brining it to C# and, in a future release sometime after vNext, VB as well.  We now perform builds outside the Visual Studio process.  Instead of loading numerous referenced assemblies inside the VS process they are now loaded into an external process then discarded when we are done.  This results in significantly less memory usage inside Visual Studio which results in a more responsive, stable product.

     

     

    Better Feedback

    This one is really simple.  How do we get the best information possible when there are issues with the product so we can continuously improve it for you?  Solving for this question is never easy but we have devised ways of obtaining performance data from your actual use of the product to help strengthen our knowledge of areas that need to be addressed.

     

    PerfWatson, PerfWatson, PerWatson

    The number one tool you can download TODAY to give us feedback on VS2010 and vNext is PerfWatson.  You can get it from the Visual Studio Gallery here:

    http://visualstudiogallery.msdn.microsoft.com/fa85b17d-3df2-49b1-bee6-71527ffef441

    This tool allows us to get up-to-date, immediate information on the issues that are impacting performance.  This tool is currently built into the pre-release version of vNext and, I suspect, we will include it in the RTM version as well with an option for you to turn it off if you don’t want it.

     

    Visual Studio Feedback on Connect

    If you haven’t gone to http://connect.microsoft.com/VisualStudio/ yet then you need to.  This is one of the main ways we have been getting directed feedback from you for some time now.  It’s a great way to get to see what others are saying and to communicate directly with the VS team.

  • The Ultimate Visual Studio Tips and Tricks Blog

    Visual Studio 2013: TODO Comments and Custom Tokens in the Task List

    • 12 Comments

    NOTE: This is an older feature I’ve updated the information for VS2013

     

    Ever been writing some code and you want to leave a reminder to yourself to do something on a particular line or area?  Did you know about the "to do" comment feature or custom tokens?  They seriously rock if you have never used them and, because they go in source code, everyone can have access to the information when you check-in the code!

     

     

    TODO Comments

    So here's how TODO comments work: 

     

    VB

    In VB you just put any comment in that begins with the letters "todo" (case doesn't matter):

    5-16-2012 12-13-33 PM

     

     

    C# and C++

    In C# and C++, it's pretty much the same thing (again, case doesn't matter):

    5-16-2012 12-17-39 PM

     

     

    In C++ you have to explicitly turn this feature on.  Go to Tools | Options | Text Editor | C/C++ | View and change Enumerate Comment Tasks to True:

    5-16-2012 12-19-14 PM

     

     

    Regardless which language you use the result is an entry in your Task List:

    5-16-2012 12-22-52 PM

    Note: You can Double Click any entry to automatically have the editor go to the respective line in your source.

     

     

    If you don’t see the entries, make sure you have set the task list to see comments:

    5-16-2012 12-24-46 PM

     

     

     

    Custom Tokens

    We actually have several tokens you can use in addition to TODO. To see all the existing tokens go to Tools | Options | Environment | Task List:

    5-16-2012 12-28-08 PM

     

     

    HACK and UNDONE

    You are welcome to use HACK and UNDONE as well. The MSDN documentation is horrifically bad when it comes to describing these tokens and I don’t agree with the description of use necessarily. Here is what it says:

    “Items labeled TODO, HACK, and UNDONE in the Task List window indicate code problems that do not keep the project from compiling, but that do cause run-time errors. You should correct these errors before running the project.”

    http://msdn.microsoft.com/en-us/library/aa652344(v=VS.71).aspx

     

    Also, be aware that the number of entries that appear in the Task List changes depending on the type of project you are working on. With VB and C# projects, the Task List displays all of the comments in the project whether the file is open or not. With C++ projects, the Task List displays only the comments that are found in the files currently opened for edit.

     

     

    Creating Custom Tokens

    Feel free to create your own tokens for your use. Creating your own tokens is very simple, just pick a name for your token and type it in the Name textbox:

    5-16-2012 1-07-32 PM

    Note: UnresolvedMergeConflict looks like an error but isn’t it is an actual token that will make a high priority item in the Task List.

     

     

    Next choose a priority level:

    5-16-2012 1-09-02 PM

     

     

    Then click the Add button to make it an active token:

    5-16-2012 1-10-32 PM

     

     

    You will see it in your list:

    5-16-2012 1-11-42 PM

     

     

    Now you can use the token in your comments:

    5-16-2012 1-14-01 PM

     

     

    Sharing Custom Tokens

    Be aware that any tokens you create ARE NOT SHARED with other developers so you may want to come up with a standard set of tokens for everyone to use if you intend to leverage this feature company-wide then export them (http://blogs.msdn.com/b/zainnab/archive/2010/07/14/exporting-your-environment-settings-vstipenv0021.aspx) and have folks import them (http://blogs.msdn.com/b/zainnab/archive/2010/07/15/importing-or-changing-your-environment-settings-vstipenv0022.aspx).

     

     

     

    Finally

    Tokens are a pretty nice feature to keep track of places in your code you need to revisit. I don’t suggest them over, say, tasks in Team Foundation Server but they are a great short-term reminder for things that need to get attention. If you decide you would like to create Task List items programmatically you can do that as well. Here is a link to some guidance to get you started:

    http://msdn.microsoft.com/en-US/library/envdte.tasklist.defaultcommenttoken(v=vs.80).aspx

  • The Ultimate Visual Studio Tips and Tricks Blog

    Keyboard Shortcuts for the Book

    • 12 Comments

     

    Folks,

     

    We just had a meeting the other day and are getting closer to the final draft for the book.  The piece I am most concerned about is how best to convey keyboard shortcut information so it is easy for you to use.  Here is the table structure we were originally thinking:

    image

     

    Notice the actions are on the left and keyboard settings are along the top.  During the discussion I thought it would be more logical to put the keyboard settings along the left and the actions across the top.  My thinking is that when you use the table you will start with your setting and then want to move right along actions you can take.  What do YOU think?  Do you like it the way it is or with the settings and actions switched?

  • The Ultimate Visual Studio Tips and Tricks Blog

    The Immediate Window: Working with Members

    • 12 Comments

    Keyboard:  CTRL + ALT + I
    Menu:  Debug -> Windows -> Immediate
    Command:  Debug.Immediate
    Versions:  2008,2010
    Published:  9/28/2010
    Code:  vstipTool0095

     

    When using with the Immediate Window, you can work with class and object members directly:

     

    Debug

    You can use any method or property as long as it is in context.  So, for example, when you are in debug mode, you can call any method that is in scope:

    image

     

     

    Design

    A less-known feature is you can work with properties and methods while in design mode.  If you have static methods on a class, for example, you can just execute them right away:

    image

     

     

    For object members, obviously, you need to create an instance of the object before working with the members:

    image

     

    WARNING:  When working with members at design-time a build will occur.  This could have unintended consequences so make sure you have experimented with this feature a bit before you use it.

Page 4 of 135 (1,345 items) «23456»