Add line length guideline to code editors
This commit is contained in:
parent
e0e21984d8
commit
d9c1729a8f
@ -482,6 +482,14 @@ void TextEdit::_notification(int p_what) {
|
|||||||
Color color = cache.font_color;
|
Color color = cache.font_color;
|
||||||
int in_region=-1;
|
int in_region=-1;
|
||||||
|
|
||||||
|
if (line_length_guideline) {
|
||||||
|
int x=xmargin_beg+cache.font->get_char_size('0').width*line_length_guideline_col-cursor.x_ofs;
|
||||||
|
if (x>xmargin_beg && x<xmargin_end) {
|
||||||
|
Color guideline_color(color.r,color.g,color.b,color.a*0.25f);
|
||||||
|
VisualServer::get_singleton()->canvas_item_add_line(ci,Point2(x,0),Point2(x,cache.size.height),guideline_color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (syntax_coloring) {
|
if (syntax_coloring) {
|
||||||
|
|
||||||
if (custom_bg_color.a>0.01) {
|
if (custom_bg_color.a>0.01) {
|
||||||
@ -4508,6 +4516,16 @@ bool TextEdit::is_show_line_numbers_enabled() const {
|
|||||||
return line_numbers;
|
return line_numbers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TextEdit::set_show_line_length_guideline(bool p_show) {
|
||||||
|
line_length_guideline=p_show;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TextEdit::set_line_length_guideline_column(int p_column) {
|
||||||
|
line_length_guideline_col=p_column;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
void TextEdit::set_draw_breakpoint_gutter(bool p_draw) {
|
void TextEdit::set_draw_breakpoint_gutter(bool p_draw) {
|
||||||
draw_breakpoint_gutter = p_draw;
|
draw_breakpoint_gutter = p_draw;
|
||||||
update();
|
update();
|
||||||
@ -4785,6 +4803,8 @@ TextEdit::TextEdit() {
|
|||||||
completion_line_ofs=0;
|
completion_line_ofs=0;
|
||||||
tooltip_obj=NULL;
|
tooltip_obj=NULL;
|
||||||
line_numbers=false;
|
line_numbers=false;
|
||||||
|
line_length_guideline=false;
|
||||||
|
line_length_guideline_col=80;
|
||||||
draw_breakpoint_gutter=false;
|
draw_breakpoint_gutter=false;
|
||||||
next_operation_is_complex=false;
|
next_operation_is_complex=false;
|
||||||
scroll_past_end_of_file_enabled=false;
|
scroll_past_end_of_file_enabled=false;
|
||||||
|
@ -232,6 +232,8 @@ class TextEdit : public Control {
|
|||||||
bool text_changed_dirty;
|
bool text_changed_dirty;
|
||||||
bool undo_enabled;
|
bool undo_enabled;
|
||||||
bool line_numbers;
|
bool line_numbers;
|
||||||
|
bool line_length_guideline;
|
||||||
|
int line_length_guideline_col;
|
||||||
bool draw_breakpoint_gutter;
|
bool draw_breakpoint_gutter;
|
||||||
int breakpoint_gutter_width;
|
int breakpoint_gutter_width;
|
||||||
|
|
||||||
@ -485,6 +487,9 @@ public:
|
|||||||
void set_show_line_numbers(bool p_show);
|
void set_show_line_numbers(bool p_show);
|
||||||
bool is_show_line_numbers_enabled() const;
|
bool is_show_line_numbers_enabled() const;
|
||||||
|
|
||||||
|
void set_show_line_length_guideline(bool p_show);
|
||||||
|
void set_line_length_guideline_column(int p_column);
|
||||||
|
|
||||||
void set_draw_breakpoint_gutter(bool p_draw);
|
void set_draw_breakpoint_gutter(bool p_draw);
|
||||||
bool is_drawing_breakpoint_gutter() const;
|
bool is_drawing_breakpoint_gutter() const;
|
||||||
|
|
||||||
|
@ -549,6 +549,10 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
|
|||||||
set("text_editor/show_line_numbers", true);
|
set("text_editor/show_line_numbers", true);
|
||||||
set("text_editor/show_breakpoint_gutter", true);
|
set("text_editor/show_breakpoint_gutter", true);
|
||||||
|
|
||||||
|
set("text_editor/show_line_length_guideline", false);
|
||||||
|
set("text_editor/line_length_guideline_column", 80);
|
||||||
|
hints["text_editor/line_length_guideline_column"]=PropertyInfo(Variant::INT,"text_editor/line_length_guideline_column",PROPERTY_HINT_RANGE,"20, 160, 10");
|
||||||
|
|
||||||
set("text_editor/trim_trailing_whitespace_on_save", false);
|
set("text_editor/trim_trailing_whitespace_on_save", false);
|
||||||
set("text_editor/idle_parse_delay",2);
|
set("text_editor/idle_parse_delay",2);
|
||||||
set("text_editor/create_signal_callbacks",true);
|
set("text_editor/create_signal_callbacks",true);
|
||||||
|
@ -254,6 +254,8 @@ void ScriptTextEditor::update_settings() {
|
|||||||
code_editor->get_text_edit()->set_tab_size(EditorSettings::get_singleton()->get("text_editor/tab_size"));
|
code_editor->get_text_edit()->set_tab_size(EditorSettings::get_singleton()->get("text_editor/tab_size"));
|
||||||
code_editor->get_text_edit()->set_draw_tabs(EditorSettings::get_singleton()->get("text_editor/draw_tabs"));
|
code_editor->get_text_edit()->set_draw_tabs(EditorSettings::get_singleton()->get("text_editor/draw_tabs"));
|
||||||
code_editor->get_text_edit()->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/show_line_numbers"));
|
code_editor->get_text_edit()->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/show_line_numbers"));
|
||||||
|
code_editor->get_text_edit()->set_show_line_length_guideline(EditorSettings::get_singleton()->get("text_editor/show_line_length_guideline"));
|
||||||
|
code_editor->get_text_edit()->set_line_length_guideline_column(EditorSettings::get_singleton()->get("text_editor/line_length_guideline_column"));
|
||||||
code_editor->get_text_edit()->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/syntax_highlighting"));
|
code_editor->get_text_edit()->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/syntax_highlighting"));
|
||||||
code_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlight_all_occurrences"));
|
code_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlight_all_occurrences"));
|
||||||
code_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink"));
|
code_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink"));
|
||||||
@ -1281,6 +1283,8 @@ ScriptTextEditor::ScriptTextEditor() {
|
|||||||
code_editor->get_text_edit()->set_tab_size(EditorSettings::get_singleton()->get("text_editor/tab_size"));
|
code_editor->get_text_edit()->set_tab_size(EditorSettings::get_singleton()->get("text_editor/tab_size"));
|
||||||
code_editor->get_text_edit()->set_draw_tabs(EditorSettings::get_singleton()->get("text_editor/draw_tabs"));
|
code_editor->get_text_edit()->set_draw_tabs(EditorSettings::get_singleton()->get("text_editor/draw_tabs"));
|
||||||
code_editor->get_text_edit()->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/show_line_numbers"));
|
code_editor->get_text_edit()->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/show_line_numbers"));
|
||||||
|
code_editor->get_text_edit()->set_show_line_length_guideline(EditorSettings::get_singleton()->get("text_editor/show_line_length_guideline"));
|
||||||
|
code_editor->get_text_edit()->set_line_length_guideline_column(EditorSettings::get_singleton()->get("text_editor/line_length_guideline_column"));
|
||||||
code_editor->get_text_edit()->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/syntax_highlighting"));
|
code_editor->get_text_edit()->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/syntax_highlighting"));
|
||||||
code_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlight_all_occurrences"));
|
code_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlight_all_occurrences"));
|
||||||
code_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink"));
|
code_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink"));
|
||||||
|
@ -377,6 +377,8 @@ void ShaderEditor::_editor_settings_changed() {
|
|||||||
vertex_editor->get_text_edit()->set_tab_size(EditorSettings::get_singleton()->get("text_editor/tab_size"));
|
vertex_editor->get_text_edit()->set_tab_size(EditorSettings::get_singleton()->get("text_editor/tab_size"));
|
||||||
vertex_editor->get_text_edit()->set_draw_tabs(EditorSettings::get_singleton()->get("text_editor/draw_tabs"));
|
vertex_editor->get_text_edit()->set_draw_tabs(EditorSettings::get_singleton()->get("text_editor/draw_tabs"));
|
||||||
vertex_editor->get_text_edit()->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/show_line_numbers"));
|
vertex_editor->get_text_edit()->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/show_line_numbers"));
|
||||||
|
vertex_editor->get_text_edit()->set_show_line_length_guideline(EditorSettings::get_singleton()->get("text_editor/show_line_length_guideline"));
|
||||||
|
vertex_editor->get_text_edit()->set_line_length_guideline_column(EditorSettings::get_singleton()->get("text_editor/line_length_guideline_column"));
|
||||||
vertex_editor->get_text_edit()->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/syntax_highlighting"));
|
vertex_editor->get_text_edit()->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/syntax_highlighting"));
|
||||||
vertex_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlight_all_occurrences"));
|
vertex_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlight_all_occurrences"));
|
||||||
vertex_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink"));
|
vertex_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink"));
|
||||||
@ -389,6 +391,8 @@ void ShaderEditor::_editor_settings_changed() {
|
|||||||
fragment_editor->get_text_edit()->set_tab_size(EditorSettings::get_singleton()->get("text_editor/tab_size"));
|
fragment_editor->get_text_edit()->set_tab_size(EditorSettings::get_singleton()->get("text_editor/tab_size"));
|
||||||
fragment_editor->get_text_edit()->set_draw_tabs(EditorSettings::get_singleton()->get("text_editor/draw_tabs"));
|
fragment_editor->get_text_edit()->set_draw_tabs(EditorSettings::get_singleton()->get("text_editor/draw_tabs"));
|
||||||
fragment_editor->get_text_edit()->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/show_line_numbers"));
|
fragment_editor->get_text_edit()->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/show_line_numbers"));
|
||||||
|
fragment_editor->get_text_edit()->set_show_line_length_guideline(EditorSettings::get_singleton()->get("text_editor/show_line_length_guideline"));
|
||||||
|
fragment_editor->get_text_edit()->set_line_length_guideline_column(EditorSettings::get_singleton()->get("text_editor/line_length_guideline_column"));
|
||||||
fragment_editor->get_text_edit()->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/syntax_highlighting"));
|
fragment_editor->get_text_edit()->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/syntax_highlighting"));
|
||||||
fragment_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlight_all_occurrences"));
|
fragment_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlight_all_occurrences"));
|
||||||
fragment_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink"));
|
fragment_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink"));
|
||||||
@ -401,6 +405,8 @@ void ShaderEditor::_editor_settings_changed() {
|
|||||||
light_editor->get_text_edit()->set_tab_size(EditorSettings::get_singleton()->get("text_editor/tab_size"));
|
light_editor->get_text_edit()->set_tab_size(EditorSettings::get_singleton()->get("text_editor/tab_size"));
|
||||||
light_editor->get_text_edit()->set_draw_tabs(EditorSettings::get_singleton()->get("text_editor/draw_tabs"));
|
light_editor->get_text_edit()->set_draw_tabs(EditorSettings::get_singleton()->get("text_editor/draw_tabs"));
|
||||||
light_editor->get_text_edit()->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/show_line_numbers"));
|
light_editor->get_text_edit()->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/show_line_numbers"));
|
||||||
|
light_editor->get_text_edit()->set_show_line_length_guideline(EditorSettings::get_singleton()->get("text_editor/show_line_length_guideline"));
|
||||||
|
light_editor->get_text_edit()->set_line_length_guideline_column(EditorSettings::get_singleton()->get("text_editor/line_length_guideline_column"));
|
||||||
light_editor->get_text_edit()->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/syntax_highlighting"));
|
light_editor->get_text_edit()->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/syntax_highlighting"));
|
||||||
light_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlight_all_occurrences"));
|
light_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlight_all_occurrences"));
|
||||||
light_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink"));
|
light_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/caret_blink"));
|
||||||
|
Loading…
Reference in New Issue
Block a user