7

For example, if I change the signature in a function in either the header or the cpp, I'd like it to automatically change in the other one. If I add a new function in either, it should appear in both. If I delete a function, it could probably comment out the other one. Manually having to duplicate one's changes seems silly.

Some people have mentioned http://www.lazycplusplus.com/ in response to a similar question, but it seems that that's a command line tool which would require saving and then running this external tool on a particular file. That's still more manual steps than I would have thought were necessary; I'd like this to apply changes as I type.

2
  • I was looking for that feature too, but didn't find it up to now... But stackoverflow.com/questions/976467/… tells that there is some solution. Commented Apr 9, 2010 at 13:40
  • Microsoft have recently released a free extension that performs rename (only) refactoring within Visual C++. See here Commented Feb 24, 2015 at 12:18

1 Answer 1

5

What you're looking for is refactoring in Visual C++ which is unfortunately only available via third-party plugins and to my knowledge not in an "as you type" fashion.

I'm using the excellent Visual Assist X which allows for renaming methods, changing signatures and much more.

Sign up to request clarification or add additional context in comments.

2 Comments

I agree that VA X is good, but I find having to manually drill down to "change signature" and editing it inside a dialog almost the same effort as copy/pasting. Would be great if it all just worked automatically.
Yes, indeed. But at least it also updates the references to the renamed methods which is a huge helper when there are many calls of the particular method. However, C++ is a rather complex language and current refactoring solutions are almost not comparable to what exists for Java or C#.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.