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

Ionide no longer honoring editor.smartTabs; backspace deletes one space instead of one indent level #1107

Closed
rmunn opened this issue May 22, 2019 · 4 comments

Comments

@rmunn
Copy link

rmunn commented May 22, 2019

Describe the bug
With Ionide extension enabled, editor.smartTabs setting is no longer honored: backspace key is deleting one space instead of one indent level.

Disabling the ionide-fsharp extension restores normal Backspace functionality (deletes one indent level as per VS Code's normal editor.smartTabs behavior), and reenabling the ionide-fsharp extension brings the buggy behavior back, so I know this is caused by the extension.

I thought at first that the FSharp.smartIndent setting might be influencing this, but I've seen the buggy behavior whether or not FSharp.smartIndent was enabled.

To Reproduce
Steps to reproduce the behavior:

  1. Make sure the editor.smartTabs setting is checked (enabled).
  2. Press Backspace at the start of an indented line of code.

Expected behavior
One indentation level (four spaces in my case) is deleted.

Actual behavior
One space is deleted, and I have to press Backspace three more times to delete the indentation level.

Environment (please complete the following information):

  • OS: Ubuntu 18.04.2
  • Ionide version: 3.38.0
  • VSCode version: 1.34.0
  • dotnet SDK version: 2.2.300
  • mono / .Net Framework version: Mono 5.20.1.19
System Info
Item Value
CPUs Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz (8 x 3449)
GPU Status 2d_canvas: disabled_software
checker_imaging: disabled_off
flash_3d: disabled_software
flash_stage3d: disabled_software
flash_stage3d_baseline: disabled_software
gpu_compositing: disabled_software
multiple_raster_threads: disabled_off
native_gpu_memory_buffers: disabled_software
rasterization: disabled_software
surface_synchronization: disabled_off
video_decode: disabled_software
webgl: disabled_off
webgl2: disabled_off
Load (avg) 1, 1, 1
Memory (System) 15.57GB (0.44GB free)
Process Argv .
Screen Reader no
VM 0%
Extensions (9)
Extension Author (truncated) Version
EditorConfig Edi 0.13.0
Ionide-FAKE Ion 1.2.3
Ionide-fsharp Ion 3.38.0
Ionide-Paket Ion 1.12.0
csharpextensions jch 1.3.0
docomment k-- 0.1.7
csharp ms- 1.19.1
vscode-versionlens pfl 0.23.0
msbuild-project-tools tin 0.2.54
@rmunn
Copy link
Author

rmunn commented May 22, 2019

Probably related to #529.

@Krzysztof-Cieslak
Copy link
Member

I can't reproduce on Ionide 4.0

@Tasiro
Copy link
Contributor

Tasiro commented Oct 31, 2021

Happened to me too. It's because of

"configurationDefaults": {
"[fsharp]": {
"editor.useTabStops": false
}
},
, first in 2241d6b: The F# specific default configuration of this extension in package.json overrides the custom global configuration in settings.json, so I have to specify

	"[fsharp]": {
		"editor.useTabStops": true
	}

in my settings to delete more than one space at a time.

Would you mind removing this setting from the package.json? It was rather difficult to track down, and given this and the linked issue, I'm sure that I'm not the only one who tripped over this.

@baronfel
Copy link
Contributor

I'd be happy to take a PR that removed this, would you like to submit one? My ulterior motive is to get you hooked on contributing :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants