如何控制 Visual Studio 中换行的缩进

菲利克斯

我有 Visual Studio 2019(家庭社区;办公室专业人士)。我也有 ReSharper。我将行长设置为 120;在 4 处缩进,并在大括号或分号上自动格式化。语言是 C#

问题是包裹线的缩进是完全不可预测的(至少对我而言)。有时它会像我期望的那样缩进 4 个字符;有时它在括号下或在=>同一运算符的右侧(如&&)。因此,经常换行的行从字符 80 或 90 开始!

如何使它始终从上一行缩进 4 个字符?

不用说,我在 Visual Studio 和 Resharper Code Editing - Formatting 选项下尝试了十几种选项组合。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(),
    ...
});

(可能不清楚,但线条不会越过字符;所以我希望它保持这种状态!)。在语句末尾打分号后,它变成

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 重新包装您的代码,请转到“换行和换行”页面并查找名为“包装...”的选项,其值为“Chop if long or multiline”和“Chop always”。根据需要将它们更改为“简单包装”。您可能还想确保所有“保留现有安排...”选项都已打开。您的特定示例受称为“包装三元表达式”的设置的影响。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

迷失在 Visual Studio 2017 设置中——如何设置缩进?

如何在Visual Studio Code中更改缩进?

如何在Visual Studio Code中粘贴和缩进?

如何在Visual Studio Code中隐藏缩进箭头?

如何在Visual Studio操作中输出换行?

如何在Mac的Visual Studio中启用自动换行?

(Visual Studio代码)如何缩进选择?

Visual Studio中的缩进快捷方式

如何在Visual Studio 2017中创建Visual c ++ MFC控制台项目

如何在Visual Studio 2019中关闭自动缩进?(不是视觉工作室代码)

如何在Visual Studio 2017中获取格式以正确缩进Razor(vbhtml)代码?

如何在Visual Studio 2015中的各种文件上应用缩进?

如何修复 WPF (Visual Studio 2019) 中的 xaml.cs 缩进问题?

在Visual Studio中运行源代码控制

在 Visual Studio 中开发的软件的版本控制

Visual Studio C#输出中的换行

如何在Notepad ++中缩进换行的文本?

如何缩进无序列表中的换行?

如何在 Visual Studio 测试控制器中自动删除测试结果

如何在Visual Studio 2013的“主窗口框架控制”窗格中添加按钮?

如何在 Visual Studio 中为版本控制配置 Python 搜索路径?

如何从 Visual Studio 中的视图导航到 MVC 控制器的操作

如何在Visual Studio 2013中向WebApi项目添加MVC帐户控制器?

如何在Visual Studio控制台应用程序中终止脚本

如何在Visual Studio代码中同时查看终端,调试控制台和输出屏幕?

如何在Visual Studio 2017中完全删除或禁用版本控制集成

如何在Visual Studio中查找MVC控制器方法的引用

如何在Visual Studio Code中启动Chrome控制台

如何使用Visual Studio将Unicode打印到C中的输出控制台?