{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/vscode/issues/14728","repository_url":"https://api.github.com/repos/Microsoft/vscode","labels_url":"https://api.github.com/repos/Microsoft/vscode/issues/14728/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/vscode/issues/14728/comments","events_url":"https://api.github.com/repos/Microsoft/vscode/issues/14728/events","html_url":"https://github.com/Microsoft/vscode/issues/14728","id":186183528,"number":14728,"title":"Debugging - UI/protocol support for \"blackbox script\"/\"Just my code\"","user":{"login":"roblourens","id":323878,"avatar_url":"https://avatars.githubusercontent.com/u/323878?v=3","gravatar_id":"","url":"https://api.github.com/users/roblourens","html_url":"https://github.com/roblourens","followers_url":"https://api.github.com/users/roblourens/followers","following_url":"https://api.github.com/users/roblourens/following{/other_user}","gists_url":"https://api.github.com/users/roblourens/gists{/gist_id}","starred_url":"https://api.github.com/users/roblourens/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roblourens/subscriptions","organizations_url":"https://api.github.com/users/roblourens/orgs","repos_url":"https://api.github.com/users/roblourens/repos","events_url":"https://api.github.com/users/roblourens/events{/privacy}","received_events_url":"https://api.github.com/users/roblourens/received_events","type":"User","site_admin":false},"labels":[{"id":291054922,"url":"https://api.github.com/repos/Microsoft/vscode/labels/debug","name":"debug","color":"1d76db","default":false},{"id":272689392,"url":"https://api.github.com/repos/Microsoft/vscode/labels/feature-request","name":"feature-request","color":"bfe5bf","default":false}],"state":"open","locked":false,"assignee":{"login":"weinand","id":1898161,"avatar_url":"https://avatars.githubusercontent.com/u/1898161?v=3","gravatar_id":"","url":"https://api.github.com/users/weinand","html_url":"https://github.com/weinand","followers_url":"https://api.github.com/users/weinand/followers","following_url":"https://api.github.com/users/weinand/following{/other_user}","gists_url":"https://api.github.com/users/weinand/gists{/gist_id}","starred_url":"https://api.github.com/users/weinand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/weinand/subscriptions","organizations_url":"https://api.github.com/users/weinand/orgs","repos_url":"https://api.github.com/users/weinand/repos","events_url":"https://api.github.com/users/weinand/events{/privacy}","received_events_url":"https://api.github.com/users/weinand/received_events","type":"User","site_admin":false},"assignees":[{"login":"weinand","id":1898161,"avatar_url":"https://avatars.githubusercontent.com/u/1898161?v=3","gravatar_id":"","url":"https://api.github.com/users/weinand","html_url":"https://github.com/weinand","followers_url":"https://api.github.com/users/weinand/followers","following_url":"https://api.github.com/users/weinand/following{/other_user}","gists_url":"https://api.github.com/users/weinand/gists{/gist_id}","starred_url":"https://api.github.com/users/weinand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/weinand/subscriptions","organizations_url":"https://api.github.com/users/weinand/orgs","repos_url":"https://api.github.com/users/weinand/repos","events_url":"https://api.github.com/users/weinand/events{/privacy}","received_events_url":"https://api.github.com/users/weinand/received_events","type":"User","site_admin":false},{"login":"isidorn","id":1926584,"avatar_url":"https://avatars.githubusercontent.com/u/1926584?v=3","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}],"milestone":{"url":"https://api.github.com/repos/Microsoft/vscode/milestones/30","html_url":"https://github.com/Microsoft/vscode/milestones/November%202016","labels_url":"https://api.github.com/repos/Microsoft/vscode/milestones/30/labels","id":2029906,"number":30,"title":"November 2016","description":"","creator":{"login":"dbaeumer","id":1931590,"avatar_url":"https://avatars.githubusercontent.com/u/1931590?v=3","gravatar_id":"","url":"https://api.github.com/users/dbaeumer","html_url":"https://github.com/dbaeumer","followers_url":"https://api.github.com/users/dbaeumer/followers","following_url":"https://api.github.com/users/dbaeumer/following{/other_user}","gists_url":"https://api.github.com/users/dbaeumer/gists{/gist_id}","starred_url":"https://api.github.com/users/dbaeumer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dbaeumer/subscriptions","organizations_url":"https://api.github.com/users/dbaeumer/orgs","repos_url":"https://api.github.com/users/dbaeumer/repos","events_url":"https://api.github.com/users/dbaeumer/events{/privacy}","received_events_url":"https://api.github.com/users/dbaeumer/received_events","type":"User","site_admin":false},"open_issues":139,"closed_issues":50,"state":"open","created_at":"2016-09-26T20:19:36Z","updated_at":"2016-10-31T23:38:38Z","due_on":"2016-11-30T00:00:00Z","closed_at":null},"comments":3,"created_at":"2016-10-31T01:45:19Z","updated_at":"2016-11-01T00:20:40Z","closed_at":null,"body":"Chrome devtools calls this \"Blackboxed scripts\" and VS/F12 use \"Library code\" and \"Just my code\".\n\nThis feature has been requested several times - examples, https://github.com/Microsoft/vscode-chrome-debug-core/issues/7, https://github.com/Microsoft/vscode-node-debug/issues/16.\n\nIt could be implemented entirely in the debug adapter, with a new option in the launch config, and I hope to do that to try it out. But when I've used it, I've found it most useful when I can mark a script as \"library code\" on the fly. For this, we would need a context menu option on the callstack which can mark/unmark a particular script as library code, debug protocol support, and a toggle button to globally enable/disable the feature. (For the last item, we could use the 'exceptionBreakpointFilters' - is there anything wrong with reusing that for something besides exception breakpoints?) We also need to persist these.\n\nThis is implemented by the chrome debugging protocol. For reference it looks like this - https://chromedevtools.github.io/debugger-protocol-viewer/v8/Debugger/#method-setBlackboxPatterns - but we really just need a message that includes a DebugProtocol.Source and the library code state. I think this is of general interest since VS implements it for Javascript, C++, C# and other languages.\n\nThoughts/comments?\n"},"comment":{"url":"https://api.github.com/repos/Microsoft/vscode/issues/comments/257459065","html_url":"https://github.com/Microsoft/vscode/issues/14728#issuecomment-257459065","issue_url":"https://api.github.com/repos/Microsoft/vscode/issues/14728","id":257459065,"user":{"login":"roblourens","id":323878,"avatar_url":"https://avatars.githubusercontent.com/u/323878?v=3","gravatar_id":"","url":"https://api.github.com/users/roblourens","html_url":"https://github.com/roblourens","followers_url":"https://api.github.com/users/roblourens/followers","following_url":"https://api.github.com/users/roblourens/following{/other_user}","gists_url":"https://api.github.com/users/roblourens/gists{/gist_id}","starred_url":"https://api.github.com/users/roblourens/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roblourens/subscriptions","organizations_url":"https://api.github.com/users/roblourens/orgs","repos_url":"https://api.github.com/users/roblourens/repos","events_url":"https://api.github.com/users/roblourens/events{/privacy}","received_events_url":"https://api.github.com/users/roblourens/received_events","type":"User","site_admin":false},"created_at":"2016-11-01T00:20:39Z","updated_at":"2016-11-01T00:20:39Z","body":"Cool. I can write something more comprehensive if needed. Another optional UI feature that I didn't mention is that VS and F12 collapse library code frames into one, so that you see\r\n\r\n```\r\nmyCode.js\r\n[library code]\r\nmyCode.js\r\n```\r\n\r\ninstead of \r\n\r\n```\r\nmyCode.js\r\nreact.js\r\nreact.js\r\nreact.js\r\nmyCode.js\r\n```\r\n\r\nbut you can double-click to expand"}}
{"actor":{"display_login":"roblourens"}}