首页 > 解决方案 > 使用语句排序时的预期排序行为是什么

问题描述

因此,我们最近遇到了一个问题,即根据所使用的编辑器(VS Code 与 Visual Studio 正确)对包含行进行排序会导致差异,从而导致文件来回翻转。

老实说,我不确定这是 Visual Studio 代码问题,还是 Visual Studio 问题,所以要尝试在这里询问是否有人可以指出我的“预期”行为。

问题基本上是这样的。

从这组未排序的 using 语句开始。

using System.CommandLine.Invocation;
using System.CommandLine.IO;
using System.Threading.Tasks;
using System.CommandLine;
using System;
using System.Diagnostics;
using System.IO;
using Google.Protobuf.Reflection;
using System.Text;

在 VS Code 的命令面板中使用升序排序命令产生 ->

using Google.Protobuf.Reflection;
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
using System.CommandLine.IO;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Threading.Tasks;

在 Visual Studio 中使用排序线(编辑->高级->排序线)时(Visual Assist 给出相同的结果)。我也在 Notepad++ 中尝试过,并且在使用词法排序选项时也得到了相同的结果。

using Google.Protobuf.Reflection;
using System.CommandLine.Invocation;
using System.CommandLine.IO;
using System.CommandLine;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using System;

然而,真正使问题感到困惑的是,如果我将输入块更改为使用 qouted 字符串(我意识到格式错误,但类似于 c++ 包含),则行为会翻转

从此开始

using "System.CommandLine.Invocation";
using "System.CommandLine.IO";
using "System.Threading.Tasks";
using "System.CommandLine";
using "System";
using "System.Diagnostics";
using "System.IO";
using "Google.Protobuf.Reflection";
using "System.Text";

在 VS Code 中,排序行命令产生

using "Google.Protobuf.Reflection";
using "System.CommandLine.Invocation";
using "System.CommandLine.IO";
using "System.CommandLine";
using "System.Diagnostics";
using "System.IO";
using "System.Text";
using "System.Threading.Tasks";
using "System";

使用 Visual Studio、Visual Assist 和 Notepad++ 时,我们得到以下信息

using "Google.Protobuf.Reflection";
using "System";
using "System.CommandLine";
using "System.CommandLine.IO";
using "System.CommandLine.Invocation";
using "System.Diagnostics";
using "System.IO";
using "System.Text";
using "System.Threading.Tasks";

如果有人可以解释预期的行为应该是什么,以及为什么引用的字符串与未引用的字符串排序不同。

标签: c#visual-studiosortinglexical

解决方案


推荐阅读