{ "name": "python", "displayName": "Python", "description": "Linting, Debugging (multi-threaded, remote), Intellisense, code formatting, refactoring, unit tests, snippets, Data Science (with Jupyter) and more.", "version": "0.4.2", "publisher": "donjayamanne", "author": { "name": "Don Jayamanne", "email": "don.jayamanne@yahoo.com" }, "license": "MIT", "homepage": "http://donjayamanne.github.io/pythonVSCode/", "repository": { "type": "git", "url": "https://github.com/DonJayamanne/pythonVSCode" }, "bugs": { "url": "https://github.com/DonJayamanne/pythonVSCode/issues" }, "icon": "images/icon.svg", "galleryBanner": { "color": "#1e415e", "theme": "dark" }, "engines": { "vscode": "^1.6.0" }, "categories": [ "Languages", "Debuggers", "Linters", "Snippets", "Other" ], "activationEvents": [ "onLanguage:python", "onCommand:python.execInTerminal", "onCommand:python.sortImports", "onCommand:python.runtests", "onCommand:python.setInterpreter", "onCommand:python.viewTestUI", "onCommand:python.viewTestOutput", "onCommand:python.selectAndRunTestMethod", "onCommand:python.runFailedTests", "onCommand:python.execSelectionInTerminal", "onCommand:jupyter.runSelectionLine", "onCommand:jupyter.execCurrentCell", "onCommand:jupyter.execCurrentCellAndAdvance", "onCommand:python.displayHelp" ], "main": "./out/client/extension", "contributes": { "snippets": [ { "language": "python", "path": "./snippets/python.json" } ], "commands": [ { "command": "python.sortImports", "title": "Sort Imports", "category": "Refactor" }, { "command": "python.runtests", "title": "Run All Unit Tests", "category": "Python" }, { "command": "python.execInTerminal", "title": "Run Python File in Terminal", "category": "Python" }, { "command": "python.setInterpreter", "title": "Select Workspace Interpreter", "category": "Python" }, { "command": "python.refactorExtractVariable", "title": "Extract Variable", "category": "Refactor" }, { "command": "python.refactorExtractMethod", "title": "Extract Method", "category": "Refactor" }, { "command": "python.viewTestOutput", "title": "Show Unit Test Output", "category": "Python" }, { "command": "python.selectAndRunTestMethod", "title": "Run Unit Test Method ...", "category": "Python" }, { "command": "python.runFailedTests", "title": "Run Failed Unit Tests", "category": "Python" }, { "command": "python.execSelectionInTerminal", "title": "Run Selection in Python Terminal", "category": "Python" }, { "command": "jupyter.runSelectionLine", "title": "Run selection/line", "category": "Jupyter" }, { "command": "jupyter:execCurrentCell", "title": "Run cell", "category": "Jupyter" }, { "command": "jupyter:execCurrentCellAndAdvance", "title": "Run cell and advance", "category": "Jupyter" }, { "command": "jupyter:gotToPreviousCell", "title": "Go to previous cell", "category": "Jupyter" }, { "command": "jupyter:gotToNextCell", "title": "Go to next cell", "category": "Jupyter" }, { "command": "python.displayHelp", "title": "Help", "category": "Python" } ], "menus": { "editor/context": [ { "command": "python.refactorExtractVariable", "title": "Refactor: Extract Variable", "group": "Refactor", "when": "editorHasSelection && editorLangId == python" }, { "command": "python.refactorExtractMethod", "title": "Refactor: Extract Method", "group": "Refactor", "when": "editorHasSelection && editorLangId == python" }, { "command": "python.execSelectionInTerminal", "group": "Python", "when": "editorHasSelection && editorLangId == python" }, { "when": "resourceLangId == python", "command": "python.execInTerminal", "group": "Python" } ], "explorer/context": [ { "when": "resourceLangId == python", "command": "python.runtests", "group": "Python" }, { "when": "resourceLangId == python", "command": "python.execInTerminal", "group": "Python" } ] }, "debuggers": [ { "type": "python", "label": "Python", "enableBreakpointsFor": { "languageIds": [ "python", "html" ] }, "aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217", "program": "./out/client/debugger/Main.js", "runtime": "node", "configurationAttributes": { "launch": { "required": [ "program" ], "properties": { "program": { "type": "string", "description": "Absolute path to the program.", "default": "${file}" }, "pythonPath": { "type": "string", "description": "Path (fully qualified) to python executable. Defaults to the value in settings.json", "default": "${config.python.pythonPath}" }, "args": { "type": "array", "description": "Command line arguments passed to the program", "default": [], "items": { "type": "string" } }, "stopOnEntry": { "type": "boolean", "description": "Automatically stop after launch.", "default": true }, "externalConsole": { "type": "boolean", "description": "Deprecated: use 'console' attribute instead.", "default": false }, "console": { "enum": [ "none", "integratedTerminal", "externalTerminal" ], "description": "Where to launch the debug target: internal console, integrated terminal, or external terminal.", "default": "none" }, "cwd": { "type": "string", "description": "Absolute path to the working directory of the program being debugged. Default is the root directory of the file (leave null).", "default": null }, "debugOptions": { "type": "array", "description": "Advanced options, view read me for further details.", "items": { "type": "string", "enum": [ "WaitOnAbnormalExit", "WaitOnNormalExit", "RedirectOutput", "DebugStdLib", "BreakOnSystemExitZero", "DjangoDebugging", "Sudo" ] }, "default": [ "WaitOnAbnormalExit", "WaitOnNormalExit", "RedirectOutput" ] }, "exceptionHandling": { "description": "List of exception types and how they are handled during debugging (ignore, always break or break only if unhandled).", "properties": { "ignore": { "type": "array", "description": "Never break into these exceptions, e.g. 'copy.Error'", "default": [], "items": { "type": "string" } }, "always": { "type": "array", "description": "Always break into these exceptions, e.g. 'copy.Error'", "default": [], "items": { "type": "string" } }, "unhandled": { "type": "array", "description": "Break into these exceptions if they aren't handled, e.g. 'copy.Error'", "default": [], "items": { "type": "string" } } } }, "env": { "type": "object", "description": "Environment variables defined as a key value pair. Property ends up being the Environment Variable and the value of the property ends up being the value of the Env Variable.", "default": null } } }, "attach": { "required": [ "localRoot", "remoteRoot" ], "properties": { "localRoot": { "type": "string", "description": "Local source root that corrresponds to the 'remoteRoot'.", "default": "${workspaceRoot}" }, "remoteRoot": { "type": "string", "description": "The source root of the remote host.", "default": null }, "port": { "type": "number", "description": "Debug port to attach", "default": null }, "host": { "type": "string", "description": "IP Address of the of remote server (default is localhost or use 127.0.0.1).", "default": "localhost" }, "secret": { "type": "string", "description": "Secret used to authenticate for remote debugging.", "default": "" } } } }, "initialConfigurations": [ { "name": "Python", "type": "python", "request": "launch", "stopOnEntry": true, "pythonPath": "${config.python.pythonPath}", "program": "${file}", "debugOptions": [ "WaitOnAbnormalExit", "WaitOnNormalExit", "RedirectOutput" ] }, { "name": "Integrated Terminal/Console", "type": "python", "request": "launch", "stopOnEntry": true, "pythonPath": "${config.python.pythonPath}", "program": "${file}", "console": "integratedTerminal", "debugOptions": [ "WaitOnAbnormalExit", "WaitOnNormalExit" ] }, { "name": "External Terminal/Console", "type": "python", "request": "launch", "stopOnEntry": true, "pythonPath": "${config.python.pythonPath}", "program": "${file}", "console": "externalTerminal", "debugOptions": [ "WaitOnAbnormalExit", "WaitOnNormalExit" ] }, { "name": "Django", "type": "python", "request": "launch", "stopOnEntry": true, "pythonPath": "${config.python.pythonPath}", "program": "${workspaceRoot}/manage.py", "args": [ "runserver", "--noreload" ], "debugOptions": [ "WaitOnAbnormalExit", "WaitOnNormalExit", "RedirectOutput", "DjangoDebugging" ] }, { "name": "Flask", "type": "python", "request": "launch", "stopOnEntry": false, "pythonPath": "${config.python.pythonPath}", "program": "fully qualified path fo 'flask' executable. Generally located along with python interpreter", "env": { "FLASK_APP": "${workspaceRoot}/quickstart/app.py" }, "args": [ "run", "--no-debugger", "--no-reload" ], "debugOptions": [ "WaitOnAbnormalExit", "WaitOnNormalExit", "RedirectOutput" ] }, { "name": "Flask (old)", "type": "python", "request": "launch", "stopOnEntry": false, "pythonPath": "${config.python.pythonPath}", "program": "${workspaceRoot}/run.py", "args": [], "debugOptions": [ "WaitOnAbnormalExit", "WaitOnNormalExit", "RedirectOutput" ] }, { "name": "Watson", "type": "python", "request": "launch", "stopOnEntry": true, "pythonPath": "${config.python.pythonPath}", "program": "${workspaceRoot}/console.py", "args": [ "dev", "runserver", "--noreload=True" ], "debugOptions": [ "WaitOnAbnormalExit", "WaitOnNormalExit", "RedirectOutput" ] }, { "name": "Attach (Remote Debug)", "type": "python", "request": "attach", "localRoot": "${workspaceRoot}", "remoteRoot": "${workspaceRoot}", "port": 3000, "secret": "my_secret", "host": "localhost" } ] } ], "configuration": { "type": "object", "title": "Python Configuration", "properties": { "python.pythonPath": { "type": "string", "default": "python", "description": "Path to Python, you can use a custom version of Python by modifying this setting to include the full path." }, "python.linting.enabled": { "type": "boolean", "default": true, "description": "Whether to lint Python files." }, "python.linting.prospectorEnabled": { "type": "boolean", "default": false, "description": "Whether to lint Python files using prospector." }, "python.linting.pylintEnabled": { "type": "boolean", "default": true, "description": "Whether to lint Python files using pylint." }, "python.linting.pep8Enabled": { "type": "boolean", "default": false, "description": "Whether to lint Python files using pep8" }, "python.linting.flake8Enabled": { "type": "boolean", "default": false, "description": "Whether to lint Python files using flake8" }, "python.linting.pydocstyleEnabled": { "type": "boolean", "default": false, "description": "Whether to lint Python files using pydocstyle" }, "python.linting.mypyEnabled": { "type": "boolean", "default": false, "description": "Whether to lint Python files using mypy." }, "python.linting.lintOnTextChange": { "type": "boolean", "default": true, "description": "Whether to lint Python files when modified." }, "python.linting.lintOnSave": { "type": "boolean", "default": true, "description": "Whether to lint Python files when saved." }, "python.linting.maxNumberOfProblems": { "type": "number", "default": 100, "description": "Controls the maximum number of problems produced by the server." }, "python.linting.pylintCategorySeverity.convention": { "type": "string", "default": "Information", "description": "Severity of Pylint message type 'Convention/C'.", "enum": [ "Hint", "Error", "Information", "Warning" ] }, "python.linting.pylintCategorySeverity.refactor": { "type": "string", "default": "Hint", "description": "Severity of Pylint message type 'Refactor/R'.", "enum": [ "Hint", "Error", "Information", "Warning" ] }, "python.linting.pylintCategorySeverity.warning": { "type": "string", "default": "Warning", "description": "Severity of Pylint message type 'Warning/W'.", "enum": [ "Hint", "Error", "Information", "Warning" ] }, "python.linting.pylintCategorySeverity.error": { "type": "string", "default": "Error", "description": "Severity of Pylint message type 'Error/E'.", "enum": [ "Hint", "Error", "Information", "Warning" ] }, "python.linting.pylintCategorySeverity.fatal": { "type": "string", "default": "Error", "description": "Severity of Pylint message type 'Fatal/F'.", "enum": [ "Hint", "Error", "Information", "Warning" ] }, "python.linting.prospectorPath": { "type": "string", "default": "prospector", "description": "Path to Prospector, you can use a custom version of prospector by modifying this setting to include the full path." }, "python.linting.pylintPath": { "type": "string", "default": "pylint", "description": "Path to Pylint, you can use a custom version of pylint by modifying this setting to include the full path." }, "python.linting.pep8Path": { "type": "string", "default": "pep8", "description": "Path to pep8, you can use a custom version of pep8 by modifying this setting to include the full path." }, "python.linting.flake8Path": { "type": "string", "default": "flake8", "description": "Path to flake8, you can use a custom version of flake8 by modifying this setting to include the full path." }, "python.linting.pydocStylePath": { "type": "string", "default": "pydocstyle", "description": "Path to pydocstyle, you can use a custom version of pydocstyle by modifying this setting to include the full path." }, "python.linting.mypyPath": { "type": "string", "default": "mypy", "description": "Path to mypy, you can use a custom version of mypy by modifying this setting to include the full path." }, "python.linting.prospectorArgs": { "type": "array", "description": "Arguments passed in. Each argument is a separate item in the array.", "default": [], "items": { "type": "string" } }, "python.linting.pylintArgs": { "type": "array", "description": "Arguments passed in. Each argument is a separate item in the array.", "default": [], "items": { "type": "string" } }, "python.linting.pep8Args": { "type": "array", "description": "Arguments passed in. Each argument is a separate item in the array.", "default": [], "items": { "type": "string" } }, "python.linting.flake8Args": { "type": "array", "description": "Arguments passed in. Each argument is a separate item in the array.", "default": [], "items": { "type": "string" } }, "python.linting.pydocStyleArgs": { "type": "array", "description": "Arguments passed in. Each argument is a separate item in the array.", "default": [], "items": { "type": "string" } }, "python.linting.mypyArgs": { "type": "array", "description": "Arguments passed in. Each argument is a separate item in the array.", "default": [], "items": { "type": "string" } }, "python.linting.outputWindow": { "type": "string", "default": "Python", "description": "The output window name for the linting messages, defaults to Python output window." }, "python.formatting.provider": { "type": "string", "default": "autopep8", "description": "Provider for formatting. Possible options include 'autopep8' and 'yapf'.", "enum": [ "autopep8", "yapf" ] }, "python.formatting.autopep8Path": { "type": "string", "default": "autopep8", "description": "Path to autopep8, you can use a custom version of autopep8 by modifying this setting to include the full path." }, "python.formatting.yapfPath": { "type": "string", "default": "yapf", "description": "Path to yapf, you can use a custom version of yapf by modifying this setting to include the full path." }, "python.formatting.autopep8Args": { "type": "array", "description": "Arguments passed in. Each argument is a separate item in the array.", "default": [], "items": { "type": "string" } }, "python.formatting.yapfArgs": { "type": "array", "description": "Arguments passed in. Each argument is a separate item in the array.", "default": [], "items": { "type": "string" } }, "python.formatting.outputWindow": { "type": "string", "default": "Python", "description": "The output window name for the formatting messages, defaults to Python output window." }, "python.autoComplete.extraPaths": { "type": "array", "default": [], "description": "List of paths to libraries and the like that need to be imported by auto complete engine. E.g. when using Google App SDK, the paths are not in system path, hence need to be added into this list." }, "python.unitTest.nosetestsEnabled": { "type": "boolean", "default": false, "description": "Whether to enable or disable unit testing using nosetests." }, "python.unitTest.nosetestPath": { "type": "string", "default": "nosetests", "description": "Path to nosetests, you can use a custom version of nosetests by modifying this setting to include the full path." }, "python.unitTest.pyTestEnabled": { "type": "boolean", "default": false, "description": "Whether to enable or disable unit testing using pytest." }, "python.unitTest.pyTestPath": { "type": "string", "default": "py.test", "description": "Path to pytest (py.test), you can use a custom version of pytest by modifying this setting to include the full path." }, "python.unitTest.nosetestArgs": { "type": "array", "description": "Arguments passed in. Each argument is a separate item in the array.", "default": [], "items": { "type": "string" } }, "python.unitTest.pyTestArgs": { "type": "array", "description": "Arguments passed in. Each argument is a separate item in the array.", "default": [], "items": { "type": "string" } }, "python.unitTest.unittestEnabled": { "type": "boolean", "default": false, "description": "Whether to enable or disable unit testing using unittest." }, "python.unitTest.unittestArgs": { "type": "array", "description": "Arguments passed in. Each argument is a separate item in the array.", "default": [ "-v" ], "items": { "type": "string" } }, "python.unitTest.outputWindow": { "type": "string", "default": "Python Test Log", "description": "The output window name for the unit test messages, defaults to Python output window." }, "python.terminal.executeInFileDir": { "type": "boolean", "default": false, "description": "When executing a file in the terminal, whether to use execute in the file's directory, instead of the current open folder." }, "python.terminal.launchArgs": { "type": "array", "default": [], "description": "Python launch arguments to use when executing a file in the terminal." }, "python.jupyter.appendResults": { "type": "boolean", "default": true, "description": "Whether to appen the results to results window, else clear and display." }, "python.jupyter.defaultKernel": { "type": "string", "default": "", "description": "Default kernel to be used. By default the first available kernel is used." }, "python.jupyter.startupCode": { "type": "array", "items": { "type": "string" }, "default": [ "%matplotlib inline" ], "description": "Code executed when the kernel starts. Such as the default of '%matplotlib inline'. Individual lines can be placed in separate items of the array." } } } }, "scripts": { "vscode:prepublish": "tsc -p ./ && webpack", "compile": "webpack && tsc -watch -p ./", "postinstall": "node ./node_modules/vscode/bin/install", "test": "node ./node_modules/vscode/bin/test" }, "dependencies": { "anser": "^1.1.0", "copy-paste": "^1.3.0", "diff-match-patch": "^1.0.0", "fs-extra": "^0.30.0", "line-by-line": "^0.1.5", "named-js-regexp": "^1.3.1", "node-static": "^0.7.9", "prepend-file": "^1.3.0", "rx": "^4.1.0", "socket.io": "^1.4.8", "tmp": "0.0.29", "transformime": "^3.1.2", "transformime-marked": "0.0.1", "tree-kill": "^1.1.0", "uint64be": "^1.0.1", "vscode-debugadapter": "^1.0.1", "vscode-debugprotocol": "^1.0.1", "vscode-extension-telemetry": "0.0.5", "vscode-languageclient": "^1.1.0", "vscode-languageserver": "^1.1.0", "xml2js": "^0.4.17" }, "devDependencies": { "@types/jquery": "^1.10.31", "@types/mocha": "^2.2.32", "@types/node": "^6.0.40", "@types/rx": "^2.5.33", "@types/socket.io": "^1.4.27", "@types/socket.io-client": "^1.4.27", "@types/uuid": "^3.3.27", "babel-core": "^6.14.0", "babel-loader": "^6.2.5", "babel-preset-es2015": "^6.14.0", "ignore-loader": "^0.1.1", "mocha": "^2.3.3", "retyped-diff-match-patch-tsd-ambient": "^1.0.0-0", "ts-loader": "^0.8.2", "tslint": "^3.15.1", "typescript": "^2.0.3", "vscode": "^1.0.0", "webpack": "^1.13.2" } }