{
	"version": "0.1.0",
	"configurations": [
		{
			"type": "node",
			"request": "launch",
			"name": "Gulp Build",
			"program": "${workspaceFolder}/node_modules/gulp/bin/gulp.js",
			"stopOnEntry": true,
			"args": [
				"hygiene"
			]
		},
		{
			"type": "node",
			"request": "attach",
			"name": "Attach to Extension Host",
			"port": 5870,
			"restart": true,
			"outFiles": [
				"${workspaceFolder}/out/**/*.js"
			]
		},
		{
			"type": "node",
			"request": "attach",
			"name": "Attach to Shared Process",
			"port": 5871,
			"outFiles": [
				"${workspaceFolder}/out/**/*.js"
			]
		},
		{
			"type": "node",
			"request": "attach",
			"name": "Attach to Search Process",
			"port": 5876,
			"outFiles": [
				"${workspaceFolder}/out/**/*.js"
			]
		},
		{
			"type": "node",
			"request": "attach",
			"name": "Attach to CLI Process",
			"port": 5874,
			"outFiles": [
				"${workspaceFolder}/out/**/*.js"
			]
		},
		{
			"type": "node",
			"request": "attach",
			"name": "Attach to Main Process",
			"port": 5875,
			"outFiles": [
				"${workspaceFolder}/out/**/*.js"
			]
		},
		{
			"type": "extensionHost",
			"request": "launch",
			"name": "VS Code Emmet Tests",
			"runtimeExecutable": "${execPath}",
			"args": [
				"${workspaceFolder}/extensions/emmet/test-fixtures",
				"--extensionDevelopmentPath=${workspaceFolder}/extensions/emmet",
				"--extensionTestsPath=${workspaceFolder}/extensions/emmet/out/test"
			],
			"outFiles": [
				"${workspaceFolder}/out/**/*.js"
			]
		},
		{
			"type": "extensionHost",
			"request": "launch",
			"name": "VS Code API Tests (single folder)",
			"runtimeExecutable": "${execPath}",
			"args": [
				// "${workspaceFolder}", // Uncomment for running out of sources.
				"${workspaceFolder}/extensions/vscode-api-tests/testWorkspace",
				"--extensionDevelopmentPath=${workspaceFolder}/extensions/vscode-api-tests",
				"--extensionTestsPath=${workspaceFolder}/extensions/vscode-api-tests/out/singlefolder-tests"
			],
			"outFiles": [
				"${workspaceFolder}/out/**/*.js"
			]
		},
		{
			"type": "extensionHost",
			"request": "launch",
			"name": "VS Code API Tests (workspace)",
			"runtimeExecutable": "${execPath}",
			"args": [
				"${workspaceFolder}/extensions/vscode-api-tests/testworkspace.code-workspace",
				"--extensionDevelopmentPath=${workspaceFolder}/extensions/vscode-api-tests",
				"--extensionTestsPath=${workspaceFolder}/extensions/vscode-api-tests/out/workspace-tests"
			],
			"outFiles": [
				"${workspaceFolder}/out/**/*.js"
			]
		},
		{
			"type": "extensionHost",
			"request": "launch",
			"name": "VS Code Tokenizer Tests",
			"runtimeExecutable": "${execPath}",
			"args": [
				"${workspaceFolder}/extensions/vscode-colorize-tests/test",
				"--extensionDevelopmentPath=${workspaceFolder}/extensions/vscode-colorize-tests",
				"--extensionTestsPath=${workspaceFolder}/extensions/vscode-colorize-tests/out"
			],
			"outFiles": [
				"${workspaceFolder}/out/**/*.js"
			]
		},
		{
			"type": "chrome",
			"request": "attach",
			"name": "Attach to VS Code",
			"port": 9222
		},
		{
			"type": "chrome",
			"request": "launch",
			"name": "Launch VS Code",
			"windows": {
				"runtimeExecutable": "${workspaceFolder}/scripts/code.bat"
			},
			"osx": {
				"runtimeExecutable": "${workspaceFolder}/scripts/code.sh"
			},
			"linux": {
				"runtimeExecutable": "${workspaceFolder}/scripts/code.sh"
			},
			"urlFilter": "*workbench.html*",
			"runtimeArgs": [
				"--inspect=5875", "--no-cached-data"
			],
			"skipFiles": [
				"**/winjs*.js"
			],
			"webRoot": "${workspaceFolder}"
		},
		{
		    "type": "node",
		    "request": "launch",
		    "name": "Launch VS Code (Main Process)",
		    "runtimeExecutable": "${workspaceFolder}/scripts/code.sh",
		    "runtimeArgs": [
		        "--no-cached-data"
		    ],
		    "outFiles": [
		        "${workspaceFolder}/out/**/*.js"
		    ]
		},
		{
			"type": "node",
			"request": "launch",
			"name": "Git Unit Tests",
			"program": "${workspaceFolder}/extensions/git/node_modules/mocha/bin/_mocha",
			"stopOnEntry": false,
			"cwd": "${workspaceFolder}/extensions/git",
			"outFiles": [
				"${workspaceFolder}/extensions/git/out/**/*.js"
			]
		},
		{
			"type": "extensionHost",
			"request": "launch",
			"name": "Markdown Extension Tests",
			"runtimeExecutable": "${execPath}",
			"args": [
				"${workspaceFolder}/extensions/markdown-language-features/test-fixtures",
				"--extensionDevelopmentPath=${workspaceFolder}/extensions/markdown-language-features",
				"--extensionTestsPath=${workspaceFolder}/extensions/markdown-language-features/out/test"
			],
			"outFiles": [
				"${workspaceFolder}/extensions/markdown-language-features/out/**/*.js"
			]
		},
		{
			"type": "extensionHost",
			"request": "launch",
			"name": "TypeScript Extension Tests",
			"runtimeExecutable": "${execPath}",
			"args": [
				"${workspaceFolder}/extensions/typescript-language-features/test-fixtures",
				"--extensionDevelopmentPath=${workspaceFolder}/extensions/typescript-language-features",
				"--extensionTestsPath=${workspaceFolder}/extensions/typescript-language-features/out/test"
			],
			"outFiles": [
				"${workspaceFolder}/extensions/typescript-language-features/out/**/*.js"
			]
		},
		{
			"type": "node",
			"request": "launch",
			"name": "Unit Tests",
			"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
			"runtimeExecutable": "${workspaceFolder}/.build/electron/Code - OSS.app/Contents/MacOS/Electron",
			"windows": {
				"runtimeExecutable": "${workspaceFolder}/.build/electron/Code - OSS.exe"
			},
			"linux": {
				"runtimeExecutable": "${workspaceFolder}/.build/electron/code-oss"
			},
			"outputCapture": "std",
			"args": [
				"--delay",
				"--timeout",
				"2000"
			],
			"cwd": "${workspaceFolder}",
			"env": {
				"ELECTRON_RUN_AS_NODE": "true"
			},
			"outFiles": [
				"${workspaceFolder}/out/**/*.js"
			]
		},
		{
			"type": "node",
			"request": "launch",
			"name": "Launch Smoke Test",
			"program": "${workspaceFolder}/test/smoke/out/main.js",
			"cwd": "${workspaceFolder}/test/smoke",
			"timeout": 240000,
			"port": 9999,
			"args": [
				"-l",
				"${workspaceFolder}/.build/electron/Code - OSS.app/Contents/MacOS/Electron"
			],
			"outFiles": [
				"${cwd}/out/**/*.js"
			],
			"env": {
				"NODE_ENV": "development",
				"VSCODE_DEV": "1",
				"VSCODE_CLI": "1"
			}
		},
		{
			"name": "Launch Built-in Extension",
			"type": "extensionHost",
			"request": "launch",
			"runtimeExecutable": "${execPath}",
			"args": [
				"--extensionDevelopmentPath=${workspaceRoot}/extensions/debug-auto-launch"
			]
		}
	],
	"compounds": [
		{
			"name": "Debug VS Code Main and Renderer",
			"configurations": [
				"Launch VS Code",
				"Attach to Main Process"
			]
		},
		{
			"name": "Search and Renderer processes",
			"configurations": [
				"Launch VS Code",
				"Attach to Search Process"
			]
		},
		{
			"name": "Renderer and Extension Host processes",
			"configurations": [
				"Launch VS Code",
				"Attach to Extension Host"
			]
		}
	]
}
