Sam's vscode configs:
{
"version": "2.0.0",
"runner": "terminal",
"echoCommand": true,
"tasks": [
{
"label": "build chrome",
"command": "autoninja",
"args": [
"-C${workspaceRoot}/out/Linux",
"chrome"
],
"problemMatcher": []
},
{
"label": "build android",
"command": "autoninja",
"args": [
"-C${workspaceRoot}/out/Android",
"chrome_public_apk"
],
"problemMatcher": []
},
{
"label": "run android",
"command": "out/Android/bin/chrome_public_apk",
"args": [
"run"
],
"dependsOn": [
"build android"
],
"problemMatcher": []
},
{
"label": "build content_shell",
"command": "autoninja",
"args": [
"-C${workspaceRoot}/out/Android",
"content/shell:content_shell"
],
"problemMatcher": [
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*):(\\d+):(\\d+):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*?):(.*):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"severity": 3,
"message": 4
}
}
]
},
{
"label": "build components_browsertests",
"command": "autoninja",
"args": [
"-C${workspaceRoot}/out/Linux",
"components_browsertests"
],
"problemMatcher": [
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*):(\\d+):(\\d+):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*?):(.*):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"severity": 3,
"message": 4
}
}
]
},
{
"label": "build blink_tests",
"command": "autoninja",
"args": [
"-C${workspaceRoot}/out/Linux",
"blink_tests"
],
"problemMatcher": [
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*):(\\d+):(\\d+):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*?):(.*):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"severity": 3,
"message": 4
}
}
]
},
{
"label": "2-build_chrome_release",
"command": "ninja -C out/Release -j 2000 chrome",
"problemMatcher": [
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*):(\\d+):(\\d+):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*?):(.*):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"severity": 3,
"message": 4
}
}
]
},
{
"label": "3-build_all_debug",
"command": "ninja -C out/Android -j 2000",
"problemMatcher": [
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*):(\\d+):(\\d+):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*?):(.*):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"severity": 3,
"message": 4
}
}
]
},
{
"label": "4-build_all_release",
"command": "ninja -C out/Release -j 2000",
"problemMatcher": [
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*):(\\d+):(\\d+):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*?):(.*):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"severity": 3,
"message": 4
}
}
]
},
{
"label": "5-build_test_debug",
"command": "ninja -C out/Android -j 2000 unit_tests components_unittests browser_tests",
"problemMatcher": [
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*):(\\d+):(\\d+):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*?):(.*):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"severity": 3,
"message": 4
}
}
]
},
{
"label": "6-build_current_file",
"command": "compile_single_file --build-dir=out/Android --file-path=${file}",
"problemMatcher": [
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*):(\\d+):(\\d+):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*?):(.*):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"severity": 3,
"message": 4
}
}
]
},
{
"label": "build content_unittests",
"command": "ninja",
"args": [
"-C${workspaceRoot}/out/Linux",
"-j 2000",
"content/test:content_unittests"
],
"problemMatcher": [
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*):(\\d+):(\\d+):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*?):(.*):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"severity": 3,
"message": 4
}
}
]
},
{
"label": "build components_unittests",
"command": "ninja",
"args": [
"-C${workspaceRoot}/out/Linux",
"-j 2000",
"components_unittests"
],
"problemMatcher": [
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*):(\\d+):(\\d+):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*?):(.*):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"severity": 3,
"message": 4
}
}
]
},
{
"label": "run components_browsertests",
"command": "${workspaceRoot}/out/Linux/components_browsertests",
"dependsOn": [
"build components_browsertests"
],
"args": [
"--gtest_filter=SmsTest.*"
],
"problemMatcher": []
},
{
"label": "run components_unittests",
"command": "${workspaceRoot}/out/Linux/components_unittests",
"dependsOn": [
"build components_unittests"
],
"args": [
"--gtest_filter=SmsManagerTest.*"
],
"problemMatcher": []
},
{
"label": "run content_unittests",
"command": "${workspaceRoot}/out/Linux/content_unittests",
"dependsOn": [
"build content_unittests"
],
"args": [
"--gtest_filter=SmsManagerTest.*"
],
"problemMatcher": [
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*):(\\d+):(\\d+):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
{
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^../../(.*?):(.*):\\s+(warning|\\w*\\s?error):\\s+(.*)$",
"file": 1,
"severity": 3,
"message": 4
}
}
]
},
{
"label": "run content_shell",
"command": "${workspaceRoot}/out/Android/content_shell",
"dependsOn": [
"build content_shell"
],
"args": [
"--enable-experimental-web-platform-features",
"--enable-blink-features=IdleDetection",
"http://localhost:8001/idle-detection/idle-manual.html"
],
"problemMatcher": []
},
{
"label": "run web_tests",
"command": "./third_party/blink/tools/run_web_tests.py",
"args": [
"--target",
"Linux",
"external/wpt/sms/"
],
"dependsOn": [
"build blink_tests"
],
"problemMatcher": []
},
{
"label": "run global_interface_listing",
"command": "./third_party/blink/tools/run_web_tests.py",
"args": [
"--target",
"Linux",
"webexposed/global-interface-listing.html"
],
"dependsOn": [
"build blink_tests"
],
"problemMatcher": []
},
{
"label": "run server",
"command": "python",
"args": [
"third_party/blink/tools/run_blink_wptserve.py",
"-t",
"Linux"
],
"dependsOn": [
"build blink_tests"
],
"problemMatcher": []
},
{
"label": "run chrome",
"command": "./out/Linux/chrome",
"args": [
"--enable-blink-features=MojoJS,MojoJSTest",
"--enable-experimental-web-platform-features",
"http://localhost:8081/idle-detection/interceptor.https.html"
],
"dependsOn": [
"build chrome"
],
"problemMatcher": []
}
]
}
// Place your key bindings in this file to overwrite the defaults
[
// Run the task marked as "isTestCommand": true, see tasks.json.
{ "key": "ctrl+shift+t", "command": "workbench.action.tasks.test" },
// Jump to the previous change in the built-in diff tool.
{ "key": "ctrl+up", "command": "workbench.action.compareEditor.previousChange" },
// Jump to the next change in the built-in diff tool.
{ "key": "ctrl+down", "command": "workbench.action.compareEditor.nextChange" },
// Jump to previous location in the editor (useful to get back from viewing a symbol definition).
{ "key": "alt+left", "command": "workbench.action.navigateBack" },
// Jump to next location in the editor.
{ "key": "alt+right", "command": "workbench.action.navigateForward" },
// Get a blame view of the current file. Requires the annotator extension.
{ "key": "ctrl+alt+a", "command": "annotator.annotate" },
// Toggle header/source with the Toggle Header/Source extension (overrides the
// key binding from the C/C++ extension as I found it to be slow).
{ "key": "alt+o", "command": "togglehs.toggleHS" },
// Quickly run a task, see tasks.json. Since we named them 1-, 2- etc., it is
// suffucient to press the corresponding number.
{ "key": "ctrl+r", "command": "workbench.action.tasks.runTask",
"when": "!inDebugMode" },
// The following keybindings are useful on laptops with small keyboards such as
// Chromebooks that don't provide all keys.
{ "key": "shift+alt+down", "command": "cursorColumnSelectDown",
"when": "editorTextFocus" },
{ "key": "shift+alt+left", "command": "cursorColumnSelectLeft",
"when": "editorTextFocus" },
{ "key": "shift+alt+pagedown", "command": "cursorColumnSelectPageDown",
"when": "editorTextFocus" },
{ "key": "shift+alt+pageup", "command": "cursorColumnSelectPageUp",
"when": "editorTextFocus" },
{ "key": "shift+alt+right", "command": "cursorColumnSelectRight",
"when": "editorTextFocus" },
{ "key": "shift+alt+up", "command": "cursorColumnSelectUp",
"when": "editorTextFocus" },
{ "key": "alt+down", "command": "scrollPageDown",
"when": "editorTextFocus" },
{ "key": "alt+up", "command": "scrollPageUp",
"when": "editorTextFocus" },
{ "key": "alt+backspace", "command": "deleteRight",
"when": "editorTextFocus && !editorReadonly" },
{ "key": "ctrl+right", "command": "cursorEnd",
"when": "editorTextFocus" },
{ "key": "ctrl+shift+right", "command": "cursorEndSelect",
"when": "editorTextFocus" },
{ "key": "ctrl+left", "command": "cursorHome",
"when": "editorTextFocus" },
{ "key": "ctrl+shift+left", "command": "cursorHomeSelect",
"when": "editorTextFocus" },
]