payload: {"action":"created","issue":{"url":"https://api.github.com/repos/microsoft/vscode/issues/86788","repository_url":"https://api.github.com/repos/microsoft/vscode","labels_url":"https://api.github.com/repos/microsoft/vscode/issues/86788/labels{/name}","comments_url":"https://api.github.com/repos/microsoft/vscode/issues/86788/comments","events_url":"https://api.github.com/repos/microsoft/vscode/issues/86788/events","html_url":"https://github.com/microsoft/vscode/issues/86788","id":536720027,"node_id":"MDU6SXNzdWU1MzY3MjAwMjc=","number":86788,"title":"Refactoring documentation contribution point","user":{"login":"mjbvz","id":12821956,"node_id":"MDQ6VXNlcjEyODIxOTU2","avatar_url":"https://avatars2.githubusercontent.com/u/12821956?v=4","gravatar_id":"","url":"https://api.github.com/users/mjbvz","html_url":"https://github.com/mjbvz","followers_url":"https://api.github.com/users/mjbvz/followers","following_url":"https://api.github.com/users/mjbvz/following{/other_user}","gists_url":"https://api.github.com/users/mjbvz/gists{/gist_id}","starred_url":"https://api.github.com/users/mjbvz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjbvz/subscriptions","organizations_url":"https://api.github.com/users/mjbvz/orgs","repos_url":"https://api.github.com/users/mjbvz/repos","events_url":"https://api.github.com/users/mjbvz/events{/privacy}","received_events_url":"https://api.github.com/users/mjbvz/received_events","type":"User","site_admin":false},"labels":[{"id":290465400,"node_id":"MDU6TGFiZWwyOTA0NjU0MDA=","url":"https://api.github.com/repos/microsoft/vscode/labels/api","name":"api","color":"1d76db","default":false,"description":"Issues & items concerning the VS Code extension API"},{"id":869332220,"node_id":"MDU6TGFiZWw4NjkzMzIyMjA=","url":"https://api.github.com/repos/microsoft/vscode/labels/api-proposal","name":"api-proposal","color":"c5def5","default":false,"description":"Issues and discussion of a proposed new API functionality"},{"id":431507554,"node_id":"MDU6TGFiZWw0MzE1MDc1NTQ=","url":"https://api.github.com/repos/microsoft/vscode/labels/editor-code-actions","name":"editor-code-actions","color":"c5def5","default":false,"description":"Editor inplace actions (Ctrl + .)"}],"state":"open","locked":false,"assignee":{"login":"mjbvz","id":12821956,"node_id":"MDQ6VXNlcjEyODIxOTU2","avatar_url":"https://avatars2.githubusercontent.com/u/12821956?v=4","gravatar_id":"","url":"https://api.github.com/users/mjbvz","html_url":"https://github.com/mjbvz","followers_url":"https://api.github.com/users/mjbvz/followers","following_url":"https://api.github.com/users/mjbvz/following{/other_user}","gists_url":"https://api.github.com/users/mjbvz/gists{/gist_id}","starred_url":"https://api.github.com/users/mjbvz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjbvz/subscriptions","organizations_url":"https://api.github.com/users/mjbvz/orgs","repos_url":"https://api.github.com/users/mjbvz/repos","events_url":"https://api.github.com/users/mjbvz/events{/privacy}","received_events_url":"https://api.github.com/users/mjbvz/received_events","type":"User","site_admin":false},"assignees":[{"login":"mjbvz","id":12821956,"node_id":"MDQ6VXNlcjEyODIxOTU2","avatar_url":"https://avatars2.githubusercontent.com/u/12821956?v=4","gravatar_id":"","url":"https://api.github.com/users/mjbvz","html_url":"https://github.com/mjbvz","followers_url":"https://api.github.com/users/mjbvz/followers","following_url":"https://api.github.com/users/mjbvz/following{/other_user}","gists_url":"https://api.github.com/users/mjbvz/gists{/gist_id}","starred_url":"https://api.github.com/users/mjbvz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjbvz/subscriptions","organizations_url":"https://api.github.com/users/mjbvz/orgs","repos_url":"https://api.github.com/users/mjbvz/repos","events_url":"https://api.github.com/users/mjbvz/events{/privacy}","received_events_url":"https://api.github.com/users/mjbvz/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/microsoft/vscode/milestones/110","html_url":"https://github.com/microsoft/vscode/milestone/110","labels_url":"https://api.github.com/repos/microsoft/vscode/milestones/110/labels","id":4856564,"node_id":"MDk6TWlsZXN0b25lNDg1NjU2NA==","number":110,"title":"December/January 2020","description":"","creator":{"login":"isidorn","id":1926584,"node_id":"MDQ6VXNlcjE5MjY1ODQ=","avatar_url":"https://avatars2.githubusercontent.com/u/1926584?v=4","gravatar_id":"","url":"https://api.github.com/users/isidorn","html_url":"https://github.com/isidorn","followers_url":"https://api.github.com/users/isidorn/followers","following_url":"https://api.github.com/users/isidorn/following{/other_user}","gists_url":"https://api.github.com/users/isidorn/gists{/gist_id}","starred_url":"https://api.github.com/users/isidorn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/isidorn/subscriptions","organizations_url":"https://api.github.com/users/isidorn/orgs","repos_url":"https://api.github.com/users/isidorn/repos","events_url":"https://api.github.com/users/isidorn/events{/privacy}","received_events_url":"https://api.github.com/users/isidorn/received_events","type":"User","site_admin":false},"open_issues":220,"closed_issues":118,"state":"open","created_at":"2019-11-18T15:37:45Z","updated_at":"2019-12-17T00:10:57Z","due_on":null,"closed_at":null},"comments":5,"created_at":"2019-12-12T02:28:01Z","updated_at":"2019-12-17T00:12:09Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"## Problem\r\nMany language/extension implement really cool refactorings, but many users never discover these or figure out how to reliably trigger them.\r\n\r\n## Proposal\r\nAdd a way for an extension to contribute documentation for their refactorings. Our goal here would be to help users reach the documentation and leave the presentation of the documentation up to extensions themselves.\r\n\r\n## Target UX\r\nLet users explicitly request to see the refactoring documentation from the existing code action refactor menu. This could be as simple as a `Learn more` entry at the bottom of the refactoring menu.\r\n\r\nThe `learn more` action would do the following:\r\n\r\n- If we are in a language that only has one refactoring documentation provider, then show that documentation directly\r\n- If we are in a language with multiple refactoring documentation providers, show a quick pick so that users can tell us which documentation they are interested in (this is similar to how our remote documentation works today)\r\n\r\n## API\r\nI see two possible ways this could be implemented:\r\n\r\n#### Through a contribution point\r\nCreate a new `refactoringDocumentation` contribution point that lets extension define a command that shows the documentation:\r\n\r\n```json\r\n\"contributations\": {\r\n    \"refactoringDocumentation\": {\r\n          \"command\": \"catFactoring.openDocs\",\r\n          \"displayName\": \"CatFactoring refactoring documentation\"\r\n    }    \r\n}\r\n```\r\n\r\n#### Through a new `refactor.documentation` code action kind\r\nDefine a special code action kind called `refactor.documentation`. If an extension returns a code action with this kind, then we could surface this using some special UI in the refactor menu\r\n\r\n(extensions would be expected to return the `refactor.documentation` action whenever refactorings are requested)\r\n\r\n/cc @kieferrm \r\n/cc @jrieken for api\r\n/cc @misolori for ux\r\n"},"comment":{"url":"https://api.github.com/repos/microsoft/vscode/issues/comments/566309837","html_url":"https://github.com/microsoft/vscode/issues/86788#issuecomment-566309837","issue_url":"https://api.github.com/repos/microsoft/vscode/issues/86788","id":566309837,"node_id":"MDEyOklzc3VlQ29tbWVudDU2NjMwOTgzNw==","user":{"login":"mjbvz","id":12821956,"node_id":"MDQ6VXNlcjEyODIxOTU2","avatar_url":"https://avatars2.githubusercontent.com/u/12821956?v=4","gravatar_id":"","url":"https://api.github.com/users/mjbvz","html_url":"https://github.com/mjbvz","followers_url":"https://api.github.com/users/mjbvz/followers","following_url":"https://api.github.com/users/mjbvz/following{/other_user}","gists_url":"https://api.github.com/users/mjbvz/gists{/gist_id}","starred_url":"https://api.github.com/users/mjbvz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjbvz/subscriptions","organizations_url":"https://api.github.com/users/mjbvz/orgs","repos_url":"https://api.github.com/users/mjbvz/repos","events_url":"https://api.github.com/users/mjbvz/events{/privacy}","received_events_url":"https://api.github.com/users/mjbvz/received_events","type":"User","site_admin":false},"created_at":"2019-12-17T00:12:09Z","updated_at":"2019-12-17T00:12:09Z","author_association":"CONTRIBUTOR","body":"@DanTup If you have a webpage that documents refactorings, you could link users to that. It doesn't need to be anything fancy to start off, just a list and a quick description of what each refactoring does\r\n\r\n---\r\n\r\n@akaroml Good points about the LSP support.\r\n\r\nOne other consideration with using code actions to return documentation is that other editors would likely not know what to do with the returned `Refactor.documentation` items besides showing them inline in the code action list (which is probably not what you want)\r\n\r\n---\r\n\r\n@jrieken I also like the idea of idea of integrating this with our other documentation exploration but worry that may take a while to finalize. Maybe we should try delivering a scoped solution that only handles code actions so that Java and others can play around with the idea, and then look into how this would fit with our larger documentation/getting started experiences?\r\n\r\n"}}
other: {"actor":{"display_login":"mjbvz"}}