Skip to content

Unexpected indentation behavior after latest update #6886

Closed
@mauritshartman

Description

@mauritshartman

Environment data

  • VS Code version: 1.36.1
  • Extension version (available under the Extensions sidebar): 2019.8.29288 (6 August 2019)
  • OS and version: Ubuntu 18.04.1
  • Python version (& distribution if applicable, e.g. Anaconda): 3.6.8
  • Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
  • Relevant/affected Python packages and their versions: N/A

Expected behaviour

When moving a line up or down (using the editor.action.moveLinesDownAction and editor.action.moveLinesUpAction actions), the following should happen:

  • Line being moved is automatically indented according to the indentation level of its context (i.e. the line(s) above it)
  • The lines surrounding the line being moved, should be unaffected by the line being moved.

Actual behaviour

When moving a line up or down, the indentation levels of the lines surrounding it are wrongfully affected.

Steps to reproduce:

See GIF screenshot below. The Baz class is wrongfully indented one level to the right, when a line was begin moved through it:
indentation

move_to_end


class Foo:
    def __init__(self):
        pass

    def bar(self):
        pass


class Baz:
    pass

Logs

Output for Python in the Output panel (ViewOutput, change the drop-down the upper-right of the Output panel to Python)

User belongs to experiment group 'ShowPlayIcon - start'
> conda --version
> pyenv root
> python3.7 -c "import sys;print(sys.executable)"
> python3.6 -c "import sys;print(sys.executable)"
> python3 -c "import sys;print(sys.executable)"
> python2 -c "import sys;print(sys.executable)"
> python -c "import sys;print(sys.executable)"
> python -c "import sys;print(sys.executable)"
> conda info --json
Starting Jedi Python language engine.
> conda info --json
> conda --version
> /usr/bin/python3 -c "import sys;print(sys.prefix)"
cwd: ~/.vscode/extensions/ms-python.python-2019.8.29288/out/client
> /usr/bin/python3 -c "import sys;print(sys.prefix)"
cwd: ~/.vscode/extensions/ms-python.python-2019.8.29288/out/client
> /usr/bin/python3 -c "import sys;print(sys.executable)"
cwd: ~/.vscode/extensions/ms-python.python-2019.8.29288/out/client
> /usr/bin/python3 -c "import sys;print(sys.executable)"
cwd: ~/.vscode/extensions/ms-python.python-2019.8.29288/out/client
> /usr/bin/python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
cwd: ~/.vscode/extensions/ms-python.python-2019.8.29288/out/client
> /usr/bin/python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
cwd: ~/.vscode/extensions/ms-python.python-2019.8.29288/out/client
> /usr/bin/python3 -m site --user-site
cwd: ~/.vscode/extensions/ms-python.python-2019.8.29288/out/client
> /usr/bin/python3 -m site --user-site
cwd: ~/.vscode/extensions/ms-python.python-2019.8.29288/out/client
> /usr/bin/python3 completion.py
cwd: ~/.vscode/extensions/ms-python.python-2019.8.29288/pythonFiles
> /usr/bin/python3 completion.py
cwd: ~/.vscode/extensions/ms-python.python-2019.8.29288/pythonFiles
> /usr/bin/python3 -m pylint --disable=all --enable=F,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned,unused-variable,unused-wildcard-import,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode,E0001,E0011,E0012,E0100,E0101,E0102,E0103,E0104,E0105,E0107,E0108,E0110,E0111,E0112,E0113,E0114,E0115,E0116,E0117,E0118,E0202,E0203,E0211,E0213,E0236,E0237,E0238,E0239,E0240,E0241,E0301,E0302,E0303,E0401,E0402,E0601,E0602,E0603,E0604,E0611,E0632,E0633,E0701,E0702,E0703,E0704,E0710,E0711,E0712,E1003,E1101,E1102,E1111,E1120,E1121,E1123,E1124,E1125,E1126,E1127,E1128,E1129,E1130,E1131,E1132,E1133,E1134,E1135,E1136,E1137,E1138,E1139,E1200,E1201,E1205,E1206,E1300,E1301,E1302,E1303,E1304,E1305,E1306,E1310,E1700,E1701 --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text ~/Desktop/indent.py
cwd: ~/Desktop
> /usr/bin/python3 -m pylint --disable=all --enable=F,unreachable,duplicate-key,unnecessary-semicolon,global-variable-not-assigned,unused-variable,unused-wildcard-import,binary-op-exception,bad-format-string,anomalous-backslash-in-string,bad-open-mode,E0001,E0011,E0012,E0100,E0101,E0102,E0103,E0104,E0105,E0107,E0108,E0110,E0111,E0112,E0113,E0114,E0115,E0116,E0117,E0118,E0202,E0203,E0211,E0213,E0236,E0237,E0238,E0239,E0240,E0241,E0301,E0302,E0303,E0401,E0402,E0601,E0602,E0603,E0604,E0611,E0632,E0633,E0701,E0702,E0703,E0704,E0710,E0711,E0712,E1003,E1101,E1102,E1111,E1120,E1121,E1123,E1124,E1125,E1126,E1127,E1128,E1129,E1130,E1131,E1132,E1133,E1134,E1135,E1136,E1137,E1138,E1139,E1200,E1201,E1205,E1206,E1300,E1301,E1302,E1303,E1304,E1305,E1306,E1310,E1700,E1701 --msg-template='{line},{column},{category},{symbol}:{msg}' --reports=n --output-format=text ~/Desktop/indent.py
cwd: ~/Desktop
> /usr/bin/python3 -c "import pylint"
> /usr/bin/python3 -c "import pylint"
> /usr/bin/python3 -c "import pylint"
> /usr/bin/python3 -c "import pylint"

Linter 'pylint' is not installed. Please install it or select another linter".
Error: Module 'pylint' not installed.

Output from Console under the Developer Tools panel (toggle Developer Tools on under Help; turn on source maps to make any tracebacks be useful by running Enable source map support for extension debugging)

See attached .log file:
[vscode_devtools_console.log](https://github.com/microsoft/vscode-python/files/3476540/vscode_devtools_console.log)


Metadata

Metadata

Labels

bugIssue identified by VS Code Team member as probable bugregressionBug didn't exist in a previous release

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions