Add ability to "start review", to enter review mode and submit comments in a batch, rather than submitting each immediately
Problem to solve
As a reviewer of a merge request, I want to enter "review mode" by clicking "start review," so that the extension will not submit any of my comments until I click "Complete Review" in the MR overview.
As the author of a merge request, I don't want to receive comments (and therefore notifications about them, whether in GitLab UI or Slack/chat integrations) until a review is complete.
Proposal
Currently, as a reviewer of an MR, the GitLab web interface gives me the option to "start a review," so that I can defer submitting comments until I've finished. This has a number of benefits. For example, as the author, it reduces notification spam. As the reviewer, it allows me to edit a comment if I realize later in the review that it doesn't make sense. And as the author, it gives me confidence that once I receive a comment, the reviewer has completed their review and I can begin responding to their feedback.
The proposal in this issue is to add this feature to the VSCode extension, as well. The mode of interaction could be similar to that of the web UI. When I add a comment, there should be an option in addition to "submit," called "Start a review" (if I'm not currently in review mode), or "Add to review" (if I'm currently in review mode). Finally, when I'm satisfied with the review, I should be able to navigate to the MR overview and click "Submit Review" (and optionally leave a final comment).
Further details
The VSCode GitHub extension has this feature, and I imagine it could work in a similar way. I am including some screenshots of the workflow from that extension.
Leave Comment - "Start Review" or "Add Comment" (not in review mode)
Pending Comment - I've left a comment but have not completed review (in review mode)
Adding Subsequent Comment – I've left a comment and want to add another one to the review (in review mode)
Viewing Pending Review – I clicked "Go to Review" and can leave a final comment, and/or submit the review (in review mode)
Links / references
- Code repository for the VSCode GitHub Pull Request Extension: https://github.com/microsoft/vscode-pull-request-github
- Original PR that implemented first version of this for the GitHub extension: https://github.com/microsoft/vscode-pull-request-github/commit/cd7f73ae8c6f7a339337e1f9b85823375f131ef2



