【问题标题】:VS Code Extension: How do you set an order/priority to the extension's settings/configurations?VS Code 扩展:如何设置扩展设置/配置的顺序/优先级?
【发布时间】:2019-03-15 15:01:01
【问题描述】:

将设置/配置添加到“贡献”和“配置”下的扩展 package.json 文件时,无论我以什么顺序放置它们,它们都会出现在“文件”| “偏好” | “设置” | “我的分机”按字母顺序排列。并非所有信息都按字母顺序呈现是合乎逻辑的,有时信息通常以特定顺序呈现,而与字母顺序无关。

例如,我需要以下内容显示为“设置 C”、“设置 B”,然后是“设置 A”。以下仍将按“设置 A”、“设置 B”、然后“设置 C”的顺序显示。

"contributes": {
    "configuration": [
        {
            "type": "object",
            "title": "My Extension",
            "properties": {
                "my-extension.settingB": {
                    "type": "string",
                    "default": "Sample B",
                    "description": "This is a test B setting."
                },
                "my-extension.settingA": {
                    "type": "string",
                    "default": "Sample A",
                    "description": "This is a test A setting."
                },
                "my-extension.settingC": {
                    "type": "string",
                    "default": "Sample C",
                    "description": "This is a test C setting."
                }
            }
        }
    ]
},

我一直在梳理VS Code API: Contribution Points、Extension Guides 和 Google,但似乎无法找到/是否可以为扩展程序的设置/配置设置顺序或优先级。

这是可用的吗?这似乎是一个相当基本的请求,因为并非所有数据都需要按字母顺序排序。

我已尝试遵守所有发帖规则,但这是我的第一篇帖子,如果我没有正确执行某些操作,请告诉我。

【问题讨论】:

    标签: visual-studio-code vscode-extensions


    【解决方案1】:

    看起来扩展设置排序即将进入 vscode v1.63。它现在可以在 Insiders Build 中使用。见Test: Extension settings ordering。

    "contributes": {
        "configuration": [
            {
                "type": "object",
                "title": "My Extension",
                "properties": {
                    "my-extension.settingB": {
                        "type": "string",
                        "default": "Sample B",
                        "description": "This is a test B setting.",
                        "order" 2
                    },
                    "my-extension.settingA": {
                        "type": "string",
                        "default": "Sample A",
                        "description": "This is a test A setting.",
                        "order": 3
                    },
                    "my-extension.settingC": {
                        "type": "string",
                        "default": "Sample C",
                        "description": "This is a test C setting.",
                        "order": 1
                    }
                }
            }
        ]
    },
    

    注意上面的新 order 属性。

    从上面的链接:

    带有顺序字段的设置是根据升序排序的,因此 订单 -2 的设置在订单 25 的设置之前。它没有 不管使用什么实际数字,只要有顺序 给定的。

    设置级别的订单字段仅适用于其中的设置 类别。

    没有订单字段的设置将放置在其末尾 类别按字母顺序排列。这也意味着如果有两个设置 无论出于何种原因,相同的类别具有相同的订单号,他们 应按字母顺序排序。

    更复杂的例子见settings order package.json example

    【讨论】:

      【解决方案2】:

      目前看来这确实是不可能的。 VSCode repo 上有一个相关问题,似乎证实了这一点:

      Explore extending settings schema with additional metadata (#51778)

      是的,我希望能够对设置进行分组、排序,或许还可以隐藏一些设置。目前,字母顺序导致所有 GitLens 的高级设置都排在列表的首位,这远非理想。

      还相关:Settings UI is overwhelming for extensions with lots of settings (#70589)

      【讨论】:

      • 感谢您的第二次查看,我不确定我是否只是遗漏了一些东西。我没有发现那个 GitHub 问题。如果有更新,我会订阅并更新这篇文章。
      【解决方案3】:

      对订单进行更多控制确实会有所帮助。分组也会有帮助。不将相关项目组合在一起可能会导致用户混淆。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-08
        • 2022-06-21
        • 1970-01-01
        • 2021-05-14
        • 1970-01-01
        • 2015-07-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多