我想知道是否可以在 Visual Studio 2013 中使用制表符缩进我的 C# 代码,但保存文件时所有制表符会自动转换为空格。我知道这可以在设置中更改,然后使用自动缩进将其修复到正确的位置,但这不是自动的。
这背后的原因是,我目前在一个小组中工作,其中空格是缩进代码的首选方式,但这种设置对我来说并不方便 - 在超出制表符后必须单击退格键 4 次(或撤消 - 这几乎是同样的不便,尽管不是那么多)很烦人。
我不想干扰我的小组的设置(实际上我也不能),但想要一种更简单的方法来在本地遍历我的代码。我们使用 Git 进行项目共享,所以如果在 VS 中无法做到这一点,也许 Git 可以做到?
注意:我搜索了 Stack 和 Google,但由于关于哪种缩进技术更好的争论而找不到足够的答案。这篇文章也不应该引发有关此问题的另一场讨论。
由于您使用的是 Git,因此您可以尝试签出制表符并在签入时转换为空格。这可能会导致其本身的问题,但也可能会解决您的问题。 如果您感兴趣,这个问题应该告诉您如何做到这一点。 它涉及 Python,但我想如果您将
.py
替换为 .cs
,它也会对 C# 做同样的事情。为了完整性,这是接受的答案:
在您的存储库中,添加一个文件
,其中包含:.git/info/attributes
*.py filter=tabspace
Linux/Unix
现在运行命令:
git config --global filter.tabspace.smudge 'unexpand --tabs=4 --first-only' git config --global filter.tabspace.clean 'expand --tabs=4 --initial'
OS X
首先用brew安装coreutils:
brew install coreutils
现在运行命令:
git config --global filter.tabspace.smudge 'gunexpand --tabs=4 --first-only' git config --global filter.tabspace.clean 'gexpand --tabs=4 --initial'
所有系统
您现在可以查看项目的所有文件。你可以这样做 与:
git checkout HEAD -- **
虽然我也更喜欢选项卡,但我也建议了解如何根据项目的风格有效地使用你的工具。也许你可以找到一种方法,让退格键在找到时删除 4 个空格的集合?
由于您的主要问题涉及格式问题,我建议使用“格式化文档”(Ctrl+K、Ctrl+D 或“编辑”>“高级”>“格式化文档”或“格式选择”)来解决此问题。
它速度很快,可以立即纠正整个文件/部分的缩进,并且您不必担心改变 IDE 保存行为。
如果您试图让一切井井有条当您键入时,您可能无法有效地使用提供的工具。