Add code_complete_enabled code editor setting

This commit is contained in:
quinnyo 2022-11-02 05:03:43 +10:00
parent d7af287ce3
commit 68c24f9993
4 changed files with 9 additions and 2 deletions

View File

@ -837,6 +837,9 @@
<member name="text_editor/completion/code_complete_delay" type="float" setter="" getter=""> <member name="text_editor/completion/code_complete_delay" type="float" setter="" getter="">
The delay in seconds after which autocompletion suggestions should be displayed when the user stops typing. The delay in seconds after which autocompletion suggestions should be displayed when the user stops typing.
</member> </member>
<member name="text_editor/completion/code_complete_enabled" type="bool" setter="" getter="">
If [code]true[/code], code completion will be triggered automatically after [member text_editor/completion/code_complete_delay]. If [code]false[/code], you can still trigger completion manually by pressing [kbd]Ctrl + Space[/kbd] ([kbd]Cmd + Space[/kbd] on macOS).
</member>
<member name="text_editor/completion/complete_file_paths" type="bool" setter="" getter=""> <member name="text_editor/completion/complete_file_paths" type="bool" setter="" getter="">
If [code]true[/code], provides autocompletion suggestions for file paths in methods such as [code]load()[/code] and [code]preload()[/code]. If [code]true[/code], provides autocompletion suggestions for file paths in methods such as [code]load()[/code] and [code]preload()[/code].
</member> </member>

View File

@ -905,7 +905,7 @@ void CodeTextEditor::_line_col_changed() {
} }
void CodeTextEditor::_text_changed() { void CodeTextEditor::_text_changed() {
if (text_editor->is_insert_text_operation()) { if (code_complete_enabled && text_editor->is_insert_text_operation()) {
code_complete_timer_line = text_editor->get_caret_line(); code_complete_timer_line = text_editor->get_caret_line();
code_complete_timer->start(); code_complete_timer->start();
} }
@ -1736,6 +1736,7 @@ void CodeTextEditor::_apply_settings_change() {
text_editor->set_code_hint_draw_below(EDITOR_GET("text_editor/completion/put_callhint_tooltip_below_current_line")); text_editor->set_code_hint_draw_below(EDITOR_GET("text_editor/completion/put_callhint_tooltip_below_current_line"));
code_complete_enabled = EDITOR_GET("text_editor/completion/code_complete_enabled");
code_complete_timer->set_wait_time(EDITOR_GET("text_editor/completion/code_complete_delay")); code_complete_timer->set_wait_time(EDITOR_GET("text_editor/completion/code_complete_delay"));
idle->set_wait_time(EDITOR_GET("text_editor/completion/idle_parse_delay")); idle->set_wait_time(EDITOR_GET("text_editor/completion/idle_parse_delay"));
} }
@ -2010,6 +2011,7 @@ CodeTextEditor::CodeTextEditor() {
idle->set_one_shot(true); idle->set_one_shot(true);
idle->set_wait_time(EDITOR_GET("text_editor/completion/idle_parse_delay")); idle->set_wait_time(EDITOR_GET("text_editor/completion/idle_parse_delay"));
code_complete_enabled = EDITOR_GET("text_editor/completion/code_complete_enabled");
code_complete_timer = memnew(Timer); code_complete_timer = memnew(Timer);
add_child(code_complete_timer); add_child(code_complete_timer);
code_complete_timer->set_one_shot(true); code_complete_timer->set_one_shot(true);

View File

@ -157,6 +157,7 @@ class CodeTextEditor : public VBoxContainer {
Label *info = nullptr; Label *info = nullptr;
Timer *idle = nullptr; Timer *idle = nullptr;
bool code_complete_enabled = true;
Timer *code_complete_timer = nullptr; Timer *code_complete_timer = nullptr;
int code_complete_timer_line = 0; int code_complete_timer_line = 0;

View File

@ -597,7 +597,8 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
// Completion // Completion
EDITOR_SETTING(Variant::FLOAT, PROPERTY_HINT_RANGE, "text_editor/completion/idle_parse_delay", 2.0, "0.1,10,0.01") EDITOR_SETTING(Variant::FLOAT, PROPERTY_HINT_RANGE, "text_editor/completion/idle_parse_delay", 2.0, "0.1,10,0.01")
_initial_set("text_editor/completion/auto_brace_complete", true); _initial_set("text_editor/completion/auto_brace_complete", true);
EDITOR_SETTING(Variant::FLOAT, PROPERTY_HINT_RANGE, "text_editor/completion/code_complete_delay", 0.3, "0.01,5,0.01") _initial_set("text_editor/completion/code_complete_enabled", true);
EDITOR_SETTING(Variant::FLOAT, PROPERTY_HINT_RANGE, "text_editor/completion/code_complete_delay", 0.3, "0.01,5,0.01,or_greater")
_initial_set("text_editor/completion/put_callhint_tooltip_below_current_line", true); _initial_set("text_editor/completion/put_callhint_tooltip_below_current_line", true);
_initial_set("text_editor/completion/complete_file_paths", true); _initial_set("text_editor/completion/complete_file_paths", true);
_initial_set("text_editor/completion/add_type_hints", false); _initial_set("text_editor/completion/add_type_hints", false);