Pau*_*mon 8 c++ windows visual-studio visual-c++
Windows对文件不区分大小写,但Linux很敏感.当你在Linux上开发并注意到Windows团队并不关心它时,这真的很烦人.
有没有办法强制Visual Studio对包含文件区分大小写?
我已经阅读过关于在Linux服务器中每次提交并通知开发人员后进行编译的解决方案,但我不能这样做.我需要一种方法来强制Visual Studio区分大小写,以便Windows团队可以在开发时修复它.
区分大小写不依赖于编译器,而是依赖于底层文件系统.因此,如果文件系统远程安装在Windows机器上,则Linux可能不区分大小写,反之亦然.如果你想在Windows机器上强制区分大小写,我所知道的唯一解决方案是在Unix机器上远程安装文件系统.
请注意,如果您在Linux上进行开发,然后转移到Windows,这应该不是问题.这是一个问题的反面.唯一真正的解决方案是定义并严格执行命名约定.无论如何,你需要代码(因为C++是区分大小写的).所以如果你有一个类FxTrade
,你的编码约定应该坚持它是Fx
,而不是FX
; 这些内容必须在C++代码中强制执行,或者你必须每次都查找它是什么,并且在源代码中强制执行它们的相同代码审查应该在文件名中强制执行它们.
(而且对于它的价值,在Subversion下修复这样的错误真是太痛苦了,因为svn FXTrade.cpp FxTrade.cpp
在Windows下无效;你必须将它移动到其他名称,然后提交,然后将其移动到你想要的名称. )
自 2018 年 2 月 28 日起https://blogs.msdn.microsoft.com/commandline/2018/02/28/per-directory-case-sensitive-and-wsl/您可以选择文件夹在 Windows 中是否区分大小写.
fsutil.exe file setCaseSensitiveInfo <path> enable
fsutil.exe file setCaseSensitiveInfo <path> disable
Run Code Online (Sandbox Code Playgroud)
如果您愿意,该命令不会递归地工作,因此您必须编写类似的内容:
$directories = Get-ChildItem $path -Recurse -Directory
ForEach($dir In $directories)
{
fsutil.exe file setCaseSensitiveInfo $dir.FullName enable
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3307 次 |
最近记录: |