rename class with file name in one step in Visual Studio

Renaming a file works fine - it'll offer to change the code to match:

enter image description here

If you rename the class, then - indeed, this doesn't happen by default. There is no actual need for the two to match, note. But ultimately, rename is only an f2 away.


As of Visual Studio 2015 Preview 5, the "Quick Actions and Refactorings" context menu contains a "Rename file to [class].cs" command.


It seems to not work when the copied file is in the same folder and the class name is the same (which it will be if you just copied the file). I think the reasoning may be that rename doesn't descriminate between a class in a newly copied file and the original (See comment below by @xMichal).

The quick solution is to copy the file (I use ctrl+drag) into a nearby folder, rename, then move it back.

Another option (which may be Resharper specific), is to rename the class (and constructors) in the copied file, then use the tooltip to electively rename the file to match.