Child pages
  • ReSharper 4.0 EAP Notes
Skip to end of metadata
Go to start of metadata

C# 3.0 support

Implicitly typed locals and arrays

Fully supported, including suggestions to omit explicit type specification, Introduce Variable refactoring and context actions to convert to implicit or explicit form.

Extension Methods support

Fully supported, with Import Symbol completion (previously known as Type Name completion) after dot which can import suitable extension method and insert appropriate using directive. Analysis will suggest converting invocations from static-like to instance-like form. Context action can convert it back, and there are refactorings to convert static method of static class to Extension Method and update all call sites. There is also reverse refactoring, of course.

Object and collection initializers

Fully supported, with suggestions and context actions to fold series of statements to collection or object to initializer, if possible.

ReSharper also provides smart intellisense features in such places, like completing settable properies or displaying correct parameter information for Add method used in collection initializer.

Automatic properties

Fully supported, with context actions to convert to property with backing field and back. Analysis can show properties which are candidates for conversion. Code generation features may suggest creating automatic property in addition to property with backing field, if appropriate.

Anonymous types

Fully supported. ReSharper can search for similar anonymous types throughout the project or solution, give a name to anonymous type and replace usages, rename properties, suggest reordering properties if two anonymous types look similar and more.

Lambdas

Partially supported. By partially, it means that not all features we want there are ready. The code shouldn't be red and intellisense should be working, but some context actions, quickfixes, analysis and such may be missing. We are actively working on those features, so as time passes ReSharper will be more and more smart about lambdas. We have conversion actions like delegate to lambda and back and some suggestions. Note, that not all features of ReSharper are lambda-aware yet, so they may fail when they happen to operate on lambdas.

LINQ

Fully supported. We import appropriate extension methods, provide intellisensem, a number quickfixes, our refactorings are aware of queries. We also provide special live templates.

Partial methods

Fully supported.

New and updated features

Go to Type, File, Symbol and Find Results

You can now put results of "Go to" features to find results for browsing

External Annotations

Ability to annotate external (non-source) symbols with ReSharper-specific attributes, like CanBeNull and NotNull. Note, that we standardized attribute names for better interoperability and less configuration hassle, so you may need to refactor you code a bit if you use these attributes.

Code Cleanup

Successor of Reformat Code, Optimize Usings and other code cleaning features - all in one interface with many more modules. Includes things like processing readonly fields, removing redundancies, updating file header, converting to automatic properties, replacing explicit types with vars and more. All in batch mode, so that you can instantly clean the whole project or even solution.

Plenty of new analyses

We added many more inspections in ReSharper 4. Some of them are related to C# 3.0 and deal with new language constructs. Also, there are new structure-related inspections, like "if" statement analysis, anonymous method closure analysis, and more. We also added new severity level for analysis results - Hint - which is a lot less intrusive. It does not participate in next/previous highlight navigation and is not shown on error stripe. It simply tells you: "Pssst! Take a look here, it can make your code look better."

Complete Statement

Also known as Smart Enter, it inserts required syntax elements to complete the code you are writing. It can close parentheses as needed, add semicolon, complete constructs such as if, while, for and so on.

Completion with CamelHumps

All kinds of code completion (Symbol completion, Import Symbol Completion and Smart Completion) now supports filtering by CamelHumps, which tremendously speeds things up. E.g. if you know you have DefaultCodeCompletionManager type somewhere you just type DCCM and invoke Import symbol completion. Full type name will be inserted and using directive will be added as needed.

Refactorings

There are new refactorings related to C# 3.0 features, like "Convert Property to Automatic Property" and back, "Convert Static Method to Extension Method" and back and "Name Anonymous Type". "Introduce Variable" is now dialogless and this improves coding flow a lot! Another great new refactoring is "Inline Method", which can replace method call with method body at specific point or all over your code. "Method to Indexer" is a nice addition to "Method to Property" refactoring. There are also improvements in almost all refactorings, both in usability and smartness.

Recent Edits

In addition to Recent Files we created Recent Edits feature, which shows what you've been changing recently. If appropriate, it displays type and member the change occured in.

To-do items on identifiers and string literals

You can now configure ReSharper to search for specific patterns not only in comments, but also in string literals and identifiers. It is quite useful to set NotImplementedException pattern to have a quick access to code you have to write.

Support for solutions using different targets

ReSharper now fully supports solutions where different projects use different versions of CLR like .NET Compact Framework or Silverlight. You can now have e.g. Smart Device projects and normal projects in the same solution and all ReSharper features will work perfectly fine in this scenario.

Project References

This is more like preview of the feature which may or may not come into final bits of ReSharper 4. It can show dependencies between projects and libraries in terms of assembly references.

Live Templates Editor

We are improving usability of Live Templates editor and currently it is large work in progress. Be careful with it if you use custom templates.

Easier creation of new folders through generate (Alt+Insert shortcut)

Dozens of other features

We also have dozens of other minor features, keep track of this tracker query for the current list.

  • No labels