visual-studio - 如何在 Visual Studio 中控制换行的缩进
问题描述
我有 Visual Studio 2019(家里的社区;办公室的专业人士)。我也有 ReSharper。我将行长设置为 120;缩进 4,并在右括号或分号上自动格式化。语言是 C#
问题是换行的缩进是完全不可预测的(至少对我来说)。有时它会像我预期的那样缩进 4 个字符;有时它在括号下或在=>
同一运算符的右侧(如&&
)。所以,经常换行从字符 80 或 90 开始!
我怎样才能让它总是从上一行缩进 4 个字符?
不用说,我在 Visual Studio 和 Resharper 代码编辑 - 格式选项下尝试了十几种选项组合。Visual Studio 似乎没有任何选项可以推动新产品线。Resharper 在 C# - Formatting style 下有括号部分。但是没有什么能让包装变得简单
例子:
lstGroup.Select(s => new Group
{
...
Status = lookup.Where(w => w.LookupType == LookupConstants.CRIMETYPE &&
(int?)w.LookupIndex == (string.IsNullOrEmpty(s.TempCrimeType) ? 0
: Convert.ToInt32(s.TempCrimeType))).Select(w => w.LookupDescription).FirstOrDefault(),
...
});
(可能不清楚,但线条不会越过 char;所以我希望它保持这种状态!)。在语句末尾打分号后,它变成
Status = lookup.Where(w => w.LookupType == LookupConstants.CRIMETYPE &&
(int?) w.LookupIndex == (string.IsNullOrEmpty(s.TempCrimeType)
? 0
: Convert.ToInt32(s.TempCrimeType))).Select(w => w.LookupDescription).FirstOrDefault(),
解决方案
我不确定您是否可以完全简化包装语句/表达式的缩进,但以下选项应该使它更容易。如果某些事情仍然让您感到恼火,请用示例修改您的问题。
制表符、缩进、对齐
- 将“括号”部分中的所有选项设置为“括号和内部相等”
- 关闭“对齐多行结构”中的所有选项
支撑布局
- 将“表达式(初始化程序,开关表达式)”设置为“在下一行缩进(Whitesmiths 样式)”
- 还要考虑是否要将“Lambda 和委托”也更改为相同的样式
更新:为防止 ReSharper 重新包装您的代码,请转到“换行和换行”页面并查找名为“Wrap ...”的选项,其值为“Chop if long or multiline”和“Chop always”。根据需要将它们更改为“简单包装”。您可能还需要确保打开所有“保留现有排列...”选项。您的特定示例受称为“包装三元表达式”的设置的影响。
推荐阅读
- python - Tensorflow 模型 Ram 使用率在测试期间持续上升
- docker - 显示所有 docker 卷的大小而不安装它们
- python - 如何使用工厂和伪造者在 Django 中生成唯一数据?
- python - GEOS_ERROR:ParseException:未知 WKB 类型 337
- maven - 解决来自 Maven 存储库的依赖项时出错
- machine-learning - 为什么深度学习中层数越多越好?
- c++ - 语法错误:Windows sdk 文件的“常量”
- javascript - 如何为多行和动画制作这个js动画效果?
- javascript - 如何在从 src 文件夹加载时以百分比显示加载
- apple-push-notifications - 在 PHP 中获取 APN 的提供者令牌