Home

Awesome

Ada Utilities

This is a VSCode extension Ada programmers which provides a few utility functions.

Features

Commands

Menus

The above commands are available from the editor context menus.

Problem matchers

Tasks

The GPR tools get the gpr filename from the workspace settings, ada.projectFile which is the same value used in the Ada language server.

Requirements

Not strictly requirements, but these are the two other extensions I use at this time. They make Ada programming a bit easier at least.

Extension Settings

Modify the flags option and add the following to your tasks.json file if your source isn't in ${workspaceFolder}/src:

    "tasks": [
        {
            "type": "adamakeall",
            "flags": "-C /tmp/example -f makefile",
            "problemMatcher": [
                {
                    "fileLocation": [ "autoDetect", "${workspaceFolder}"],
                    "base": "$gprbuild_warnings_info"
                },
                {
                    "fileLocation": [ "autoDetect", "${workspaceFolder}"],
                    "base": "$gprbuild_warnings_info"
                },
                {
                    "fileLocation": [ "autoDetect", "${workspaceFolder}"],
                    "base": "$gprbuild_warnings"
                },
                {
                    "fileLocation": [ "autoDetect", "${workspaceFolder}"],
                    "base": "$gprbuild_errors"
                }
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]

Or, if using gprbuild/gprclean:

    "tasks": [
        {
            "type": "adagprbuild",
            "flags": "",
            "post_flags": "-cargs -v",
            "problemMatcher": [
                {
                    "fileLocation": [ "autoDetect", "${workspaceFolder}"],
                    "base": "$gprbuild_warnings_info"
                },
                {
                    "fileLocation": [ "autoDetect", "${workspaceFolder}"],
                    "base": "$gprbuild_warnings_info"
                },
                {
                    "fileLocation": [ "autoDetect", "${workspaceFolder}"],
                    "base": "$gprbuild_warnings"
                },
                {
                    "fileLocation": [ "autoDetect", "${workspaceFolder}"],
                    "base": "$gprbuild_errors"
                }
             ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "type": "adagprclean",
            "flags": "",
            "problemMatcher": []
        }
    ]

Alter the make args to match your source.

Known Issues

Calling out known issues can help limit users opening duplicate issues against your extension.

Release Notes

Users appreciate release notes as you update your extension.