Speed up linting
See original GitHub issueEnvironment data
VS Code version: 1.19.0 (1.19.0) Python Extension version: 0.9.0 Python Version: Anaconda 2.7.14 OS and version: mac OS 10.13.2
Actual behavior
Updates to Pylint messages are very slow even after saving, it takes several seconds for messages to change. For example, if a variable is undefined and then defined, the linter will take several seconds to update it’s undefined variable message.
Expected behavior
Messages should update instantly when the linter is run.
Steps to reproduce:
- Have a Pylint message
- Fix the error associated with the message
- Save to lint
- Message will take some time to disappear
Logs
Output from Python
output panel
##########Linting Output - pylint##########
No config file found, using default configuration
************* Module scheduler
304,0,convention,C0303:Trailing whitespace
313,0,convention,C0303:Trailing whitespace
316,0,convention,C0303:Trailing whitespace
1,0,convention,C0111:Missing module docstring
73,0,convention,C0111:Missing function docstring
78,4,convention,C0103:Invalid variable name "df"
84,4,convention,C0103:Invalid variable name "df"
107,0,convention,C0111:Missing function docstring
114,0,convention,C0103:Invalid argument name "df"
114,0,convention,C0111:Missing function docstring
116,11,convention,C0103:Invalid variable name "c"
120,0,convention,C0103:Invalid argument name "m"
120,0,convention,C0111:Missing function docstring
122,4,refactor,R1705:Unnecessary "else" after "return"
122,19,error,E1101:Module 'gurobi' has no 'GRB' member
124,21,error,E1101:Module 'gurobi' has no 'GRB' member
135,0,convention,C0111:Missing function docstring
135,21,warning,W0613:Unused argument 'data'
135,27,warning,W0613:Unused argument 'prediction_file'
141,0,convention,C0111:Missing function docstring
141,0,refactor,R0914:Too many local variables (36/15)
164,4,convention,C0103:Invalid variable name "m"
164,8,error,E1101:Module 'gurobi' has no 'Model' member
167,4,convention,C0103:Invalid variable name "x"
167,53,error,E1101:Module 'gurobi' has no 'GRB' member
168,4,convention,C0103:Invalid variable name "z"
169,4,convention,C0103:Invalid variable name "f"
184,8,convention,C0103:Invalid variable name "t"
188,14,error,E1101:Module 'gurobi' has no 'quicksum' member
202,8,convention,C0122:Comparison should be gb.quicksum([le for le in x.loc[data[PACU_FLAG],:].mul(late_pacu).values.flatten() if le.getCoeff(0) != 0.0]) == 0
202,13,error,E1101:Module 'gurobi' has no 'quicksum' member
209,8,convention,C0103:Invalid variable name "ti"
209,12,convention,C0103:Invalid variable name "t"
212,12,convention,C0103:Invalid variable name "r"
214,22,error,E1101:Module 'gurobi' has no 'quicksum' member
223,9,convention,C0122:Comparison should be x.loc[(p, data.loc[(p, PRIOR_START_TIME)])] == 1
230,8,convention,C0122:Comparison should be gb.quicksum([le for le in x.loc[~data[FIXED_START],:].mul(too_early).values.flatten() if le.getCoeff(0) != 0.0]) == 0
230,13,error,E1101:Module 'gurobi' has no 'quicksum' member
240,15,error,E1101:Module 'gurobi' has no 'GRB' member
245,16,convention,C0103:Invalid variable name "fv"
251,16,convention,C0103:Invalid variable name "zv"
255,16,convention,C0103:Invalid variable name "fv"
260,16,convention,C0103:Invalid variable name "fv"
267,16,convention,C0103:Invalid variable name "p"
268,23,convention,C0103:Invalid variable name "t"
141,0,refactor,R0912:Too many branches (15/12)
141,0,refactor,R0915:Too many statements (55/50)
274,0,convention,C0111:Missing function docstring
275,16,convention,C0121:Comparison to True should be just 'expr' or 'expr is True'
289,0,convention,C0111:Missing function docstring
300,0,convention,C0111:Missing function docstring
2,0,warning,W0611:Unused datetime imported from datetime
------------------------------------------------------------------
Your code has been rated at 5.46/10 (previous run: 5.36/10, +0.10)
Output from Console window
(Help->Developer Tools menu)
TypeError: Cannot read property 'TokenType' of undefined
at CompletionSource.isPositionInsideStringOrComment (/Users/mfairley/.vscode/extensions/ms-python.python-0.9.0/out/client/providers/completionSource.js:115:44)
at CompletionSource.<anonymous> (/Users/mfairley/.vscode/extensions/ms-python.python-0.9.0/out/client/providers/completionSource.js:78:22)
at Generator.next (<anonymous>)
at __awaiter (/Users/mfairley/.vscode/extensions/ms-python.python-0.9.0/out/client/providers/completionSource.js:9:71)
at Promise (<anonymous>)
at __awaiter (/Users/mfairley/.vscode/extensions/ms-python.python-0.9.0/out/client/providers/completionSource.js:5:12)
at CompletionSource.getCompletionResult (/Users/mfairley/.vscode/extensions/ms-python.python-0.9.0/out/client/providers/completionSource.js:68:16)
at CompletionSource.<anonymous> (/Users/mfairley/.vscode/extensions/ms-python.python-0.9.0/out/client/providers/completionSource.js:40:39)
at Generator.next (<anonymous>)
at __awaiter (/Users/mfairley/.vscode/extensions/ms-python.python-0.9.0/out/client/providers/completionSource.js:9:71)
(node:13752) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
t.log @ /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.main.js:249
11:18:45.522 console.ts:123 [Extension Host] (node:13752) DeprecationWarning: Calling an asynchronous function without callback is deprecated.
t.log @ console.ts:123
Issue Analytics
- State:
- Created 6 years ago
- Reactions:2
- Comments:13 (2 by maintainers)
Top Results From Across the Web
Speeding Up ESLint - Medium
Today, I happened to notice that on my project of 8 files, it's equally slow with the whole project as it is with...
Read more >Modern, faster alternatives to ESLint - LogRocket Blog
Modern, faster alternatives to ESLint · Rome is a toolchain that aims to unify functionality (such as formatting, linting, bundling, etc.) ...
Read more >overtrue/phplint: A tool that can speed up linting of php files by ...
`phplint` is a tool that can speed up linting of php files by running several lint processes at once. There are two better...
Read more >Customizing ESLint - SurviveJS
One of the most convenient ways to speed up ESLint execution on big projects is to run it on only files that have...
Read more >How to Speed Up Python Code Reviews With Linting
The linter binaries do the real work. And that way, SublimeLinter can support more than just one programming language. If you're doing any...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@jeyanthimuthuram the roadmap is “we’re working on it” 😉 , otherwise we don’t announce anything more on purpose as these things have a tendency to slip since we’re talking about such large, critical aspects of the extension.
New Python Analysis engine does syntax check as you type. Closing since the engine was integrated with https://github.com/Microsoft/vscode-python/pull/1231