Source Insight is my favorite editor, and I have used it for more than 10 years. But when employing it to develop Unix
software, you will run into annoying line break issue, which is on windows, the newline is \r\n
while in Unix it is \n
only. Therefore you will see the file edited in Source Insight
will display an extra ^M
in Unix
environment:
#include <stdio.h>^M
^M
int main(void)^M
{^M
printf("\r\n");^M
}^M
To resolve this problem, you can refer this topic in stackoverflow:
To save a file with a specific end-of-line type in Source Insight, select File -> Save As…, then where it says “Save as type”, select the desired end-of-line type.
To set the end-of-line type for new files you create in Source Insight, select Options -> Preferences and click the Files tab. Where it says “Default file format” select the desired end-of-line type.
So you can set Unix
file format as you wanted:
Another caveat you should pay attention is if you use git Windows
client, by default, it will convert the newline of project from \n
to \r\n
directly. My solution is just disabling this auto conversion feature:
git config --global core.autocrlf false
Thank you! This really helps me. Took over one hour to find a solution to the annoying ^M
In my case, when changing the default format setting in SourceInsight. `git diff` still show the ^M, have to put this configuration into GIT.
`git config core.whitespace cr-at-eol`