111 KiB
Changelog
2018.8.0 (04 September 2018)
Thanks
Thanks to the following projects which we fully rely on to provide some of our features:
- isort 4.3.4
- jedi 0.12.0 and parso 0.2.1
- 4.1.1
- exuberant ctags (user-installed)
- rope (user-installed)
Also thanks to the various projects we provide integrations with which help make this extension useful:
- Debugging support: Django, Flask, gevent, Jinja, Pyramid, PySpark, Scrapy, Watson
- Formatting: autopep8, black, yapf
- Interpreter support: conda, direnv, pipenv, pyenv, venv, virtualenv
- Linting: flake8, mypy, prospector, pylint, pydocstyle, pylama
- Testing: nose, pytest, unittest
And finally thanks to the Python development team and community for creating a fantastic programming language and community to be a part of!
Enhancements
- Improved language server startup time by 40%. (#1865)
- Add pip dependency support to the conda
environment.yml
YAML schema support (thanks Mark Edwards). (#2119) - Added a German translation. (thanks to bschley and by means of berndverst and croth1 for the reviews) (#2203)
- The new setting
python.analysis.diagnosticPublishDelay
allows you to control when language server publishes diagnostics. Default is 1 second after the user activity, such a typing, ceases. If diagnostic is clear (i.e. errors got fixed), the publishing is immediate. (#2270) - Language server now supports hierarchical document outline per language server protocol 4.4+ and VS Code 1.26+. (#2384)
- Make use of the
http.proxy
field insettings.json
when downloading the Python Language Server. (#2385)
Fixes
- Fix debugger issue that prevented users from copying the value of a variable from the Variables debugger window. (#1398)
- Enable code lenses for tests when using the new language server. (#1948)
- Fix null reference exception in the language server causing server initialization to fail. The exception happened when search paths contained a folder that did not exist. (#2017)
- Language server now populates document outline with all symbols instead of just top-level ones. (#2050)
- Ensure test count values in the status bar represent the correct number of tests that were discovered and run. (#2143)
- Fixed issue in the language server when documentation for a function always produced "Documentation is still being calculated, please try again soon". (#2179)
- Change linter message parsing so it respects
python.linting.maxNumberOfProblems
. (thanks Scott Saponas) (#2198) - Fixed language server issue when it could enter infinite loop reloading modules. (#2207)
- Ensure workspace
pipenv
environment is not labeled as avirtual env
. (#2223) - Improve reliability of document outline population with language server. (#2224)
- Language server now correctly handles
with
statement when__enter__
is declared in a base class. (#2240) - Fix
visualstudio_py_testLauncher
to stop breaking out of test discovery too soon. (#2241) - Notify the user when the language server does not support their platform. (#2245)
- Fix issue with survey not opening in a browser for Windows users. (#2252)
- Correct banner survey question text to reference the Python Language Server. (#2253)
- Fixed issue in the language server when typing dot under certain conditions produced null reference exception. (#2262)
- Fix error when switching from new language server to the old
Jedi
language server. (#2281) - Unpin Pylint from < 2.0 (prospector was upgraded and isn't stuck on that any longer) (#2284)
- Add support for breaking into the first line of code in the new debugger. (#2299)
- Show the debugger survey banner for only a subset of users. (#2300)
- Ensure Flask debug configuration launches flask in a debug environment with the Flask debug mode disabled. This is necessary to ensure the custom debugger takes precedence over the interactive debugger, and live reloading is disabled. http://flask.pocoo.org/docs/1.0/api/#flask.Flask.debug (#2309)
- Language server now correctly merges data from typeshed and the Python library. (#2345)
- Fix pytest >= 3.7 test discovery. (#2347)
- Update the downloaded Python language server nuget package filename to
Python-Language-Server-{OSType}.beta.nupkg
. (#2362) - Added setting to control language server log output. Default is now 'error' so there should be much less noise in the output. (#2405)
- Fix
experimental
debugger when debugging Python files with Unicode characters in the file path. (#688) - Ensure stepping out of debugged code does not take user into
PTVSD
debugger code. (#767) - Upgrade
pythonExperimental
topython
inlaunch.json
. (#2478)
Code Health
- Revert change that moved IExperimentalDebuggerBanner into a common location. (#2195)
- Decorate
EventEmitter
within atry..catch
to play nice with other extensions performing the same operation. (#2196) - Change the default interpreter to favor Python 3 over Python 2. (#2266)
- Deprecate command
Python: Build Workspace Symbols
when using the language server. (#2267) - Pin version of
pylint
to3.6.3
to allow ensurepylint
gets installed on Travis with Pytnon2.7. (#2305) - Remove some of the debugger tests and fix some minor debugger issues. (#2307)
- Only use the current stable version of PTVSD in CI builds/releases. (#2432)
2018.7.1 (23 July 2018)
Fixes
- Update the language server to code as of 651468731500ec1cc644029c3666c57b82f77d76. (#2233)
2018.7.0 (18 July 2018)
Thanks
Thanks to the following projects which we fully rely on to provide some of our features:
- isort 4.3.4
- jedi 0.12.0 and parso 0.2.1
- ptvsd 3.0.0 and 4.1.11a5
- exuberant ctags (user-installed)
- rope (user-installed)
Also thanks to the various projects we provide integrations with which help make this extension useful:
- Debugging support: Django, Flask, gevent, Jinja, Pyramid, PySpark, Scrapy, Watson
- Formatting: autopep8, black, yapf
- Interpreter support: conda, direnv, pipenv, pyenv, venv, virtualenv
- Linting: flake8, mypy, prospector, pylint, pydocstyle, pylama
- Testing: nose, pytest, unittest
And finally thanks to the Python development team and community for creating a fantastic programming language and community to be a part of!
Enhancements
- Language server now reports code analysis progress in the status bar. (#1591)
- Only report Language Server download progress once. (#2000)
- Messages changes to reflect name of the language server: 'Microsoft Python Language Server';
folder name changed from
analysis
tolanguageServer
. (#2107) - Set default analysis for language server to open files only. (#2113)
- Add two popups to the extension: one to ask users to move to the new language server, the other to request feedback from users of that language server. (#2127)
Fixes
- Ensure dunder variables are always displayed in code completion when using the new language server. (#2013)
- Store testId for files & suites during unittest discovery. (#2044)
editor.formatOnType
no longer adds space after*
in multi-line arguments. (#2048)- Fix bug where tooltips would popup whenever a comma is typed within a string. (#2057)
- Change keyboard shortcut for
Run Selection/Line in Python Terminal
to not interfere with the Find/Replace dialog box. (#2068) - Relax validation of the environment
Path
variable. (#2076) editor.formatOnType
is more reliable handling floating point numbers. (#2079)- Change the default port used in remote debugging using
Experimental
debugger to5678
. (#2146) - Register test manager when using the new language server. (#2186)
Code Health
- Removed pre-commit hook that ran unit tests. (#1986)
- Pass OS type to the debugger. (#2128)
- Ensure 'languageServer' directory is excluded from the build output. (#2150)
- Change the download links of the language server files. (#2180)
2018.6.0 (20 June 2018)
Thanks
Thanks to the following projects which we fully rely on to provide some of our features:
- isort 4.3.4
- jedi 0.12.0 and parso 0.2.1
- ptvsd 3.0.0 and 4.1.11a5
- exuberant ctags (user-installed)
- rope (user-installed)
Also thanks to the various projects we provide integrations with which help make this extension useful:
- Debugging support: Django, Flask, gevent, Jinja, Pyramid, PySpark, Scrapy, Watson
- Formatting: autopep8, black, yapf
- Interpreter support: conda, direnv, pipenv, pyenv, venv, virtualenv
- Linting: flake8, mypy, prospector, pylint, pydocstyle, pylama
- Testing: nose, pytest, unittest
And finally thanks to the Python development team and community for creating a fantastic programming language and community to be a part of!
Enhancements
- Add setting to control automatic test discovery on save,
python.unitTest.autoTestDiscoverOnSaveEnabled
. (thanks Lingyu Li) (#1037) - Add
gevent
launch configuration option to enable debugging of gevent monkey patched code. (thanks Bence Nagy) (#127) - Add support for the
"source.organizeImports"
setting for"editor.codeActionsOnSave"
(thanks Nathan Gaberel); you can turn this on just for Python using:
(#156)"[python]": { "editor.codeActionsOnSave": { "source.organizeImports": true } }
- Added Spanish translation. (thanks Mario Rubio) (#1902)
- Add a French translation (thanks to Jérémy for the initial patch, and thanks to Nathan Gaberel, Bruno Alla, and Tarek Ziade for reviews). (#1959)
- Add syntax highlighting for Pipenv-related files (thanks Nathan Gaberel). (#995)
Fixes
- Modified to change error message displayed when path to a tool (
linter
,formatter
, etc) is invalid. (#1064) - Improvements to the logic used to parse the arguments passed into the test frameworks. (#1070)
- Ensure navigation to definitons follows imports and is transparent to decoration. (thanks Peter Law) (#1638)
- Fix for intellisense failing when using the new
Outline
feature. (#1721) - When debugging unit tests, use the
env
file configured insettings.json
underpython.envFile
. (#1759) - Fix to display all interpreters in the interpreter list when a workspace contains a
Pipfile
. (#1800) - Use file system API to perform file path comparisons when performing code navigation. (thanks to bstaint for the problem diagnosis) (#1811)
- Automatically add path mappings for remote debugging when attaching to the localhost. (#1829)
- Change keyboard shortcut for
Run Selection/Line in Python Terminal
toShift+Enter
. (#1875) - Fix unhandled rejected promises in unit tests. (#1919)
- Fix debugger issue that causes the debugger to hang and silently exit stepping over a line of code instantiating an ITK vector object. (#459)
Code Health
- Add telemetry to capture type of python interpreter used in workspace. (#1237)
- Enabled multi-thrreaded debugger tests for the
experimental
debugger. (#1250) - Log relevant environment information when the existence of
pipenv
cannot be determined. (#1338) - Use dotenv package to parse environment variables definition files. (#1376)
- Move from yarn to npm. (#1402)
- Fix django and flask debugger tests when using the experimental debugger. (#1407)
- Capture telemetry for the usage of the
Create Terminal
command along with other instances when a terminal is created implicitly. (#1542) - Add telemetry to capture availability of Python 3, version of Python used in workspace and the number of workspace folders. (#1545)
- Ensure all CI tests (except for debugger) are no longer allowed to fail. (#1614)
- Capture telemetry for the usage of the feature that formats a line as you type (
editor.formatOnType
). (#1766) - Capture telemetry for the new debugger. (#1767)
- Capture telemetry for usage of the setting
python.autocomplete.addBrackets
(#1770) - Speed up githook by skipping commits not containing any
.ts
files. (#1803) - Update typescript package to 2.9.1. (#1815)
- Log Conda not existing message as an information instead of an error. (#1817)
- Make use of
ILogger
to log messages instead of usingconsole.error
. (#1821) - Update
parso
package to 0.2.1. (#1833) - Update
isort
package to 4.3.4. (#1842) - Add better exception handling when parsing responses received from the Jedi language service. (#1867)
- Resolve warnings in CI Tests and fix some broken CI tests. (#1885)
- Reduce sample count used to capture performance metrics in order to reduce time taken to complete the tests. (#1887)
- Ensure workspace information is passed into installer when determining whether a product/tool is installed. (#1893)
- Add JUnit file output to enable CI integration with VSTS. (#1897)
- Log unhandled rejected promises when running unit tests. (#1918)
- Add ability to run tests without having to launch VS Code. (#1922)
- Fix rename refactoring unit tests. (#1953)
- Fix failing test on Mac when validating the path of a python interperter. (#1957)
- Display banner prompting user to complete a survey for the use of the
Experimental Debugger
. (#1968) - Use a glob pattern to look for
conda
executables. (#256) - Create tests to measure activation times for the extension. (#932)
2018.5.0 (05 Jun 2018)
Thanks to the following projects which we fully rely on to provide some of our features:
- isort 4.2.15
- jedi 0.12.0 and parso 0.2.0
- ptvsd 3.0.0 and 4.1.1a5
- exuberant ctags (user-installed)
- rope (user-installed)
And thanks to the many other projects which users can optionally choose from and install to work with the extension. Without them the extension would not be nearly as feature-rich and useful as it is.
Enhancements
- Add support for the Black formatter (thanks to Josh Smeaton for the initial patch) (#1153)
- Add the command
Discover Unit Tests
. (#1474) - Auto detect
*.jinja2
and*.j2
extensions as Jinja templates, to enable debugging of Jinja templates. (#1484)
Fixes
- Ensure debugger breaks on
assert
failures. (#1194) - Ensure debugged program is terminated when
Stop
debugging button is clicked. (#1345) - Fix indentation when function contains type hints. (#1461)
- Ensure python environment activation works as expected within a multi-root workspace. (#1476)
- Close communication channel before exiting the test runner. (#1529)
- Allow for negative column numbers in messages returned by
pylint
. (#1628) - Modify the
FLASK_APP
environment variable in the flask debug configuration to include just the name of the application file. (#1634) - Ensure the display name of an interpreter does not get prefixed twice with the words
Python
. (#1651) - Enable code refactoring when using the new Analysis Engine. (#1774)
editor.formatOnType
no longer breaks numbers formatted with underscores. (#1779)editor.formatOnType
now better handles multiline function arguments (#1796)Go to Definition
now works for functions which have numbers that use_
as a separator (as part of our Jedi 0.12.0 upgrade). (#180)- Display documentation for auto completion items when the feature to automatically insert of brackets for selected item is turned on. (#452)
- Ensure empty paths do not get added into
sys.path
by the Jedi language server. (this was fixed in the previous release in #1471) (#677) - Resolves rename refactor issue that remvoes the last line of the source file when the line is being refactored and source does not end with an EOL. (#695)
- Ensure the prompt to install missing packages is not displayed more than once. (#980)
Code Health
- Add syntax highlighting to
constraints.txt
files to match that ofrequirements.txt
files. (thanks Waleed Sehgal) (#1053) - Refactor unit testing functionality to improve testability of individual components. (#1068)
- Add unit tests for evaluating expressions in the experimental debugger. (#1109)
- Add tests to ensure custom arguments get passed into python program when using the experimental debugger. (#1280)
- Ensure custom environment variables are always used when spawning any process from within the extension. (#1339)
- Add tests for hit count breakpoints for the experimental debugger. (#1410)
- Ensure none of the npm packages (used by the extension) rely on native dependencies. (#1416)
- Remove explicit initialization of
PYTHONPATH
with the current workspace path in unit testing of modules with the experimental debugger. (#1465) - Flag
program
inlaunch.json
configuration items as an optional attribute. (#1503) - Remove unused setting
disablePromptForFeatures
. (#1551) - Remove unused Unit Test setting
debugHost
. (#1552) - Create a new API to retrieve interpreter details with the ability to cache the details. (#1569)
- Add tests for log points in the experimental debugger. (#1582)
- Update typescript package to 2.8.3. (#1604)
- Fix typescript compilation error. (#1623)
- Fix unit tests used to test flask template debugging on AppVeyor for the experimental debugger. (#1640)
- Change yarn install script to include the keyword
--lock-file
. (thanks Lingyu Li) (#1682) - Run unit tests as a pre-commit hook. (#1703)
- Update debug capabilities to add support for the setting
supportTerminateDebuggee
due to an upstream update from PTVSD. (#1719) - Build and upload development build of the extension to the Azure blob store even if CI tests fail on the
master
branch. (#1730) - Changes to the script used to upload the extension to the Azure blob store. (#1732)
- Prompt user to reload Visual Studio Code when toggling between the analysis engines. (#1747)
- Fix typo in unit test. (#1794)
- Fix failing Prospector unit tests and add more tests for linters (with and without workspaces). (#1836)
- Ensure
Outline
view doesn't overload the language server with too many requets, while user is editing text in the editor. (#1856)
2018.4.0 (2 May 2018)
Thanks to the following projects which we fully rely on to provide some of our features:
- isort 4.2.15
- jedi 0.12.0 and parso 0.2.0
- ptvsd 3.0.0 and 4.1.1a1
- exuberant ctags (user-installed)
- rope (user-installed)
And a special thanks to Patryk Zawadzki for all of his help on our issue tracker!
Enhancements
- Enable debugging of Jinja templates in the experimental debugger.
This is made possible with the addition of the
jinja
setting in thelaunch.json
file as follows:
(#1206)"request": "launch or attach", ... "jinja": true
- Remove empty spaces from the selected text of the active editor when executing in a terminal. (#1207)
- Add prelimnary support for remote debugging using the experimental debugger.
Attach to a Python program started using the command
python -m ptvsd --server --port 9091 --file pythonFile.py
(#1229) - Add support for logpoints in the experimental debugger. (#1306)
- Set focus to the terminal upon creation of a terminal using the
Python: Create Terminal
command. (#1315) - Save the python file before running it in the terminal using the command/menu
Run Python File in Terminal
. (#1316) - Added support for source references (remote debugging without having the source code locally) in the experimental debugger. (#1333)
- Add
Ctrl+Enter
keyboard shortcut forRun Selection/Line in Python Terminal
. (#1349) - Settings configured within the
debugOptions
property oflaunch.json
for the old debugger are now defined as individual (boolean) properties in the new experimental debugger (e.g."debugOptions": ["RedirectOutput"]
becomes"redirectOutput": true
). (#1395) - Intergrate Jedi 0.12. See https://github.com/davidhalter/jedi/issues/1063#issuecomment-381417297 for details. (#1400)
- Enable Jinja template debugging as a default behaivour when using the Watson debug configuration for debugging of Watson applications. (#1480)
- Enable Jinja template debugging as a default behavior when debugging Pyramid applications. (#1492)
- Add prelimnary support for remote debugging using the experimental debugger.
Attach to a Python program after having imported
ptvsd
and enabling the debugger to attach as follows:
Additional capabilities:import ptvsd ptvsd.enable_attach(('0.0.0.0', 5678))
ptvsd.break_into_debugger()
to break into the attached debugger.ptvsd.wait_for_attach(timeout)
to cause the program to wait untill a debugger attaches.ptvsd.is_attached()
to determine whether a debugger is attached to the program. (#907)
Fixes
- Use an existing method to identify the active interpreter. (#1015)
- Fix
go to definition
functionality across files. (#1033) - IntelliSense under Python 2 for inherited attributes works again (thanks to an upgraded Jedi). (#1072)
- Reverted change that ended up considering symlinked interpreters as duplicate interpreter. (#1192)
- Display errors returned by the PipEnv command when identifying the corresonding environment. (#1254)
- When
editor.formatOnType
is on, don't add a space for*args
or**kwargs
(#1257) - When
editor.formatOnType
is on, don't add a space between a string type specifier and the string literal (#1257) - Reduce the frequency within which the memory usage of the language server is checked, also ensure memory usage is not checked unless language server functionality is used. (#1277)
- Ensure interpreter file exists on the file system before including into list of interpreters. (#1305)
- Do not have the formatter consider single-quoted string multiline even if it is not terminated. (#1364)
- IntelliSense works in module-level
if
statements (thanks to Jedi 0.12.0 upgrade). (#142) - Clicking the codelens
Run Test
on a test class should run that specific test class instead of all tests in the file. (#1472) - Clicking the codelens
Run Test
on a test class or method should run that specific test instead of all tests in the file. (#1473) - Check whether the selected python interpreter is valid before starting the language server. Failing to do so could result in the extension failing to load. (#1487)
- Fixes the issue where Conda environments created using the latest version of Anaconda are not activated in Powershell. (#1520)
- Increase the delay for the activation of environments in Powershell terminals. (#1533)
- Fix activation of environments with spaces in the python path when using Powershell. (#1534)
- Ensure Flask application is launched with multi-threading disabled, when run in the CI tests. (#1535)
- IntelliSense works appropriately when a project contains multiple files with the same name (thanks to Jedi 0.12.0 update). (#178)
- Add blank lines to separate blocks of indented code (function defs, classes, and the like) so as to ensure the code can be run within a Python interactive prompt. (#259)
- Provide type details appropriate for the iterable in a
for
loop when the line has a# type
comment. (#338) - Parameter hints following an f-string work again. (#344)
- When
editor.formatOnType
is on, don't indent after a single-line statement block (#726) - Fix debugging of Pyramid applications on Windows. (#737)
Code Health
- Improved developer experience of the Python Extension on Windows. (#1216)
- Parallelize jobs (unit tests) on CI server. (#1247)
- Run CI tests against the release version and master branch of PTVSD (experimental debugger), allowing tests to fail against the master branch of PTVSD. (#1253)
- Only trigger the extension for
file
anduntitled
in preparation for Visual Studio Live Share (thanks to Jonathan Carter) (#1298) - Ensure all unit tests run on Travis use the right Python interpreter. (#1318)
- Pin all production dependencies. (#1374)
- Add support for hit count breakpoints in the experimental debugger. (#1409)
- Ensure custom environment variables defined in
.env
file are passed onto thepipenv
command. (#1428) - Remove unwanted python packages no longer used in unit tests. (#1494)
- Register language server functionality in the extension against specific resource types supporting the python language. (#1530)
2018.3.1 (29 Mar 2018)
Fixes
- Fixes issue that causes linter to fail when file path contains spaces. (#1239)
2018.3.0 (28 Mar 2018)
Enhancements
- Add a PySpark debug configuration for the experimental debugger. (#1029)
- Add a Pyramid debug configuration for the experimental debugger. (#1030)
- Add a Watson debug configuration for the experimental debugger. (#1031)
- Add a Scrapy debug configuration for the experimental debugger. (#1032)
- When using pipenv, install packages (such as linters, test frameworks) in dev-packages. (#1110)
- Added commands translation for italian locale. (thanks Dotpys) (#1152)
- Add support for Django Template debugging in experimental debugger. (#1189)
- Add support for Flask Template debugging in experimental debugger. (#1190)
- Add support for Jinja template debugging. (#1210)
- When debugging, use
Integrated Terminal
as the default console. (#526) - Disable the display of errors messages when rediscovering of tests fail in response to changes to files, e.g. don't show a message if there's a syntax error in the test code. (#704)
- Bundle python depedencies (PTVSD package) in the extension for the experimental debugger. (#741)
- Add support for expermental debugger when debugging Python Unit Tests. (#906)
- Support
Debug Console
as aconsole
option for the Experimental Debugger. (#950) - Enable syntax highlighting for
requirements.in
files as used by e.g. pip-tools (thanks Lorenzo Villani) (#961) - Add support to read name of Pipfile from environment variable. (#999)
Fixes
- Fixes issue that causes debugging of unit tests to hang indefinitely. (#1009)
- Add ability to disable the check on memory usage of language server (Jedi) process.
To turn off this check, add
"python.jediMemoryLimit": -1
to your user or workspace settings (settings.json
) file. (#1036) - Ignore test results when debugging unit tests. (#1043)
- Fixes auto formatting of conditional statements containing expressions with
<=
symbols. (#1096) - Resolve debug configuration information in
launch.json
when debugging without opening a python file. (#1098) - Disables auto completion when editing text at the end of a comment string. (#1123)
- Ensures file paths are properly encoded when passing them as arguments to linters. (#199)
- Fix occasionally having unverified breakpoints (#87)
- Ensure conda installer is not used for non-conda environments. (#969)
- Fixes issue that display incorrect interpreter briefly before updating it to the right value. (#981)
Code Health
- Exclude 'news' folder from getting packaged into the extension. (#1020)
- Remove Jupyter commands. (thanks Yu Zhang) (#1034)
- Trigger incremental build compilation only when typescript files are modified. (#1040)
- Updated npm dependencies in devDependencies and fix TypeScript compilation issues. (#1042)
- Enable unit testing of stdout and stderr redirection for the experimental debugger. (#1048)
- Update npm package
vscode-extension-telemetry
to fix the warning 'os.tmpDir() deprecation'. (thanks osya) (#1066) - Prevent the debugger stepping into JS code while developing the extension when debugging async TypeScript code. (#1090)
- Increase timeouts for the debugger unit tests. (#1094)
- Change the command used to install pip on AppVeyor to avoid installation errors. (#1107)
- Check whether a document is active when detecthing changes in the active document. (#1114)
- Remove SIGINT handler in debugger adapter, thereby preventing it from shutting down the debugger. (#1122)
- Improve compilation speed of the extension's TypeScript code. (#1146)
- Changes to how debug options are passed into the experimental version of PTVSD (debugger). (#1168)
- Ensure file paths are not sent in telemetry when running unit tests. (#1180)
- Change
DjangoDebugging
toDjango
indebugOptions
of launch.json. (#1198) - Changed property name used to capture the trigger source of Unit Tests. (#1213)
- Enable unit testing of the experimental debugger on CI servers (#742)
- Generate code coverage for debug adapter unit tests. (#778)
- Execute prospector as a module (using -m). (#982)
- Launch unit tests in debug mode as opposed to running and attaching the debugger to the already-running interpreter. (#983)
2018.2.1 (09 Mar 2018)
Fixes
- Check for
Pipfile
and notpipfile
when looking for pipenv usage (thanks to Will Thompson for the fix)
2018.2.0 (08 Mar 2018)
[Release pushed by one week]
Thanks
We appreciate everyone who contributed to this release (including those who reported bugs or provided feedback)!
A special thanks goes out to the following external contributors who contributed code in this release:
Enhancements
- Experimental support for PTVSD 4.0.0-alpha (too many issues to list)
- Speed increases in interpreter selection (#952)
- Support for direnv (#36)
- Support for pipenv virtual environments; do note that using pipenv automatically drops all other interpreters from the list of possible interpreters as pipenv prefers to "own" your virtual environment (#404)
- Support for pyenv installs of Python (#847)
- Support
editor.formatOnType
(#640) - Added a
zh-tw
translation (#) - Prompting to install a linter now allows for disabling that specific linter as well as linters globally (#971)
Fixes
- Work around a bug in Pylint when the default linter rules are
enabled and running Python 2.7 which triggered
--py3k
checks to be activated, e.g. allprint
statements to be flagged as errors (#722) - Better detection of when a virtual environment is selected, leading
to the extension accurately leaving off
--user
when installing Pylint (#808) - Better detection of a
pylintrc
is available to automatically disable our default Pylint checks (#728, #788, #838, #442) - Fix
Got to Python object
(#403) - When reformatting a file, put the temporary file in the workspace folder so e.g. yapf detect their configuration files appropriately (#730)
- The banner to suggest someone installs Python now says
Download
instead ofClose
(#844) - Formatting while typing now treats
.
and@
as operators, preventing the incorrect insertion of whitespace (#840) - Debugging from a virtual environment named
env
now works (#691) - Disabling linting in a single folder of a mult-root workspace no longer disables it for all folders (#862)
- Fix the default debugger settings for Flask apps (#573)
- Format paths correctly when sending commands through WSL and git-bash; this does not lead to official support for either terminal (#895)
- Prevent run-away Jedi processes from consuming too much memory by automatically killing the process; reload VS Code to start the process again if desired (#926, #263)
- Support multiple linters again (#913)
- Don't over-escape markup found in docstrings (#911, #716, #627, #692)
- Fix when the
Problems
pane lists file paths prefixed withgit:
(#916) - Fix inline documentation when an odd number of quotes exists (#786)
- Don't erroneously warn macOS users about using the system install of Python when a virtual environment is already selected (#804)
- Fix activating multiple linters without requiring a reload of VS Code (#971)
Code Health
- Upgrade to Jedi 0.11.1 (#674, #607, #99)
- Removed the banner announcing the extension moving over to Microsoft (#830)
- Renamed the default debugger configurations (#412)
- Remove some error logging about not finding conda (#864)
2018.1.0 (01 Feb 2018)
Thanks
Thanks to everyone who contributed to this release, including the following people who contributed code:
Fixed issues
- Support cached interpreter locations for faster interpreter selection (#666)
- Sending a block of code with multiple global-level scopes now works (#259)
- Automatic activation of virtual or conda environment in terminal when executing Python code/file (#383)
- Introduce a
Python: Create Terminal
to create a terminal that activates the selected virtual/conda environment (#622) - Add a
ko-kr
translation (#540) - Add a
ru
translation (#411) - Performance improvements to detection of virtual environments in current workspace (#372)
- Correctly detect 64-bit python (#414)
- Display parameter information while typing (#70)
- Use
localhost
instead of0.0.0.0
when starting debug servers (#205) - Ability to configure host name of debug server (#227)
- Use environment variable PYTHONPATH defined in
.env
for intellisense and code navigation (#316) - Support path variable when debugging (#436)
- Ensure virtual environments can be created in
.env
directory (#435, #482, #486) - Reload environment variables from
.env
without having to restart VS Code (#183) - Support debugging of Pyramid framework on Windows (#519)
- Code snippet for
pubd
(#545) - Code clean up (#353, #352, #354, #456, #491, #228, #549, #594, #617, #556)
- Move to
yarn
fromnpm
(#421) - Add code coverage for extension itself (#464)
- Releasing insiders build of the extension and uploading to cloud storage (#429)
- Japanese translation (#434)
- Russian translation (#411)
- Support paths with spaces when generating tags with
Build Workspace Symbols
(#44) - Add ability to configure the linters (#572)
- Add default set of rules for Pylint (#554)
- Prompt to install formatter if not available (#524)
- work around
editor.formatOnSave
failing when taking more then 750ms (#124, #590, #624, #427, #492) - Function argument completion no longer automatically includes the default argument (#522)
- When sending a selection to the terminal, keep the focus in the editor window (#60)
- Install packages for non-environment Pythons as
--user
installs (#527) - No longer suggest the system Python install on macOS when running
Select Interpreter
as it's too outdated (e.g. lackspip
) (#440) - Fix potential hang from Intellisense (#423)
Version 0.9.1 (19 December 2017)
- Fixes the compatibility issue with the Visual Studio Code Tools for AI #432
- Display runtime errors encountered when running a python program without debugging #454
Version 0.9.0 (14 December 2017)
- Translated the commands to simplified Chinese #240 (thanks Wai Sui kei)
- Change all links to point to their Python 3 equivalents instead of Python 2#203
- Respect
{workspaceFolder}
#258 - Running a program using Ctrl-F5 will work more than once #25
- Removed the feedback service to rely on VS Code's own support (which fixed an issue of document reformatting failing) #245, #303, #363
- Do not create empty '.vscode' directory #253, #277
- Ensure python execution environment handles unicode characters #393
- Remove Jupyter support in favour of the Jupyter extension #223
conda
- Support installing Pylint using conda or pip when an Anaconda installation of Python is selected as the active interpreter #301
- Add JSON schema support for conda's meta.yaml #281
- Add JSON schema support for conda's environment.yml #280
- Add JSON schema support for .condarc #189
- Ensure company name 'Continuum Analytics' is replaced with 'Ananconda Inc' in the list of interpreters #390
- Display the version of the interpreter instead of conda #378
- Detect Anaconda on Linux even if it is not in the current path #22
Interpreter selection
- Fixes in the discovery and display of interpreters, including virtual environments #56
- Retrieve the right value from the registry when determining the version of an interpreter on Windows #389
Intellisense
- Fetch intellisense details on-demand instead of for all possible completions #152
- Disable auto completion in comments and strings #110, #921, #34
Linting
- Deprecate
python.linting.lintOnTextChange
#313, #297, #28, #272 - Refactor code for executing linters (fixes running the proper linter under the selected interpreter) #351, #397
- Don't attempt to install linters when not in a workspace #42
- Honour
python.linting.enabled
#26 - Don't display message 'Linter pylint is not installed' when changing settings #260
- Display a meaningful message if pip is unavailable to install necessary module such as 'pylint' #266
- Improvement environment variable parsing in the debugging (allows for embedded
=
) #149, #361
Debugging
- Improve selecting the port used when debugging #304
- Don't block debugging in other extensions #58
- Don't trigger an error to the Console Window when trying to debug an invalid Python file #157
- No longer prompt to
Press any key to continue . . .
once debugging finishes #239 - Do not start the extension when debugging non-Python projects #57
- Support custom external terminals in debugger #250, #114
- Debugging a python program should not display the message 'Cannot read property …' #247
Testing
- Refactor unit test library execution code #350
Formatting
Version 0.8.0 (9 November 2017)
- Add support for multi-root workspaces #1228, #1302, #1328, #1357
- Add code snippet for
ipdb
#1141 - Add ability to resolving environment variables in path to
mypy
#1195 - Add ability to disable a linter globally and disable prompts to install linters #1207
- Auto-selecting an interpreter from a virtual environment if only one is found in the root directory of the project #1216
- Add support for specifying the working directory for unit tests #1155, #1185
- Add syntax highlighting of pip requirements files #1247
- Add ability to select an interpreter even when a workspace is not open #1260, #1263
- Display a code lens to change the selected interpreter to the one specified in the shebang line #1257, #1263, #1267, #1280, #1261, #1290
- Expand list of interpreters displayed for selection #1147, #1148, #1224, #1240
- Display details of current or selected interpreter in statusbar #1147, #1217
- Ensure paths in workspace symbols are not prefixed with
.vscode
#816, #1066, #829 - Ensure paths in
PYTHONPATH
environment variable are delimited using the OS-specific path delimiter #832 - Ensure
Rope
is not packaged with the extension #1208, #1207, #1243, #1229 - Ensure ctags are rebuilt as expected upon file save #624
- Ensure right test method is executed when two test methods exist with the same name in different classes #1203
- Ensure unit tests run successfully on Travis for both Python 2.7 and 3.6 #1255, #1241, #1315
- Fix building of ctags when a path contains a space #1064, #1144,, #1213
- Fix autocompletion in unsaved Python files #1194
- Fix running of test methods in nose #597, #1225
- Fix to disable linting of diff windows #1221, #1244
- Fix docstring formatting #1188
- Fix to ensure language features can run in parallel without interference with one another #1314, #1318
- Fix to ensure unit tests can be debugged more than once per run #948, #1353
- Fix to ensure parameterized unit tests can be debugged #1284, #1299
- Fix issue that causes debugger to freeze/hang #1041, #1354
- Fix to support unicode characters in Python tests #1282, #1291
- Changes as a result of VS Code API changes #1270, #1288, #1372, #1300, #1298
- Updates to Readme #1212, #1222
- Fix executing a command under PowerShell #1098
Version 0.7.0 (3 August 2017)
- Displaying internal documentation #1008, #10860
- Fixes to 'async with' snippet #1108, #996
- Add support for environment variable in unit tests #1074
- Fixes to unit test code lenses not being displayed #1115
- Fix to empty brackets being added #1110, #1031
- Fix debugging of Django applications #819, #999
- Update isort to the latest version #1134, #1135
- Fix issue causing intellisense and similar functionality to stop working #1072, #1118, #1089
- Bunch of unit tests and code cleanup
- Resolve issue where navigation to decorated function goes to decorator #742
- Go to symbol in workspace leads to nonexisting files #816, #829
Version 0.6.9 (22 July 2017)
- Fix to enure custom linter paths are respected #1106
Version 0.6.8 (20 July 2017)
- Add new editor menu 'Run Current Unit Test File' #1061
- Changed 'mypy-lang' to mypy #930, #998, #505
- Using "Python -m" to launch linters #716, #923, #1059
- Add PEP 526 AutoCompletion #1102, #1101
- Resolved issues in Go To and Peek Definitions #1085, #961, #870
Version 0.6.7 (02 July 2017)
- Updated icon from jpg to png (transparent background)
Version 0.6.6 (02 July 2017)
- Provide details of error with solution for changes to syntax in launch.json #1047, #1025
- Provide a warning about known issues with having pyenv.cfg whilst debugging #913
- Create .vscode directory if not found #1043
- Highlighted text due to linter errors is off by one column #965, #970
- Added preminary support for WSL Bash and Cygwin #1049
- Ability to configure the linter severity levels #941, #895
- Fixes to unit tests #1051, #1050
- Outdent lines following
contibue
,break
andreturn
#1050 - Change location of cache for Jedi files #1035
- Fixes to the way directories are searched for Python interpreters #569, #1040
- Handle outputs from Python packages that interfere with the way autocompletion is handled #602
Version 0.6.5 (13 June 2017)
- Fix error in launch.json #1006
- Detect current workspace interpreter when selecting interpreter #1006
- Disable output buffering when debugging #1005
- Updated snippets to use correct placeholder syntax #976
- Fix hover and auto complete unit tests #1012
- Fix hover definition variable test for Python 3.5 #1013
- Better formatting of docstring #821, #919
- Supporting more paths when searching for Python interpreters #569
- Increase buffer output (to support detection large number of tests) #927
Version 0.6.4 (4 May 2017)
- Fix dates in changelog #899
- Using charriage return or line feeds to split a document into multiple lines #917, #821
- Doc string not being displayed #888
- Supporting paths that begin with the ~/ #909
- Supporting more paths when searching for Python interpreters #569
- Supporting ~/ paths when providing the path to ctag file #910
- Disable linting of python files opened in diff viewer #896
- Added a new command
Go to Python Object
#928 - Restored the menu item to rediscover tests #863
- Changes to rediscover tests when test files are altered and saved #863
Version 0.6.3 (19 April 2017)
- Fix debugger issue #893
- Improvements to debugging unit tests (check if string starts with, instead of comparing equality) #797
Version 0.6.2 (13 April 2017)
- Fix incorrect indenting #880
Thanks
Version 0.6.1 (10 April 2017)
- Add support for new variable syntax in upcoming VS Code release #774, #855, #873, #823
- Resolve issues in code refactoring #802, #824, #825
- Changes to labels in Python Interpreter lookup #815
- Resolve Typos #852
- Use fully qualitified Python Path when installing dependencies #866
- Commands for running tests from a file #502
- Fix Sorting of imports when path contains spaces #811
- Fixing occasional failure of linters #793, #833, #860
- Added ability to pre-load some modules to improve autocompletion #581
Thanks
Version 0.6.0 (10 March 2017)
- Moved Jupyter functionality into a separate extension Jupyter
- Updated readme #779
- Changing default arguments of
mypy
#658 - Added ability to disable formatting #559
- Fixing ability to run a Python file in a terminal #784
- Added support for Proxy settings when installing Python packages using Pip #778
Version 0.5.9 (3 March 2017)
- Fixed navigating to definitions #711
- Support auto detecting binaries from Python Path #716
- Setting PYTHONPATH environment variable #686
- Improving Linter performance, killing redundant processes 4a8319e
- Changed default path of the CATAS file to
.vscode/tags
#722 - Add parsing severity level for flake8 and pep8 linters #709
- Fix to restore function descriptions (intellisense) #727
- Added default configuration for debugging Pyramid #287
- Feature request: Run current line in Terminal #738
- Miscellaneous improvements to hover provider 6a7a3f3, 6268306
- Fixes to rename refactor (due to 'LF' EOL in Windows) #748
- Fixes to ctag file being generated in home folder when no workspace is opened #753
- Fixes to ctag file being generated in home folder when no workspace is opened #753
- Disabling auto-completion in single line comments #74
- Fixes to debugging of modules #518
- Displaying unit test status icons against unit test code lenses #678
- Fix issue where causing 'python.python-debug.startSession' not found message to be displayed when debugging single file #708
- Ability to include packages directory when generating tags file #735
- Fix issue where running selected text in terminal does not work #758
- Fix issue where disabling linter doesn't disable it (when no workspace is open) #763
- Search additional directories for Python Interpreters (~/.virtualenvs, ~/Envs, ~/.pyenv) #569
- Added ability to pre-load some modules to improve autocompletion #581
- Removed invalid default value in launch.json file #586
- Added ability to configure the pylint executable path #766
- Fixed single file debugger to ensure the Python interpreter configured in python.PythonPath is being used #769
Version 0.5.8 (3 February 2017)
- Fixed a bug in debugging single files without a launch configuration #700
- Fixed error when starting REPL #692
Version 0.5.7 (3 February 2017)
- Added support for debugging single files without a launch configuration
- Adding support for debug snippets #660
- Ability to run a selected text in a Django shell #652
- Adding support for the use of a customized 'isort' for sorting of imports #632
- Debuger auto-detecting python interpreter from the path provided #688
- Showing symbol type on hover #657
- Fixes to running Python file when terminal uses Powershell #651
- Fixes to linter issues when displaying Git diff view for Python files #665
- Fixes to 'Go to definition' functionality #662
- Fixes to Jupyter cells numbered larger than '10' #681
Version 0.5.6 (16 January 2017)
- Added support for Python 3.6 #646, #631, #619, #613
- Autodetect in python path in virtual environments #353
- Add syntax highlighting of code samples in hover defintion #555
- Launch REPL for currently selected interpreter #560
- Fixes to debugging of modules #589
- Reminder to install jedi and ctags in Quick Start #642
- Improvements to Symbol Provider #622
- Changes to disable unit test prompts for workspace #559
- Minor fixes #627
Version 0.5.5 (25 November 2016)
Version 0.5.4 (24 November 2016)
- Fixes to installing missing packages #544
- Fixes to indentation of blocks of code #432
- Fixes to debugging of unittests #543
- Fixes to extension when a workspace (folder) isn't open #542
Version 0.5.3 (23 November 2016)
- Added support for PySpark #539, #540
- Debugging unittests (UnitTest, pytest, nose) #333
- Displaying progress for formatting #327
- Auto indenting
else:
insideif
and similar code blocks #432 - Prefixing new lines with '#' when new lines are added in the middle of a comment string #365
- Debugging python modules #518, #354
- Use new debug configuration
Python Module
- Use new debug configuration
- Added support for workspace symbols using Exuberant CTags #138
- New command
Python: Build Workspace Symbols
- New command
- Added ability for linter to ignore paths or files #501
- Add the following setting in
settings.json
- Add the following setting in
"python.linting.ignorePatterns": [
".vscode/*.py",
"**/site-packages/**/*.py"
],
- Automatically adding brackets when autocompleting functions/methods #425
- To enable this feature, turn on the setting
"python.autoComplete.addBrackets": true
- To enable this feature, turn on the setting
- Running nose tests with the arguments '--with-xunit' and '--xunit-file' #517
- Added support for workspaceRootFolderName in settings.json #525, #522
- Added support for workspaceRootFolderName in settings.json #525, #522
- Fixes to running code in terminal #515
Version 0.5.2
- Fix issue with mypy linter #505
- Fix auto completion for files with different encodings #496
- Disable warnings when debugging Django version prior to 1.8 #479
- Prompt to save changes when refactoring without saving any changes #441
- Prompt to save changes when renaminv without saving any changes #443
- Use editor indentation size when refactoring code #442
- Add support for custom jedi paths #500
Version 0.5.1
- Prompt to install linter if not installed #255
- Prompt to configure and install test framework
- Added support for pylama #495
- Partial support for PEP484
- Linting python files when they are opened #462
- Fixes to unit tests discovery #307, #459
- Fixes to intelliense #438, #433, #457, #436, #434, #447, #448, #293, #381
- Supporting additional search paths for interpreters on windows #446
- Fixes to code refactoring #440, #467, #468, #445
- Fixes to linters #463 #439,
- Bug fix in handling nosetest arguments #407
- Better error handling when linter fails #402
- Restoring extension specific formatting #421
- Fixes to debugger (unwanted breakpoints) #392, #379
- Support spaces in python path when executing in terminal #428
- Changes to snippets #429
- Marketplace changes #430
- Cleanup and miscellaneous fixes (typos, keyboard bindings and the liks)
Version 0.5.0
- Remove dependency on zmq when using Jupyter or IPython (pure python solution)
- Added a default keybinding for
Jupyter:Run Selection/Line
ofctrl+alt+enter
- Changes to update settings.json with path to python using native API
- Changes to use native API for formatting when saving documents
- Reusing existing terminal instead of creating new terminals
- Limiting linter messages to opened documents (hide messages if document is closed) #375
- Resolving extension load errors when #375
- Fixes to discovering unittests #386
- Fixes to sending code to terminal on Windows #387
- Fixes to executing python file in terminal on Windows #385
- Fixes to launching local help (documentation) on Linux
- Fixes to typo in configuration documentation #391
- Fixes to use
python.pythonPath
when sorting imports #393 - Fixes to linters to handle situations when line numbers aren't returned #399
- Fixes to signature tooltips when docstring is very long #368, #113
Version 0.4.2
Version 0.4.1
- Debugging of Django templates
- Linting with mypy
- Improved error handling when loading Jupyter/IPython
- Fixes to unittests
Version 0.4.0
- Added support for Jupyter/IPython
- Added local help (offline documentation)
- Added ability to pass in extra arguments to interpreter when executing scripts (#316)
- Added ability set current working directory as the script file directory, when to executing a Python script
- Rendering intellisense icons correctly (#322)
- Changes to capitalization of context menu text (#320)
- Bug fix to running pydocstyle linter on windows (#317)
- Fixed performance issues with regards to code navigation, displaying code Symbols and the like (#324)
- Fixed code renaming issue when renaming imports (#325)
- Fixed issue with the execution of the command
python.execInTerminal
via a shortcut (#340) - Fixed issue with code refactoring (#363)
Version 0.3.24
- Added support for clearing cached tests #307
- Added support for executing files in terminal with spaces in paths #308
- Fix issue related to running unittests on Windows #309
- Support custom environment variables when launching external terminal #311
Version 0.3.23
- Added support for the attribute supportsRunInTerminal attribute in debugger #304
- Changes to ensure remote debugging resolves remote paths correctly #302
- Added support for custom pytest and nosetest paths #301
- Resolved issue in
Watch
window displaying<error:previous evaluation...
#301 - Reduce extension size by removing unwanted files #296
- Updated code snippets
Version 0.3.22
- Added few new snippets
- Integrated Unit Tests
- Selecting interpreter and updating
settings.json
[Documentation]](https://github.com/DonJayamanne/pythonVSCode/wiki/Miscellaneous#select-an-interpreter), #257 - Running a file or selection in terminal Documentation, #261 (new to Visual Studio Code 1.5)
- Debugging an application using the integrated terminal window (new to Visual Studio Code 1.5)
- Running a python script without debugging #118
- Displaying errors in variable explorer when debugging #271
- Ability to debug applications as sudo #224
- Fixed debugger crashes #263
- Asynchronour display of unit tests #190
- Fixed issues when using relative paths in
settings.json
#276 - Fixes issue of hardcoding interpreter command arguments #256
- Fixes resolving of remote paths when debugging remote applications #252
Version 0.3.20
- Sharing python.pythonPath value with debug configuration #214 and #183
- Support extract variable and method refactoring #220
- Support environment variables in settings #148
- Support formatting of selected text #197 and #183
- Support autocompletion of parameters #71
- Display name of linter along with diagnostic messages #199
- Auto indenting of except and async functions #205 and #215
- Support changes to pythonPath without having to restart VS Code #216
- Resolved issue to support large debug outputs #52 and #52
- Handling instances when debugging with invalid paths to the python interpreter #229
- Fixed refactoring on Python 3.5 #244
- Fixed parsing errors when refactoring #244
Version 0.3.21
- Sharing python.pythonPath value with debug configuration #214 and #183
- Support extract variable and method refactoring #220
- Support environment variables in settings #148
- Support formatting of selected text #197 and #183
- Support autocompletion of parameters #71
- Display name of linter along with diagnostic messages #199
- Auto indenting of except and async functions #205 and #215
- Support changes to pythonPath without having to restart VS Code #216
- Resolved issue to support large debug outputs #52 and #52
- Handling instances when debugging with invalid paths to the python interpreter #229
- Fixed refactoring on Python 3.5 #244
Version 0.3.19
- Sharing python.pythonPath value with debug configuration #214 and #183
- Support extract variable and method refactoring #220
- Support environment variables in settings #148
- Support formatting of selected text #197 and #183
- Support autocompletion of parameters #71
- Display name of linter along with diagnostic messages #199
- Auto indenting of except and async functions #205 and #215
- Support changes to pythonPath without having to restart VS Code #216
- Resolved issue to support large debug outputs #52 and #52
- Handling instances when debugging with invalid paths to the python interpreter #229
Version 0.3.18
- Modifications to support environment variables in settings #148
- Modifications to support formatting of selected text #197 and #183
- Added support to intellisense for parameters #71
- Display name of linter along with diagnostic messages #199
Version 0.3.15
- Modifications to handle errors in linters #185
- Fixes to formatting and handling of not having empty lines at end of file #181
- Modifications to infer paths of packages on windows #178
- Fix for debugger crashes #45
- Changes to App Insights key #156
- Updated Jedi library to latest version #173
- Updated iSort library to latest version #174
Version 0.3.14
- Modifications to handle errors in linters when the linter isn't installed.
Version 0.3.13
- Fixed error message being displayed by linters and formatters
Version 0.3.12
- Changes to how linters and formatters are executed (optimizations and changes to settings to separate out the command line arguments) #178, #163
- Fix to support Unicode characters in debugger #102
- Added support for {workspaceRoot} in Path settings defined in settings.js #148
- Resolving path of linters and formatters based on python path defined in settings.json #148
- Better handling of Paths to python executable and related tools (linters, formatters) in virtual environments #148
- Added support for configurationDone event in debug adapter #168, #145
Version 0.3.11
- Added support for telemetry #156
- Optimized code formatting and sorting of imports #150, #151, #157
- Fixed issues in code formatting #171
- Modifications to display errors returned by debugger #111
- Fixed the prospector linter #142
- Modified to resolve issues where debugger wasn't handling code exceptions correctly #159
- Added support for unit tests using pytest #164
- General code cleanup
Version 0.3.10
- Fixed issue with duplicate output channels being created
- Fixed issues in the LICENSE file
- Fixed issue where current directory was incorrect #68
- General cleanup of code
Version 0.3.9
- Fixed auto indenting issues #137
Version 0.3.8
- Added support for linting using prospector #130
- Fixed issue where environment variables weren't being inherited by the debugger #109 and #77
Version 0.3.7
- Added support for auto indenting of some keywords #83
- Added support for launching console apps for Mac #128
- Fixed issue where configuration files for pylint, pep8 and flake8 commands weren't being read correctly #117
Version 0.3.6
- Added support for linting using pydocstyle #56
- Added support for auto-formatting documents upon saving (turned off by default) #27
- Added support to configure the output window for linting, formatting and unit test messages #112
Version 0.3.5
- Fixed printing of unicode characters when evaulating expressions #73
Version 0.3.4
- Updated snippets
- Fixes to remote debugging #65
- Fixes related to code navigation #58 and #78
- Changes to allow code navigation for methods
Version 0.3.0
- Remote debugging (attaching to local and remote processes)
- Debugging with support for shebang
- Support for passing environment variables to debug program
- Improved error handling in the extension
Version 0.2.9
- Added support for debugging django applications
- Debugging templates is not supported at this stage
Version 0.2.8
- Added support for conditional break points
- Added ability to optionally display the shell window (Windows Only, Mac is coming soon)
- Allowing an interactive shell window, which isn't supported in VSCode.
- Added support for optionally breaking into python code as soon as debugger starts
- Fixed debugging when current thread is busy processing.
- Updated documentation with samples and instructions
Version 0.2.4
- Fixed issue where debugger would break into all exceptions
- Added support for breaking on all and uncaught exceptions
- Added support for pausing (breaking) into a running program while debugging.
Version 0.2.3
- Fixed termination of debugger
Version 0.2.2
- Improved debugger for Mac, with support for Multi threading, Web Applications, expanding properties, etc
- (Debugging now works on both Windows and Mac)
- Debugging no longer uses PDB
Version 0.2.1
- Improved debugger for Windows, with support for Multi threading, debugging Multi-threaded apps, Web Applications, expanding properties, etc
- Added support for relative paths for extra paths in additional libraries for Auto Complete
- Fixed a bug where paths to custom Python versions weren't respected by the previous (PDB) debugger
- NOTE: PDB Debugger is still supported
Version 0.1.3
- Fixed linting when using pylint
Version 0.1.2
- Fixed autoformatting of code (falling over when using yapf8)
Version 0.1.1
- Fixed linting of files on Mac
- Added support for linting using pep8
- Added configuration support for pep8 and pylint
- Added support for configuring paths for pep8, pylint and autopep8
- Added snippets
- Added support for formatting using yapf
- Added a number of configuration settings
Version 0.0.4
- Added support for linting using Pylint (configuring pylint is coming soon)
- Added support for sorting Imports (Using the command "Pythong: Sort Imports")
- Added support for code formatting using Autopep8 (configuring autopep8 is coming soon)
- Added ability to view global variables, arguments, add and remove break points
Version 0.0.3
- Added support for debugging using PDB