I’ve been playing around with refactoring in Visual Studio 2010 (Express) and Blend 4, and I’ve found that it’s a little picky, but I want to make sure I’m doing it right, so…questions:
1) It seems like the best way to refactor (rename say a UserControl, including the xaml and cs filenames) is to do it from Visual Studio within the cs file. Is that correct?
1a) What’s the easiest way to rename a control when you’re working in Blend? (I do this often.)
2) In the Java tools I’m used to, renaming always implies refactoring (automatically changing not only class names but file names also). But in Blend/VS, it seems there’s a distinction between the two?
3) Is there a use for renaming a control rather than refactoring, or is rename just for things like resources rather than xaml/cs files?
4) Why doesn’t refactoring a class name change the file name to match automatically?
1,2) In Visual Studio, if you change the name from the Solution Explorer, you will be asked if you also want to change the class name. This will automatically refactor your code. Changing the name from the code (shortcut F2) will only refactor your code and not change the corresponding filenames.
3) Renaming a control (which is also a class) is just refactoring.
4) For one, a file can contain multiple classes.
–EDIT–
Hmm… It seems that renaming a WPF control from the Solution Explorer in VS 2010 Professional also doesn’t prompt for refactoring your code, nor markup. This seems to be an issue with XAML files only, though; rename-refactoring of classes from the solution explorer shoudld work even with express editions.
By the way, I found a nice article on rename-refactoring with VS on MSDN.