问题描述
因此,我们最近遇到了一个问题,即根据正在使用的编辑器(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 中使用命令面板中的 Sort Lines Ascending 命令产生 ->
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";
如果有人可以解释预期的行为应该是什么,以及为什么带引号的字符串与未带引号的字符串排序不同。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)