<!-- IF YOUR ISSUE CONCERNS RUNNING/DEBUGGING JAVA CODE, PLEASE OPEN YOUR TICKET IN https://github.com/microsoft/vscode-java-debug/issues --> Refactor the `activate` function (main entry point to extension) to use `await` instead of promise chaining and promise constructors. Why? - The async logic is currently really hard to read - The function is > 300 lines of code, and using `async` could make it shorter - The function contains [`async` promise executors](https://eslint.org/docs/latest/rules/no-async-promise-executor), which are considered bad since they make error handling hard