我们正在升级(重写)SDK5的代码。
就像在SDK3中一样,我注意到某些C \ H文件使用“ Windows”新线(即两个chars:'\ r \ n'),并且大多数文件都使用非窗口新线(只有a'\ n'char)。
有些文件甚至使用两种样式:
。
。
。
。
。
。
。
。
。
。
。
。
。
。
Windows新线在KEIL4上是可取的 - 例如,我注意到,如果您在预处理器宏上单击F12以找到其定义,则仅在.h文件使用Windows Newlines时,编辑器才会跳到确切的定义行(\ r \ n)。
如果您想要我的Python脚本来修复所有这些文件,请与我联系。
Oren Zomer
设备:
亲爱的对话。
我注意到与Oren Zomer相同的新线条混合物。
您是否打算将新行更改为通用格式?
我还建议使用Kiel时Windows New Lines。
此致,
Ciano Frost
丹麦
嗨,ciano,
我不知道SDK团队在下一个SDK版本中是否有计划,但是我会通过您的请求。
谢谢mt_dialog
我注意到SDK 5.0.4还包含“ unix newlines” - 即没有“ \ r”的“ \ n”。
这是我写的一个简单的python脚本,用于修复所有.c和.h文件中的新线(从“ \ n”到“ \ r \ n”):
导入操作系统
导入OS.Path
导入fnMatch
def fix_newlines(main_dir):
对于root,dirnames,os.walk中的文件名(main_dir):
对于fnmatch.filter(文件名,'*。[CH]')的文件名:
filepath = os.path.join(root,fileName)
f = open(filepath,'rb')
txt = f.read()
f.close()
new_txt = txt.replace('\ r \ n','\ n')。替换('\ n','\ r \ n')
如果new_txt!= txt:
打印“ fixing%s”%(filepath,)
打开(filepath,'wb')。写(new_txt)
如果__name__ =='__ main __':
导入系统
fix_newlines(sys.argv [1])
打印“完成”