Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set "editor.formatOnSaveTimeout" appropriately #1357

Closed
brettcannon opened this issue Apr 9, 2018 · 12 comments
Closed

Set "editor.formatOnSaveTimeout" appropriately #1357

brettcannon opened this issue Apr 9, 2018 · 12 comments
Labels
area-editor-* User-facing catch-all area-formatting feature-request Request for new features or functionality

Comments

@brettcannon
Copy link
Member

https://code.visualstudio.com/updates/v1_22#_configurable-format-on-save-timeout

@brettcannon brettcannon added feature-request Request for new features or functionality area-linting needs PR labels Apr 9, 2018
@brettcannon brettcannon added this to the May 2018 milestone Apr 9, 2018
@DonJayamanne
Copy link

@brettcannon don't you mean yapf (for formatting).

@brettcannon
Copy link
Member Author

Yes :)

@brettcannon brettcannon changed the title Set "editor.formatOnSaveTimeout" appropriately for Pylint Set "editor.formatOnSaveTimeout" appropriately Apr 11, 2018
@MikhailArkhipov
Copy link

We don't know the exact value. Formatting can take seconds.

@brettcannon brettcannon modified the milestones: May 2018, June 2018 May 7, 2018
@brettcannon brettcannon removed this from the June 2018 milestone Jun 4, 2018
brettcannon pushed a commit to brettcannon/vscode-python that referenced this issue Jul 18, 2018
* Add support for multi roots for formatting and linting (microsoft#1281)

* update to use latest api

* config changes for multiroot workspace

* linting support with multi roots

* multi root support for formatters

* determine workspace root path

* revert change

* support multiple configs per workspace folder

* modify formatters to use resource specific settings

* modified to settings are resolved using document uri

* 1228 multi root master (#1)

* fix microsoft#1280 handle env in shebang (microsoft#1290)

* handle shebangs that resolve paths from env

* oops

* make test more specific

* handle promise

* fix microsoft#1282 use PYTHONIOENCODING variable (microsoft#1291)

* fix microsoft#1270 debugger contribution changes (microsoft#1288)

* add onDebug activation

* use debug config provider for non workspace debugging

* forgot to save file before commiting a merge

* ability to opt out of telemetry using vscode settings (microsoft#1297)

* Fix microsoft#1284 debugging parameterized tests (microsoft#1299)

* fix microsoft#1298 remove vscode.startDebug command (microsoft#1300)

* fix microsoft#1298 remove vscode.startDebug command

* fix code review comments

* added period as per code review comments

* microsoft#1288 installer config and tests (microsoft#1302)

* update to use latest api

* config changes for multiroot workspace

* linting support with multi roots

* multi root support for formatters

* determine workspace root path

* revert change

* support multiple configs per workspace folder

* modify formatters to use resource specific settings

* modified installer to pass resource for workspace resolution

* null test in installer

* canges to config settings to support multiroot workspace

* changes to code refactoring to support workspace symbols

* oops

* modified to settings are resolved using document uri

* unit tests for multi root support

* fix unittests for multiroot

* exclude files

* add new line

* config changes for multiroot workspace

* new lines and enabled multi root linter tests

* fix sys variables

* added unit test to resolve ${workspaceRoot} in settings.json

* fixed code review comments

* fixed code review comments

* fix microsoft#1276 Pre-commit hooks to ensure code complies with standards (microsoft#1277)

* sanitize code

* gulp file to check code hygiene

* fix preLaunchTask in launch.json

* added missing packages

* enabled pre-commit using husky

* enabled a few checks for precommit hook

* fix tslint warnings when running tslint via gulp

* exclude webpack building, else tries to pull in tests as well

* improved checks for commits (strict)

* added new lines

* 1228 multi root workspace symbols (microsoft#1307)

* update to use latest api

* config changes for multiroot workspace

* linting support with multi roots

* multi root support for formatters

* determine workspace root path

* revert change

* support multiple configs per workspace folder

* modify formatters to use resource specific settings

* modified installer to pass resource for workspace resolution

* null test in installer

* canges to config settings to support multiroot workspace

* changes to code refactoring to support workspace symbols

* oops

* modified to settings are resolved using document uri

* unit tests for multi root support

* fix unittests for multiroot

* exclude files

* add new line

* config changes for multiroot workspace

* new lines and enabled multi root linter tests

* fix sys variables

* added unit test to resolve ${workspaceRoot} in settings.json

* microsoft#1228 workspace symbols with multiroot support

* fix test

* added some data for workspace symbol tests

* data for unit tests

* fixed to add support for multit roots with unit tests

* account for mutiroot files in sub directory

* disable all but multiroot tests

* fixed tests

* include files for tests

* Fixed travis tests for multi root workspace symbols (microsoft#1306)

* added logging

* more logging

* yay

* fixed

* more fixes

* fix tests

* removed logging

* enable all tests

* uncommented

* Added brackets around print statements (for p3)

* Fixed travis unit tests (microsoft#1308)

* update to use latest api

* config changes for multiroot workspace

* linting support with multi roots

* multi root support for formatters

* determine workspace root path

* revert change

* support multiple configs per workspace folder

* modify formatters to use resource specific settings

* modified installer to pass resource for workspace resolution

* null test in installer

* canges to config settings to support multiroot workspace

* changes to code refactoring to support workspace symbols

* oops

* modified to settings are resolved using document uri

* unit tests for multi root support

* fix unittests for multiroot

* exclude files

* add new line

* config changes for multiroot workspace

* new lines and enabled multi root linter tests

* fix sys variables

* added unit test to resolve ${workspaceRoot} in settings.json

* microsoft#1228 workspace symbols with multiroot support

* fix test

* added some data for workspace symbol tests

* data for unit tests

* fixed to add support for multit roots with unit tests

* account for mutiroot files in sub directory

* disable all but multiroot tests

* fixed tests

* fix tests

* test where failing

* properly determine root workspace

* fix pytest unit test

* delete files

* add awaiter

* use a path that works on multiple os

* fixes

* uncomment

* invert

* debug statements

* use default workspace

* reverted unwanted changes

* oops

* test unittests only

* more logging

* partial fixes to unit tests

* run all tests

* changes not to set paths for shebang tests

* remove comments

* update settings only if necessary

* fix test

* include files for tests

* Fixed travis tests for multi root workspace symbols (microsoft#1306)

* added logging

* more logging

* yay

* fixed

* more fixes

* fix tests

* removed logging

* enable all tests

* uncommented

* Added brackets around print statements (for p3)

* use resource when getting settings

* fix microsoft#1315 unit tests need to wait for extension to activate (microsoft#1316)

* fix microsoft#1314 allow for simultaneous language features (microsoft#1317)

* microsoft#1228 support multi roots in language service (microsoft#1309)

* update to use latest api

* config changes for multiroot workspace

* linting support with multi roots

* multi root support for formatters

* determine workspace root path

* revert change

* support multiple configs per workspace folder

* modify formatters to use resource specific settings

* modified installer to pass resource for workspace resolution

* null test in installer

* canges to config settings to support multiroot workspace

* changes to code refactoring to support workspace symbols

* oops

* modified to settings are resolved using document uri

* unit tests for multi root support

* fix unittests for multiroot

* exclude files

* add new line

* config changes for multiroot workspace

* new lines and enabled multi root linter tests

* fix sys variables

* added unit test to resolve ${workspaceRoot} in settings.json

* microsoft#1228 workspace symbols with multiroot support

* fix test

* added some data for workspace symbol tests

* data for unit tests

* fixed to add support for multit roots with unit tests

* account for mutiroot files in sub directory

* disable all but multiroot tests

* fixed tests

* fix tests

* test where failing

* properly determine root workspace

* fix pytest unit test

* delete files

* add awaiter

* use a path that works on multiple os

* fixes

* uncomment

* invert

* debug statements

* use default workspace

* reverted unwanted changes

* oops

* test unittests only

* more logging

* partial fixes to unit tests

* run all tests

* changes not to set paths for shebang tests

* remove comments

* update settings only if necessary

* fix test

* include files for tests

* Fixed travis tests for multi root workspace symbols (microsoft#1306)

* added logging

* more logging

* yay

* fixed

* more fixes

* fix tests

* removed logging

* enable all tests

* uncommented

* Added brackets around print statements (for p3)

* use resource when getting settings

* support multiroot in language services

* add additional tests for microsoft#1314 (microsoft#1318)

* microsoft#1228 run all tests under multiroot (microsoft#1322)

* modifications to fix tests to run under multi root setup

* log errors

* fix return type

* fix linter messages

* fix linter errors

* changes to ensure code is formatted correctly

* fixed comments

* delete unwanted file

* hide unwanted folders

* fixes to linters to run on multiroot setup

* udpate settings sequentially

* log the output

* show errors in deleting dir

* removed prospector test, to be completed in microsoft#1319

* fixes to tests and sorting provider

* fixed test for interpreter display

* undo commenting of code

* add new line

* fix code review issues

* ensure else is properly formatted

* fix code review comments

* fix microsoft#1304 preserve empty lines (microsoft#1329)

* microsoft#1228 multiroot interpreter display (microsoft#1339)

* modifications to fix tests to run under multi root setup

* log errors

* fix return type

* fix linter messages

* fix linter errors

* changes to ensure code is formatted correctly

* fixed comments

* delete unwanted file

* hide unwanted folders

* fixes to linters to run on multiroot setup

* udpate settings sequentially

* log the output

* show errors in deleting dir

* removed prospector test, to be completed in microsoft#1319

* fixes to tests and sorting provider

* fixed test for interpreter display

* undo commenting of code

* add new line

* support multi root in interpreter display

* fix linter

* changed package version

* disabled multiroot test

* backwards compatible change

* fix nose tests

* revert change

* enable test but disable it

* multi root support in utils.ts

* fixed microsoft#1328

* retries for flaky unit tests

* retry beforeEach

* common retry decorator

* enable telemetry for extension loads

* disable jupyter tests in multiroot tests

* clean up python Path before and after testsclean up python Path before and after tests

* rename test env variable

* dispose cfg settings

* dispose cfg settings

* update comment

* clean up

* rearrange to ensurfe launching ext is first debug option

* bug fix for display name

* resolved code review comment

* Fixed typp

* 1228 multiroot interpreter ui changes (microsoft#1345)

* fixes to unit tests and forgotten multiroot

* globally retry all tests 3 times

* refactor changing interpreters

* added tests

* fixed linter

* removed redundant files

* removed unwanted grep

* remove blank line

* fix 948 remove hardcoding of port number (microsoft#1353)

* fix microsoft#1041 when debugging a test do not cancel it when re-discovering tests (microsoft#1354)

* fix 1041 when debugging a test do not cancel it when re-discovering tests

* create enum for creation of cancellation token

* dispose correct cancellationToken

* bug fix - in unit tests

* bug fix - in unit tests

* microsoft#1228 multiroot unit test runner (microsoft#1357)

* fixes to unit tests and forgotten multiroot

* globally retry all tests 3 times

* refactor changing interpreters

* added tests

* fixed linter

* removed redundant files

* temp changes

* more changes

* lots of refactoring

* adding support for multiroot workspaces

* removed grep

* copy changes for microsoft#948 and microsoft#1353 into multroot

* replicate solution for microsoft#1041 and microsoft#1354

* microsoft#1041 create enum for creation of cancellation token

* multiroot support for unit tests

* remove empty line (linter warning)

* delete pyc before making changes to py file

* delete pyc file in teardown

* merged multiroot master

* pass uri of workspace when displaing prompt for configuration

* pass uri to commands

* fixed typos based on code review

* prefix path with forward slash, as is done in the extension  unit tests

* include version number into display name
@DonJayamanne
Copy link

@brettcannon
We don't have control over this value.
The only way we can update it is - extension manually updates the value in the file.
Is that what you're after? Or are you after some documentation that points users to this?

@brettcannon
Copy link
Member Author

@DonJayamanne The announcement suggested that extensions can set language-specific values to adjust accordingly.

@DonJayamanne
Copy link

DonJayamanne commented Oct 2, 2018

lol, checked it out, basically we use the existing api to update the settings.json files to provide our defaults (just as we update settings.json to update python.pythonPath).
I would have expected something better.

This means we're going to have to add code in initialization of the extension to update these settings and keep track of this fact (in case user changes it, reverts it).

I.e. we (extension) needs to update it manually, there's no magic/new API.
The announcement seems to be misleading, unless I have missed something.

@brettcannon
Copy link
Member Author

Ugh, forget that then.

@DonJayamanne
Copy link

DonJayamanne commented Oct 3, 2018

Nope, it is possible via configuration settings.

@DonJayamanne
Copy link

Solution

@uriva
Copy link

uriva commented Sep 9, 2019

Hey, I think I'm encountering this issue, every time I hit ctrl-s the code jumps between the isort option and the black option intermittently.

Is there a temporary solution other than disabling either one?

These settings didn't work for me:

"editor.formatOnSaveTimeout": 3000,
"editor.codeActionsOnSaveTimeout": 3000,

@brettcannon
Copy link
Member Author

@uriva please follow #6933 for that issue.

@gramster gramster added the area-editor-* User-facing catch-all label Oct 10, 2019
@luabud
Copy link
Member

luabud commented Nov 24, 2020

Closing as stale.

@luabud luabud closed this as completed Nov 24, 2020
@ghost ghost removed the needs PR label Nov 24, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 25, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-editor-* User-facing catch-all area-formatting feature-request Request for new features or functionality
Projects
None yet
Development

No branches or pull requests

6 participants