【问题标题】:Navigation bar is case sensitive sorted in Visual Studio 2017导航栏在 Visual Studio 2017 中区分大小写
【发布时间】:2017-05-30 07:44:06
【问题描述】:

我注意到,在 Visual Studio 2017(15.2、26430.6)和 C++ 文件中,导航栏中的函数列表以区分大小写的方式排序(见下图)。这在 Visual Studio 2010 中并非如此。

另一方面,解决方案资源管理器和类视图都显示使用不区分大小写的顺序排序的函数和方法。

是否有任何选项、配置文件、免费插件等可以用来改变这种行为?以这种方式检查文件非常困难。

到目前为止,我发现的唯一东西,但不是免费的,是 Supercharge plugin,它似乎提供了自己的导航栏。


  1. 在 Visual Studio 2017 中

  2. 在 Visual Studio 2010 中打开相同的项目

注意:我感兴趣的是如何解决这个问题,而不是代码样式建议、混合大小写指南、减少每个文件的函数数量等。我知道这不是最佳实践,但项目就是这样,我必须处理它。


更新:我今天早上已升级到 VS 2017 15.2 (26430.12),但此问题仍然存在。

【问题讨论】:

    标签: c++ visual-studio-2010 visual-c++ visual-studio-2017 code-navigation


    【解决方案1】:

    这个问题确实是在一年半前报告给微软的,但是昨天这个问题被关闭为 Won't fix,所以似乎没有官方的解决方案。

    Here你可以找到错误报告和关闭问题的原因。

    【讨论】:

      【解决方案2】:

      这确实感觉像是一种回归(可能与引入 SQLite 作为 IntelliSense 数据库后端有关?) - 您应该提交错误,但是您与 Microsoft 的协议允许。 FWIW,一些逆向工程表明,在 VS 2017 中,排序是由 SQLite 数据库引擎完成的。在打开数据库连接时,VS 安装自己的排序规则(通过https://sqlite.org/c3ref/create_collation.html),它调用WORD 并在需要按符号名称排序时显式使用它(即查询在其文本中具有ORDER BY i.name COLLATE WORD),因为它是对于那个组合框。 collat​​ion 函数的实现将 UTF-8 字符转换为 UTF-32,并在对数学符号等进行一些特殊的大小写之后,最终对其进行序数比较。在我看来是故意的。

      【讨论】:

        猜你喜欢
        • 2014-06-10
        • 2021-03-27
        • 2023-04-08
        • 1970-01-01
        • 1970-01-01
        • 2017-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多