10. Huge List of New Features!Breakpoint LabelingBreakpoint SearchingBreakpoint Import/ExportDynamic Data ToolingWPF Tree VisualizerCall HierarchyImproved WPF ToolingHistorical DebuggingMini-Dump DebuggingQuick SearchBetter Multi-Monitor SupportHighlight ReferencesParallel Stacks WindowParallel Tasks WindowDocument Map MarginGenerate From UsageConcurrency ProfilerInline Call TreeExtensible Test RunnerMVC ToolingWeb DeployJQuery IntellisenseSharePoint ToolingHTML SnippetsWeb.config TransformationClick-Once Enhancements for Microsoft Office
13. Highlighting ReferencesCTRL+SHIFT+DOWN ARROW (forward) CTRL+SHIFT+UP ARROW (reverse) Automatic highlighting of a symbolCan be used with declarations, references, and many other symbols
14. Navigate ToCTRL + ,Provides search-as-you-type support for symbolsEnables quick searching based on case usage
15. Docking WindowsNew Guide DiamondWindows can be docked anywhereCan now pull document windows outside the IDE
16. Call Hierarchy (C# only)CTRL + K, TUsed to see calls to and from a methodGreat way to see calls at design time
17. ZoomCTRL + Mouse WheelNew feature that enhances the size of your codeVery useful for pair programming (or similar scenarios)
18. Generate from UsageUsed to automatically create stub codeEnables you to use classes and members before you define them
19. Intellisense Suggestion ModeCTRL + ALT + SPACEUsed when classes and members are used before they are definedHelps to reduce situations where IntelliSense inserts unintended text into the editor
24. ThreadingCompletely redesigned threading windowNow provides filtering, call-stack searching and expansion, and groupingNew columns added:Affinity masksProcess namesManaged IDs
25. DumpsYou can save a dump file and debug it later, either on the build computer or on another computer that has the source files and debugging symbolsCan read dump files that contain information about managed code, unmanaged code, or a mixture of both
26. Parallel Tasks and StacksUsed to visualize and debug parallel code that is written in C++, C#, or Visual BasicUsing the Parallel Stacks window, you can view multiple call stacks at the same time in a single viewParallel Tasks allow you to see multiple tasks and the corresponding status of those tasks
32. Web.config Transforms You can create configuration file transforms to modify your project's Web.config file to work with various deployment environmentshttp://blogs.msdn.com/webdevtools
33. One-Click Web DeploymentWith Visual Studio 2010, MSDeploy is integrated directly into Visual StudioOnce you have your profiles configured, you can easily deploy to a given environment with a single click
39. ResourcesWhat’s New in Visual Studio 2010http://msdn.microsoft.com/en-us/library/bb386063(VS.100).aspxVisual Studio on MSDNhttp://msdn.microsoft.com/vstudioVisual Studio 2010 Tips and Trickshttp://blogs.msdn.com/zainnab
46. Client ProfileSubset of the full .NET Framework Leveraged for faster deploymentsTwo SectionsClient ProfileExtendedStreamlined pieces of Windows Presentation Foundation (WPF)Windows FormsWindows Communication Foundation (WCF)ClickOnce
58. Visual BasicAuto-Implemented PropertiesShortened syntax that enables you to quickly specify a property of a class without having to write codeCollection InitializerShortened syntax that enables you to create a collection and populate it with an initial set of valuesImplicit Line ContinuationEnables you to continue a statement on the next consecutive line without using the underscore character Public Property Owner As String = "DefaultName"Function AddStuff(ByValfirst As Integer,ByValsecond As Integer ) As IntegerReturnfirst + secondEnd FunctionPublic PropertyItems As New List(Of String)= {“M“, “T“, “W“}
59. C#Dynamic TypeOperations that contain expressions of type dynamic are not resolved or type checked by the compiler. The compiler packages together information about the operation, and that information is later used to evaluate the operation at run timeOptional and Named ParametersNamed arguments enable you to specify an argument for a particular parameter by associating the argument with the parameter's name rather than with the parameter's position in the parameter list.Optional arguments enable you to omit arguments for some parameters. Both techniques can be used with methods, indexers, constructors, and delegates.
60. C#: - dynamic keyword - named and optional parameters
61. F#IDE support for F#Interactive F# for prototyping codeAsynchronous constructsParallel constructsImmutable data types
69. New Sync Primitives in .NET 4Thread-safe, scalable collectionsIProducerConsumerCollection<T>ConcurrentQueue<T>ConcurrentStack<T>ConcurrentBag<T>ConcurrentDictionary<TKey,TValue>Phases and work exchangeBarrier BlockingCollection<T>CountdownEventPartitioning{Orderable}Partitioner<T>Partitioner.CreateException handlingAggregateExceptionInitializationLazy<T>LazyInitializer.EnsureInitialized<T>ThreadLocal<T>LocksManualResetEventSlimSemaphoreSlimSpinLockSpinWaitCancellationCancellationToken{Source}ManyCore: http://microoftpdc.com/Sessions/P09-09 (50:00)
70. Parallelize For LoopsControl flow is a primary source of workParallelizable when iterations are (or can be made) independentSynchronousAll work quiesces, regularly or exceptionallyLots of knobsCancelation, breaking, task-local state, custom partitioning, scheduling, degree of parallelismforeach(var item in data) { work(item);}for (int i = 0; i < n; i++) { work(i);}StatementA();StatementB;StatementC();Parallel.ForEach(data, item=>{ work(item);});Parallel.For(0, n, i=> { work(i);});Parallel.Invoke( () => StatementA(), () => StatementB, () => StatementC());ManyCore: http://microsoftpdc.com/Sessions/P09-09
75. Design By ContractSystem.Diagnostics.ContractsCode Contracts introduce a way to specify contractual information that is not represented by a method or type’s signature aloneScenarios for using contracts include:Perform static bug finding, which enables some bugs to be found without executing the codeCreate guidance for automated testing tools to enhance test coverageCreate a standard notation for code behavior, which provides more information for documentationpublic Boolean ExampleMethod(String parameter) { if (parameter == null) throw newArgumentNullException("parameter must be non-null"); }http://msdn.microsoft.com/devlabs
76. Data TypesBigIntegerImmutable type that represents an arbitrarily large integer whose value in theory has no upper or lower boundsSortedSet<T>Provides a self-balancing tree that maintains data in sorted order after insertions, deletions, and searches
77. I/OMemory-Mapped FileUsed to edit very large files and to create shared memory for inter-process communicationStream.CopyToAllows you to copy the contents of one stream into another
80. ASP.NET WebformsAbility to set meta tagsMore control over view stateAdded and Updated browser definition filesASP.NET RoutingThe ability to persist selected rows in data controlsMore control over rendered HTML in the FormView and ListView controlsFiltering support for data source controls
81. Dynamic DataA RAD experience for quickly building a data-driven Web siteAutomatic validation that is based on constraints defined in the data modelThe ability to easily change the markup that is generated for fields in the GridView and DetailsView controls by using field templates