我想知道是否可以使用制表符在Visual Studio 2013中缩进我的C#代码,但保存文件时所有标签会自动转换为空格。我知道这可以在设置中更改,然后autoindenting用于将其修复到正确的,但这不是自动的。
这背后的原因是我目前正在一个空间被优先考虑缩进代码的组中工作,但是这个设置对我来说不方便 - 在超出选项卡(或撤消 - 之后)必须单击退格4次几乎是同样的不便,虽然没那么多)很烦人。
我不想干扰我的小组的设置(实际上也不能),但是想要一种更简单的方法来遍历我的代码。我们使用Git进行项目共享,所以如果在VS中无法做到这一点,Git可以做到吗?
注意:我搜索了Stack和Google,但由于有关哪种缩进技术更好的争论而找不到足够的答案。这篇文章也没有被要求开始关于这个的另一个讨论。
答案 0 :(得分:1)
我不明白为什么你不想使用空格而不是标签。
必须在超出标签后点击退格4次(或撤消 - 这几乎是同样的不便,尽管不是那么多)非常烦人
我可以理解,如果你没有使用正确的键盘快捷键,这很烦人。
使用 TAB 和 SHIFT + TAB ,您可以使用已配置的空格量更改选区的缩进。
您可以在此处配置:
工具> 选项> 文字编辑器> C#> 标签> 插入空格
还可以看到
编辑> 高级> (取消/)选中选定的行
答案 1 :(得分:1)
由于您的主要问题涉及格式问题,我建议您使用格式文档(Ctrl + K,Ctrl + D或编辑>高级>格式文档或格式选择)来解决此问题。
它可以快速完成整个文件/部分的缩进,并且您不必担心会改变IDE保存行为。
如果您尝试将所有内容组织得井井有条 as-you-type-it ,您可能无法有效地使用提供的工具。
答案 2 :(得分:1)
由于你正在使用Git,你可以尝试签出标签并在登记时转换为空格。这可能会导致问题,但也可能解决您的问题。 This question should tell you how to do that if you're interested.它处理Python,但我想如果用.py
替换.cs
,它对C#也会这样做。这里是accepted answer的完整性:
在您的存储库中,添加一个文件
.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个空格的退格删除集?