Configuration Extension

As for all nmk projects config items, nmk-vscode ones are all overridable by other plug-ins and project files. But the ones described on this page are specifically designed to be extended.

Settings

VSCode generated settings may be extended by:

  • plugins which want to add support for some language/feature integration in VSCode

  • projects which want to customize some VSCode settings

Following config items may be extended for that purpose:

  • ${vscodeSettingsFiles}: List of settings files to be merged into the generated one. Example:

    vscodeSettingsFiles:
        - ${BASEDIR}/mysettings.json
    
  • ${vscodeSettingsItems}: Dictionary of VSCode settings to be merged into the generated settings file. Example:

    vscodeSettingsItems:
        someSetting: some value
    

Extensions

VSCode generated recommended extensions list may be extended by plugins which want to add support for some language/feature integration in VSCode.

Following config items may be extended for that purpose:

  • ${vscodeExtensionsNames}: List of extensions names to be merged into the generated recommended extensions file. Example:

    vscodeExtensionsNames:
        - some-extension-id
    

Automated tasks

VSCode generated automated tasks file may be extended by plugins which want to add support for some language/feature integration in VSCode.

Following config items may be extended for that purpose:

  • ${vscodeTasksFiles}: List of task files to be merged into the generated one. Example:

    vscodeTasksFiles:
        - ${BASEDIR}/mytasks.json
    
  • ${vscodeNmkTasks}: Dictionary of nmk tasks definitions to be merged into the generated automated tasks file. Example:

    vscodeNmkTasks:
        taskName:
            group: build
            runOn: xxx
    
  • ${vscodeShellTasks}: Dictionary of simple tasks definitions to be merged into the generated automated tasks file. Example:

    vscodeShellTasks:
        taskName:
            group: build
            runOn: folderOpen
            command: ./buildenv.sh init
    

Launch configurations

VSCode generated launch configurations file may be extended by plugins which want to add support for some language/feature integration in VSCode.

Following config items may be extended for that purpose:

  • ${vscodeLaunchFiles}: List of launch configuration files to be merged into the generated one. Example:

    vscodeLaunchFiles:
        - ${BASEDIR}/mylaunch.json