A Note about using MonoDevelop and Custom Formatting.

November 12, 2013 - 3 comments. Posted by in Programming.

I ran into an issue with MonoDevelop that was extremely annoying. I upgraded to the latest unity build this morning and it came bundled with a new version of MonoDevelop (4.0.1). There seems to be some nice changes in here but one of the first things I noticed was that my code was not being formatted correctly. My first attempt was to configure C# formatting via the preferences pane… I spent sometime making things look right hit ok and …. nothing. Worst of all, I restarted MonoDevelop and found that all my settings had been reset. After trial, error, research and heart palpitations here is what I found.

MonoDevelop y u no save settings

MonoDevelop y u no save settings

I did some research and found that those settings are only for new solutions, and any existing solution had to be customized individually via Project->Solution Options. I did that, and things started getting better. I was able to modify the indentation and spacing settings and upon hitting save it no longer looked like a grenade went off in my CS file. Shortly afterwards I did a Synch MonoDevelop project within Unity….. ALL MY SETTING GOT RESET again! Now, I had foreseen something like this happening so I saved off a few files (sln, userprefs, etc..). Needless to say I was unable to restore my settings no matter what I did. In the end I found the true solution to this issue.

Below you’ll find steps that will help you save your custom code formatting settings for C# in MonoDevelop, even if they are reset by unity after doing a synch you’ll be able to quickly restore them.

1. MonoDevelop->Custom Policies

2. Add Policy (Button on top right)

3. Setup formatting the way you like.

4. Export it to a file. (I’m keeping mine in source control so I can restore it on different machines)

5. With the solution open, goto: Project->Apply Policy. Note: You can import from a file, but you’ll likely have your new policy available via drop-down if you are on the same machine it was created with.

6. Relief. Your settings are restored. No more code grenades.

Hope this helps!

Share Button


Leave a comment

Share Button

Sign Up for the Newsletter

Get the latest updates.

RSS Game News

  • Layoffs loom at Radiant Worlds after SkySaga development halts 08/22/2017
    With development stalled, Radiant Worlds was unable to renew its contract with its publisher, cutting the studio off from its only income source and putting every position within the development house in jeopardy. ...
  • Blog: A gentle introduction to Steamworks 08/22/2017
    If you're just getting started with trying to implement Steam into your Unity game, it can be hard to know where to look. Here's a guide that should help you kick on with Steamworks. ...