Environment data
- VS Code version: 1.22.2
- Extension version (available under the Extensions sidebar): XXX
- OS and version: Windows 8.1
- Python version (& distribution if applicable, e.g. Anaconda): Anaconda 5.1.0, Python 3.6.4
- Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
- Relevant/affected Python packages and their versions: rope 0.10.7
Actual behavior
Possibly a repeat of #52, but I figured I publish it since I'm actually getting error messages.
Code in question is here and screenshots shown below:


Up until this point, no errors and everything is acting normally. Then when I actually type in Team to replace the newvariable###, I get errors and nothing happens
Expected behavior
I expect the variable to extracted and be able to be renamed.
Steps to reproduce:
- Open
main.py in the repo above
- Highlight
driver['Team'], right click, select Extract Variable
- (wait awhile for it to work. takes like 5-10 seconds for it to work)
- Go to type in
Team to replace newvariable###
- Get nothing but errors
Logs
Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)
##########Refactor Output##########
Error in refactoring:
Refactor failed. Extracted piece should contain complete statements.
[<FrameSummary file refactor.py, line 271 in watch>, <FrameSummary file refactor.py, line 256 in _process_request>, <FrameSummary file refactor.py, line 200 in _extractVariable>, <FrameSummary file refactor.py, line 94 in refactor>, <FrameSummary file refactor.py, line 140 in onRefactor>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\refactor\extract.py, line 69 in get_changes>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\refactor\extract.py, line 213 in __init__>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\refactor\extract.py, line 350 in __call__>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\refactor\extract.py, line 371 in base_conditions>]
Refactor failed. expected string or bytes-like object
[<FrameSummary file refactor.py, line 271 in watch>, <FrameSummary file refactor.py, line 252 in _process_request>, <FrameSummary file refactor.py, line 183 in _rename>, <FrameSummary file refactor.py, line 94 in refactor>, <FrameSummary file refactor.py, line 116 in onRefactor>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\refactor\rename.py, line 101 in get_changes>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\refactor\rename.py, line 117 in _is_renaming_a_module>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynamesdef.py, line 22 in get_object>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 29 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynames.py, line 188 in get>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 29 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynamesdef.py, line 19 in _get_inferred>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 41 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 71 in infer_assigned_object>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 41 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 142 in _infer_assignment>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 41 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 175 in _follow_pyname>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 27 in eval_node>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 32 in eval_node2>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\ast.py, line 39 in walk>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 292 in _Subscript>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 303 in _call_function>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynamesdef.py, line 22 in get_object>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 29 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynames.py, line 188 in get>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 29 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynamesdef.py, line 19 in _get_inferred>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 41 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 71 in infer_assigned_object>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 41 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 142 in _infer_assignment>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 41 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 175 in _follow_pyname>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 27 in eval_node>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 32 in eval_node2>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\ast.py, line 39 in walk>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 162 in _Call>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 283 in _get_primary_and_object_for_node>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 32 in eval_node2>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\ast.py, line 39 in walk>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 151 in _Attribute>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 27 in eval_node>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 32 in eval_node2>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\ast.py, line 39 in walk>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 292 in _Subscript>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 303 in _call_function>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynamesdef.py, line 42 in get_object>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pyobjectsdef.py, line 69 in get_parameter>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 29 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynames.py, line 188 in get>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pyobjectsdef.py, line 40 in _infer_parameters>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 41 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 47 in infer_parameter_objects>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 130 in _parameter_objects>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\type_hinting\providers\inheritance.py, line 21 in __call__>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\type_hinting\providers\composite.py, line 19 in __call__>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\type_hinting\providers\docstrings.py, line 46 in __call__>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\type_hinting\providers\numpydocstrings.py, line 20 in __call__>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\numpydoc\docscrape.py, line 123 in __init__>, <FrameSummary file C:\ProgramData\Anaconda3\lib\textwrap.py, line 430 in dedent>]
Output from Console under the Developer Tools panel (toggle Developer Tools on under Help)
Cannot perform refactoring using selected element(s). (Refactor failed. Extracted piece should contain complete statements. [<FrameSummary file refactor.py, line 271 in watch>, <FrameSummary file refactor.py, line 256 in _process_request>, <FrameSummary file refactor.py, line 200 in _extractVariable>, <FrameSummary file refactor.py, line 94 in refactor>, <FrameSummary file refactor.py, line 140 in onRefactor>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\refactor\extract.py, line 69 in get_changes>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\refactor\extract.py, line 213 in __init__>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\refactor\extract.py, line 350 in __call__>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\refactor\extract.py, line 371 in base_conditions>])
e.onDidNotificationChange @ /C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:2217
/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:2217 Refactor failed. expected string or bytes-like object [<FrameSummary file refactor.py, line 271 in watch>, <FrameSummary file refactor.py, line 252 in _process_request>, <FrameSummary file refactor.py, line 183 in _rename>, <FrameSummary file refactor.py, line 94 in refactor>, <FrameSummary file refactor.py, line 116 in onRefactor>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\refactor\rename.py, line 101 in get_changes>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\refactor\rename.py, line 117 in _is_renaming_a_module>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynamesdef.py, line 22 in get_object>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 29 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynames.py, line 188 in get>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 29 in ne...
e.onDidNotificationChange @ /C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:2217
/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:260 [Extension Host] WARNING: Promise with no error callback:3
/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:1306 ERR Refactor failed. expected string or bytes-like object
[<FrameSummary file refactor.py, line 271 in watch>, <FrameSummary file refactor.py, line 252 in _process_request>, <FrameSummary file refactor.py, line 183 in _rename>, <FrameSummary file refactor.py, line 94 in refactor>, <FrameSummary file refactor.py, line 116 in onRefactor>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\refactor\rename.py, line 101 in get_changes>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\refactor\rename.py, line 117 in _is_renaming_a_module>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynamesdef.py, line 22 in get_object>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 29 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynames.py, line 188 in get>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 29 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynamesdef.py, line 19 in _get_inferred>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 41 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 71 in infer_assigned_object>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 41 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 142 in _infer_assignment>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 41 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 175 in _follow_pyname>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 27 in eval_node>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 32 in eval_node2>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\ast.py, line 39 in walk>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 292 in _Subscript>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 303 in _call_function>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynamesdef.py, line 22 in get_object>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 29 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynames.py, line 188 in get>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 29 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynamesdef.py, line 19 in _get_inferred>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 41 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 71 in infer_assigned_object>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 41 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 142 in _infer_assignment>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 41 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 175 in _follow_pyname>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 27 in eval_node>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 32 in eval_node2>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\ast.py, line 39 in walk>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 162 in _Call>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 283 in _get_primary_and_object_for_node>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 32 in eval_node2>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\ast.py, line 39 in walk>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 151 in _Attribute>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 27 in eval_node>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 32 in eval_node2>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\ast.py, line 39 in walk>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 292 in _Subscript>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\evaluate.py, line 303 in _call_function>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynamesdef.py, line 42 in get_object>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pyobjectsdef.py, line 69 in get_parameter>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 29 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pynames.py, line 188 in get>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\pyobjectsdef.py, line 40 in _infer_parameters>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\utils\__init__.py, line 41 in newfunc>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 47 in infer_parameter_objects>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\soi.py, line 130 in _parameter_objects>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\type_hinting\providers\inheritance.py, line 21 in __call__>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\type_hinting\providers\composite.py, line 19 in __call__>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\type_hinting\providers\docstrings.py, line 46 in __call__>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\rope\base\oi\type_hinting\providers\numpydocstrings.py, line 20 in __call__>, <FrameSummary file C:\ProgramData\Anaconda3\lib\site-packages\numpydoc\docscrape.py, line 123 in __init__>, <FrameSummary file C:\ProgramData\Anaconda3\lib\textwrap.py, line 430 in dedent>]
/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:260 [Extension Host]% Object
Environment data
Actual behavior
Possibly a repeat of #52, but I figured I publish it since I'm actually getting error messages.
Code in question is here and screenshots shown below:
Up until this point, no errors and everything is acting normally. Then when I actually type in
Teamto replace thenewvariable###, I get errors and nothing happensExpected behavior
I expect the variable to extracted and be able to be renamed.
Steps to reproduce:
main.pyin the repo abovedriver['Team'], right click, selectExtract VariableTeamto replacenewvariable###Logs
Output for
Pythonin theOutputpanel (View→Output, change the drop-down the upper-right of theOutputpanel toPython)Output from
Consoleunder theDeveloper Toolspanel (toggle Developer Tools on underHelp)