{ "name": "python", "displayName": "Python", "description": "Linting, Debugging (multi-threaded, remote), Intellisense, code formatting, refactoring, snippets, and more.", "version": "0.3.21", "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": "^0.10.8" }, "categories": [ "Languages", "Debuggers", "Linters", "Snippets", "Other" ], "activationEvents": [ "onLanguage:python", "onCommand:python.sortImports", "onCommand:python.runtests", "onCommand:python.setInterpreter", "onCommand:python.viewTests", "onCommand:python.discoverTests", "onCommand:python.runFailedTests" ], "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 Unit Tests", "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.viewTests", "title": "View Test UI", "category": "Python" }, { "command": "python.discoverTests", "title": "Discover Unit Tests", "category": "Python" }, { "command": "python.runFailedTests", "title": "Run Failed Unit Tests", "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" } ], "explorer/context": [ { "command": "python.runtests", "group": "Python" } ] }, "debuggers": [ { "type": "python", "label": "Python", "enableBreakpointsFor": { "languageIds": [ "python" ] }, "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": "Launch debug target in external console window.", "default": false }, "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": "Python Console App", "type": "python", "request": "launch", "stopOnEntry": true, "pythonPath": "${config.python.pythonPath}", "program": "${file}", "externalConsole": true, "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": "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", "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.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": "Hint", "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.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.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.formatOnSave": { "type": "boolean", "default": false, "description": "Format the document upon saving." }, "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." } } } }, "scripts": { "vscode:prepublish": "node ./node_modules/vscode/bin/compile", "compile": "node ./node_modules/vscode/bin/compile -watch -p ./ && installServerIntoExtension ./out ./src/server/package.json ./src/server/tsconfig.json", "postinstall": "node ./node_modules/vscode/bin/install", "test": "node ./node_modules/vscode/bin/test" }, "dependencies": { "copy-paste": "^1.3.0", "diff-match-patch": "^1.0.0", "fs-extra": "^0.30.0", "line-by-line": "^0.1.4", "named-js-regexp": "^1.3.1", "prepend-file": "^1.3.0", "tmp": "0.0.28", "tree-kill": "^1.0.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": { "retyped-diff-match-patch-tsd-ambient": "^1.0.0-0", "typescript": "^1.8.5", "vscode": "^0.11.0" } }