Resharper removes whitespace after runinng Code cleanup. What I mean is:
Person person = new (); // there is a whitespace between `new` and `()`:
However the above code after running Code cleanup becomes without whitespace between new and ():
Person person = new(); // no whitespace between `new` and `()`
Is it possbile to keep whitespace between new and () after running Code cleanup of Resharper.
We are using:
Visual Studio 2022
JetBrains ReSharper 2022.2.3
This is controlled by the Resharper option:
Code editing > C# > Formatting Style > Spaces > Before other parentheses > 'new' parentheses
I might have some degree of OCD, maybe that's why it bothers me when I close a line with ';' below a while{} for{} or other code block and resharper would automatically insert a line break above my line.
I DO NOT want an extra line.
I looked through the Editing option page under braces and new lines, but nothing seems to jump out.
sample:
if (true){
GC.Collect();
}
string s = "Any statement here, ending the line with ';' causes newline above";
Visual Studio (2019) has these formatting settings. I'm assuming you're using VS and resharper isn't doing the formatting.
Tools > Options > Text Editor > C# > Code Style > Formatting > New Line
Find "Place open brace on new line for control blocks". There are a bunch others there as well.
In ReSharper options: Code Editing->C#->Formating Style->Blank Lines - set After statements with child blocks to 0.
Every time I let ReSharper format my code, it removes the blank line I put between the namespace and class declaration.
From this:
namespace Test {
public class Test {
To this:
namespace Test {
public class Test {
It does the same thing with the blank lines at the closing braces of both.
All my "blank line" settings are set to 1, except for single line fields.
Is there an option I'm missing?
This is actually now an option (as of June 2016). Go to ReSharper | Options -> Code Editing | C# | Formatting style | Other and check Line feed at end of file.
Visual Studio menu: ReSharper > Options...
Type in the search box "Line feed at end of file":
Fsck, just 10 minutes ahead of me. Well, I'll answer anyway. Bad news is that it's a long-time feature request http://youtrack.jetbrains.com/issue/RSRP-74903
Good news is that it would fixed in the tomorrow's 7.1 EAP build. There would be new options in ReSharper | Options -> Code Editing | C# | Formatting style | Blank Lines:
Remove blank lines after "{" and before "}" in declarations (turn it off to prevent ReSharper from removing blank line) and
Around namespace and Around type (set it to non-zero value to force ReSharper to add blank lines).
i have a code like this
void method1(param1
,param2
,param3){...}
but when i press ctrl+k , ctrl+d to reformat the class, it will be formatted as flow
void method1(param1
,
param2
,
param3){...}
i know that it will be fix if i put the comma after param Name but i really want it to be before param Name. how can i inform the auto format future of vs2010 to format my method as follow:
void method1(param1
,param2
,param3){...}
Tools > Options > Text Editor > C# > Formatting
if you use resharper loot at here
Have a look at ReSharper you can configure how you want application tidy-ups to be run (along with providing some other useful features).
Can I configure ReSharper to fix C# code when curly braces are not used to surround a single-line code block, like this:
if (blnSomeCondition)
DoSomething(); // complain
if (blnSomeOtherCondition)
{
DoSomethingElse(); // don't complain
}
Thanks
In the new version of ReSharper (2016.x) is has been moved to the Code Style.
UPD1: for ReSharper 2017.x
UPD2: for ReSharper 2018.x
UPD3: for ReSharper 2019.x
UPD4: for ReSharper 2020.x
Ryan is correct (note however that the his link refers to R# 2.0 help). The specific procedure is as follows:
Go to ReSharper > Options > Languages > C# > Formatting Style > Braces Layout
Set "Braces in "if-else" statement" to "Use braces for multiline"
After saving the changes, select a scope to reformat (could be a code selection, file, folder, project, solution - anything you want).
Choose ReSharper > Tools > Cleanup Code.
Profit.
Remember that Code Cleanup does numerous things and they're not only related to code formatting (see details at http://www.jetbrains.com/resharper/webhelp/Code_Cleanup__Index.html), so use the feature wisely.
Gorohoroh's solution is close, but instead of selecting "Use braces for multiline" I had to select "Add braces" to force it to add the braces in the single-line scenario. And I had to set that in all six dropdowns under "Force Braces" to catch all the scenarios:
What I was really hoping for was to be able to set up ReSharper to do a yellow warning or red error when the rule was violated, but I haven't found a way to do that. Because you're right, Gorohoroh, Cleanup Code does a lot of stuff and I'd like to have the option to look at and fix the rule violations one at a time.
Thanks for your help!
For ReSharper 2016.2.2.
You should edit your profile for cleaning up. The proper item is called Add/Remove braces for single statements in "if-else", "for", "foreach", "while", "do-while", "using". This item can be found within the C# => Code styles item.
If the item is checked, braces will be added; if unchecked, braces will be removed.
Note: adding doesn't work now (don't know why - perhaps, too fresh version of ReSharper). However, if you will uncheck the mentioned item, the existent braces around single statements will not be removed.
UPD: The problem solved, see the first two comments under this post.
You can configure it as seen on the screenshot.
PS: for the ones to have problem seeing Imgur.com urls -> https://ibb.co/b4xijT
Just if it can help somebody else to save time, on one machine of my company, following Sergey advices was not enough despite the great quality of his post.
On concerned setup (VS2017, R# 2019, both up to date) these settings on R# side were already good, but I also had to modify it in Visual Studio options :
In Options window, go to Text editor -> C# -> Code style ->
Formatting -> General,
Check "Perform Additional code cleanup
during formatting" and "Add/remove braces for single-line control
statement"
Well it is moved again. The new place is under the Syntax Style on version ReSharper 2020.01.
Go to ReSharper > Options > Code Editing > C# > Syntax Style > Braces
Here is the screen shot from ReSharper 2020.01