Чтение конфигурации расширения из файла конфигурации

#visual-studio-code #vscode-extensions

#visual-studio-code #vscode-расширения

Вопрос:

Пожалуйста, помогите прочитать значения конфигурации из точки ввода конфигурации. В ${extension_path}package.json я как следующий раздел:

 {
    "name": "markdown-table-of-contents",
    "displayName": "Generate table of contents for markdown",
    "publisher": "dkultasev",
    "description": "",
    "version": "0.0.1",
    "engines": {
        "vscode": "^1.31.0"
    },
    "categories": [
        "Other"
    ],
    "activationEvents": [
        "onCommand:extension.sqlGenerateYAMLComment"
    ],
    "main": "./out/extension.js",
    "contributes": {
        "configuration": {
            "title": "Default name to use for YAML comment block",
            "properties": {
                "markdown-table-of-contents.author_name": {
                    "type": [
                        "string",
                        "Change Name"
                    ],
                    "default": null,
                    "description": "Specify default name when generating YAML comment block"
                }
            }


        }
...
  

затем в extension_folder.vscodesettings.json у меня есть настройка "markdown-table-of-contents.author_name": "Dmitrij Kultasev" и в коде расширения я пытаюсь получить эти значения:

 const name = vscode.workspace.getConfiguration('markdown-table-of-contents').get('author_name');
  

и это так, Change Name но я ожидаю, Dmitrij Kultasev как настроено в settings.json файле

Комментарии:

1. Вы уверены? Я получаю, null когда я console.log() это, не undefined , что ожидается, поскольку это "default" . Когда я меняю значение по умолчанию на строку, оно также сообщает эту строку, как и ожидалось.

2. да, это [s null, извините. Изменен вопрос

3. Тогда я не понимаю вопроса — конечно, null это ожидаемый результат, поскольку это указанное вами значение по умолчанию?

4. Да, но эта часть работает и для меня. Конечно, это не может быть просто файл с произвольным именем settings.json , он должен быть либо глобальным settings.json , либо рабочей областью .vscode/settings.json .

5. extension_folder.vscodesettings.json ? Вы имеете в виду workspace_folder.vscodesettings.json ?