Skip to content

Commit cb0eef6

Browse files
Backport PR spyder-ide#25609 on branch 6.x (PR: Add option to disable Enter to accept code completions (Completions)) (spyder-ide#25720)
1 parent 3c43c2b commit cb0eef6

3 files changed

Lines changed: 21 additions & 4 deletions

File tree

spyder/config/main.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,8 @@
388388
'completions_wait_for_ms': 200,
389389
'enabled_providers': {},
390390
'provider_configuration': {},
391-
'request_priorities': {}
391+
'request_priorities': {},
392+
'use_enter_for_completions': True
392393
}),
393394
('profiler',
394395
{

spyder/plugins/completion/confpage.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,14 @@ def setup_page(self):
4848
_("Show completions on the fly"),
4949
'automatic_completions',
5050
section='editor')
51+
use_enter_for_completions_box = newcb(
52+
_("Use Enter to accept code completions"),
53+
"use_enter_for_completions",
54+
tip=_(
55+
"If this option is disabled, completions will be accepted "
56+
"with the Tab key only."
57+
),
58+
)
5159
completions_after_characters = self.create_spinbox(
5260
_("Show automatic completions after characters entered:"), None,
5361
'automatic_completions_after_chars', min_=1, step=1,
@@ -65,11 +73,12 @@ def setup_page(self):
6573
completions_layout.addWidget(completion_hint_box, 0, 0)
6674
completions_layout.addWidget(code_snippets_box, 1, 0)
6775
completions_layout.addWidget(automatic_completion_box, 2, 0)
68-
completions_layout.addWidget(completions_after_characters.plabel, 3, 0)
76+
completions_layout.addWidget(use_enter_for_completions_box, 3, 0)
77+
completions_layout.addWidget(completions_after_characters.plabel, 4, 0)
6978
completions_layout.addWidget(
70-
completions_after_characters.spinbox, 3, 1)
79+
completions_after_characters.spinbox, 4, 1)
7180
completions_layout.addWidget(
72-
completions_after_characters.help_label, 3, 2)
81+
completions_after_characters.help_label, 4, 2)
7382
completions_layout.addWidget(completions_hint_after_idle.plabel, 5, 0)
7483
completions_layout.addWidget(completions_hint_after_idle.spinbox, 5, 1)
7584
completions_layout.addWidget(

spyder/plugins/editor/widgets/completion.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,13 @@ def keyPressEvent(self, event):
355355
# Check that what was selected can be selected,
356356
# otherwise timing issues
357357
item = self.currentItem()
358+
if not self.get_conf(
359+
'use_enter_for_completions', section='completions'
360+
) and not key == Qt.Key_Tab:
361+
self.hide()
362+
self.textedit.keyPressEvent(event)
363+
return
364+
358365
if item is None:
359366
item = self.item(0)
360367

0 commit comments

Comments
 (0)