DevMethod VS Tools | Functions overview

This tool streamlines the developer experience in DevOps, aiding in tasks like writing accurate check-in comments, annotating methods appropriately, and associating the right work items with each check-in.

The format for the text used in Visual Studio is centrally managed in the DevMethod Tool and shared using a blob in Azure.

Key Features

  1. Consistency and Traceability:
      It enforces a simple development policy where each task should be linked to a parent work item, be it a bug, user story, or other designations.
  2. Guided Work Selection:
      The tool reviews selections in the "My Work" and "Pending Changes" tabs of the team explorer. If related work items aren't chosen, the tool informs you about the oversight and specifies what's missing. It reviews both parent and child level items for accuracy, highlighting any discrepancies and offering automated corrections. To save even more time the it is possible to configure the tool to add the missing releated work items automatically.

  3. Automation:
      The main motivation for this tool is to ensure that all developers can work in a uniform way and that cumbersome tasks are remove, such as keep track of all the work item id’s and writing a check in comment, commenting code with meaningful information. It is hard to describe the advantages of this tool, but it is a huge time saver and it makes the developer experience much more enjoyable. The tool is also very flexible and can be configured to fit your needs.

Historical Evolution

The plugin was originally designed to assist Axapta developers transition to their roles as D365FO developers using Visual Studio, it's been molded over years through hands-on experience with D365FO implementation projects.

The emergence of DevOps concepts like work items, boards, and backlogs was new territory for many developers. This tool helps them focus on core tasks, primarily coding.

In essence, while its primary purpose is to assist Dynamics 365FO developers in adapting to modern workflows, its capabilities have evolved based on user requirements, it is equally useful for all other development tasks in Visual Studio targeting an Azure DevOps project using TFVC.

In the projects it has been used it is regarded as a vital part of the tools used all the time in Visual Studio and when it’s not there it is greatly missed.

1 | Recent Changes

The "Recent Changes" tab displays the user's latest 10 modifications and the most recent 100 changes made by all developers in the DevOps project. This feature was inspired by a Microsoft sample that greatly aided my understanding of developing plugins for Team Explorer. While I initially planned to omit it, its value was quickly recognized by our development team, so it was retained. Kudos to Microsoft for their intuitive and helpful sample.

2 | Prepare Work – Extension of the My Work page

A section is added to the My Work page, it is integrated with the “In Progress Work” section and will complement with functions that will help the developer to select the correct work items and related work items. Some of the useful functions is the ability to verify the selected work items and add missing work items. The function will identify the work items that should be added by analyzing the relations between work items. It also gives the possibility to add multiple work items in one operation.

    • Verifying the chosen work items.
    • Auto populating any missing work items based on their relations.
    • Providing feedback on selected work items, pointing out any discrepancies, not just cryptic error messages, guide the developer on what to do to fix the issue.
    • Add multiple work items in one operation as a alternative to the standard add work item dialog.

3 | Prepare Check In – Extension of the Pending Changes page

On the "Pending Changes" page, a new section titled "Prepare Check In" has been introduced. This section is designed to validate selected work items and generate meaningful check-in comments, seamlessly integrating with the standard "Related Work Items" section. Its features include:

    • Verifying the chosen work items.
    • Auto populating any missing work items based on their relations.
    • Providing feedback on selected work items, pointing out any discrepancies, not just cryptic error messages, guide the developer on what to do to fix the issue.
    • Add multiple work items in one operation as a alternative to the standard add work item dialog.
    • Crafting Check-in comments automatically.

4 | Editor tools - Enhancements to editor

The editor tools are designed to help the developer to write meaningful comments and to comment code with meaningful information. The editor tools are available in the editor and in the context menu.

  1. Documentation Assistance:
      Adds class descriptions with configured content such as developer name, reference to work items, date time and more. Inserts XML remarks in method documentation, the content and format is configured centrally for all developers. The content of all generated text is configurable with constants taken from the current context and defined centrally for all developers.
  2. Direct Access from Code:
      Work item references incorporated by the tool can be accessed directly from within the code. This is to give some of the functionality available in Code Lens for other languages.
  3. Standardized Format:
      The tool offers configurable centrally maintained formats, ensuring uniformity in how developers document changes and check-ins, as per project decisions.

5 | Change sets work list - Merge code between branches

When code is to be moved from one branch to another branch a list of change sets is available in visual studio, the list is sorted in the order that the change sets should be merged. When a change set is merged the developer ticks the check mark and continue with the next. When all is done it is signed off and closed. There is a specific work process that is important to follow in this task to utilize all the capabilities of the tool. By following the process here there is big benefits in the work process for all members in the project.

 DevMethodVS Tools Work List for change sets

The result of the work process here is visible here in the change set tracking. Check in comments reflect exactly what has been done by whom and when, this give us a good overview on what needs to be done in the project to meet the targets. It also shows that the source of the change set, the change set 2031 has been cherry picked from change set 2030. By using the Change sets work list, the correct work items will be referred to and a useful check in comment will be generated with just a click of a button.

TFV Change set trace