VSCode API: 访问小地图

VSCode API: Access the minimap

有什么方法可以访问编辑器右侧滚动条旁选择性显示的“小地图”吗?

我最好以像素为单位访问该面板的宽度。

我能做的最好的事情就是读取当前的编辑器配置(也可以从 vscode 设置 UI/JSON 中设置)。

const editorConfig = vscode.workspace.getConfiguration('editor');
const minimapOn = editorConfig.get("minimap.enabled");
const minimapWidth = editorConfig.get("minimap.maxColumn");

但这只列出了最大宽度,而不是当前宽度。


配置编辑器小地图的宽度


小地图是可配置的,不是按像素,而是按字符。 它可以由字符配置的原因是因为它为开发人员提供了一种将 迷你地图的宽度 设置为最长代码行的确切宽度的方法。这是有益的,因为它使小地图尽可能宽,而不会占用任何不必要的 space.


下面是修改编辑器小地图宽度的设置。
// @file Globally Scoped "settings.json" file
{
    "editor.minimap.maxColumn": 75
}
75 可以设置为您选择的任意数量的字符。


现在关于 API

的部分

任何时候您的设置都能满足您的需求,您可以使用 API 将其应用到您的扩展程序。我不想继续解释这个问题的范围之外的任何内容,所以我将提供 link 文档,其中涵盖了使用 VS 代码 [=64] 更改设置的方法=],以及一个向您展示如何使用该方法更改 小地图的列宽 .

的片段
下面显示了扩展程序可能包含的用于更改小地图大小的代码。

    await vscode.workspace
        .getConfiguration()
        .update(
            'editor.minimap.maxColumn', 
            100, 
            vscode.ConfigurationTarget.Global
        );

注意:我在脑海中写下了上面的例子。我知道语义都是正确的,但您可能必须使用它才能让它完全按照您的意愿进行操作。


这里有一些 link 可以帮助您了解自己在做什么。

"vscode.workspace.getConfiguration()" 这可以理解为 program-interface 的基础改变设置。从 API 的这一部分开始,扩展了一些方法、对象、常量和事件,所有这些都用于在 VS Code 中设置、获取和更改配置。

"The Configuration target" 设置您要定位的 settings.json 文件。全局是一个不错的选择,我更喜欢 "workspace"(与 "workspace folder"[=53 不同) =].