diff --git a/NEWS.md b/NEWS.md
index 7ff1c76f..8c34f71c 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -14,6 +14,7 @@ Red Panda C++ Version 1.0.0
- enhancement: toggle block comment
- fix: syntax color of #include header filenames not correct
- enhancement: disable "code completion" will disable enhanced syntax highlight
+ - enhancement: match bracket
Red Panda C++ Version 0.14.5
- fix: the "gnu c++ 20" option in compiler set options is wrong
diff --git a/RedPandaIDE/RedPandaIDE_zh_CN.ts b/RedPandaIDE/RedPandaIDE_zh_CN.ts
index 41c3c5e2..a4b02257 100644
--- a/RedPandaIDE/RedPandaIDE_zh_CN.ts
+++ b/RedPandaIDE/RedPandaIDE_zh_CN.ts
@@ -1272,10 +1272,10 @@ Are you really want to continue?
-
-
-
-
+
+
+
+
Error
错误
@@ -1289,34 +1289,34 @@ Are you really want to continue?
另存为
-
+
The text to be copied exceeds count limit!
要复制的内容超过了行数限制!
-
+
The text to be copied exceeds character limit!
要复制的内容超过了字符数限制!
-
+
The text to be cut exceeds count limit!
要剪切的内容超过了行数限制!
-
+
The text to be cut exceeds character limit!
要剪切的内容超过了字符数限制!
-
+
Print Document
打印文档
-
-
-
+
+
+
Ctrl+click for more info
Ctrl+单击以获取更多信息
@@ -1325,27 +1325,27 @@ Are you really want to continue?
未找到符号'%1'!
-
+
astyle not found
找不到astyle程序
-
+
Can't find astyle in "%1".
找不到astyle程序"%1".
-
+
Break point condition
断点条件
-
+
Enter the condition of the breakpoint:
输入当前断点的生效条件:
-
+
Readonly
只读
@@ -3787,7 +3787,7 @@ Are you really want to continue?
-
+
@@ -3811,8 +3811,8 @@ Are you really want to continue?
工具
-
-
+
+
Run
运行
@@ -3823,26 +3823,26 @@ Are you really want to continue?
-
-
+
+
Project
项目
-
+
Watch
监视
-
+
Structure
结构
-
+
Files
文件
@@ -3852,10 +3852,10 @@ Are you really want to continue?
-
-
-
-
+
+
+
+
Debug
调试
@@ -3888,7 +3888,7 @@ Are you really want to continue?
-
+
Search
查找
@@ -3913,7 +3913,7 @@ Are you really want to continue?
替换
-
+
Close
关闭
@@ -3924,12 +3924,12 @@ Are you really want to continue?
-
+
Code
代码
-
+
Window
窗口
@@ -3947,59 +3947,59 @@ Are you really want to continue?
新建
-
+
Ctrl+N
Ctrl+N
-
+
Open...
打开...
-
+
Ctrl+O
Ctrl+O
-
+
Save
保存
-
+
Ctrl+S
Ctrl+S
-
+
Save As...
另存为...
-
+
Save As
另存为
-
+
Save All
全部保存
-
+
Ctrl+Shift+S
Ctrl+Shift+S
-
+
Options
选项
-
-
-
+
+
+
Compile
@@ -4007,62 +4007,62 @@ Are you really want to continue?
-
+
Tools Output
工具输出
-
+
Tool Panels
工具面板
-
+
Git
Git
-
+
F9
F9
-
+
F10
F10
-
+
Undo
恢复
-
+
Ctrl+Z
Ctrl+Z
-
+
Redo
重做
-
+
Ctrl+Y
Ctrl+Y
-
+
Cut
剪切
-
+
Ctrl+X
Ctrl+X
-
+
@@ -4070,144 +4070,144 @@ Are you really want to continue?
复制
-
+
Ctrl+C
Ctrl+C
-
+
Paste
粘贴
-
+
Ctrl+V
Ctrl+V
-
+
Select All
选择全部
-
+
Ctrl+A
Ctrl+A
-
+
Indent
缩进
-
+
UnIndent
取消缩进
-
+
Toggle Comment
切换注释
-
+
Ctrl+/
Ctrl+/
-
+
Collapse All
全部收起
-
+
Uncollapse All
全部展开
-
+
Encode in ANSI
使用ANSI编码
-
+
Encode in UTF-8
使用UTF-8编码
-
+
Auto Detect
自动检测
-
+
Convert to ANSI
转换为ANSI编码
-
+
Convert to UTF-8
转换为UTF-8编码
-
-
+
+
Compile & Run
编译运行
-
+
F11
F11
-
-
+
+
Rebuild All
全部重编译
-
+
F12
F12
-
+
Stop Execution
停止执行
-
+
F6
F6
-
+
F5
F5
-
+
Step Over
单步跳过
-
+
F7
F7
-
+
Step Into
单步进入
-
+
Problem Set
试题集
@@ -4263,20 +4263,20 @@ Are you really want to continue?
-
+
TODO
TODO
-
+
Bookmark
书签
-
+
Problem
试题
@@ -4333,17 +4333,17 @@ Are you really want to continue?
期望输出
-
+
Help
帮助
-
+
Refactor
重构
-
+
View
视图
@@ -4352,529 +4352,539 @@ Are you really want to continue?
工具窗口
-
+
Main
主工具栏
-
+
Compiler Set
编译器配置集
-
-
+
+
New Source File
新建源代码文件
-
+
Tab
Tab
-
+
Shift+Tab
Shift+Tab
-
+
F8
F8
-
+
Step Out
单步跳出
-
+
Ctrl+F8
Ctrl+F8
-
+
Run To Cursor
执行到光标处
-
+
Ctrl+F5
Ctrl+F5
-
+
Continue
继续执行
-
+
F4
F4
-
+
Add Watch...
添加监视
-
+
View CPU Window...
打开CPU信息窗口...
-
+
Exit
退出
-
+
Find...
查找...
-
+
Ctrl+F
Ctrl+F
-
+
Find in Files...
在文件中查找...
-
+
Ctrl+Shift+F
Ctrl+Shift+F
-
+
Replace...
替换
-
+
Ctrl+R
Ctrl+R
-
+
Find Next
查找下一个
-
+
F3
F3
-
+
Find Previous
查找前一个
-
+
Shift+F3
Shift+F3
-
+
Remove Watch
删除监视值
-
+
Remove All Watches
Remove All
删除全部监视值
-
+
Modify Watch...
修改监视值
-
+
Reformat Code
对代码重新排版
-
+
Ctrl+Shift+A
Ctrl+Shift+A
-
+
Go back
前一次编辑位置
-
+
Ctrl+Alt+Left
Ctrl+Alt+Left
-
+
Forward
后一次编辑位置
-
+
Ctrl+Alt+Right
Ctrl+Alt+Right
-
+
Ctrl+W
Ctrl+W
-
+
Close All
全部关闭
-
+
Ctrl+Shift+W
Ctrl+Shift+W
-
+
Maximize Editor
最大化编辑器
-
+
Ctrl+F11
Ctrl+F11
-
+
Next
下一窗口
-
+
Ctrl+Tab
Ctrl+Tab
-
+
Previous
前一窗口
-
+
Ctrl+Shift+Tab
Ctrl+Shift+Tab
-
+
Toggle breakpoint
切换断点
-
+
Ctrl+F4
Ctrl+F4
-
+
Clear all breakpoints
删除所有断点
-
+
Breakpoint property...
设置断点条件...
-
+
Goto Declaration
跳转到声明处
-
+
Goto Definition
跳转到定义处
-
+
Find references
查找符号的引用
-
+
Open containing folder
打开所在的文件夹
-
+
Ctrl+B
Ctrl+B
-
+
Open a terminal here
打开命令行窗口
-
+
File Properties...
文件属性...
-
+
Close Project
关闭项目
-
+
Project options
项目属性
-
+
New Project...
新建项目...
-
+
New File
新建项目文件
-
+
Add to project...
添加到项目...
-
+
Remove from project
从项目删除
-
+
View Makefile
查看Makefile
-
+
Clean
清理构建文件
-
+
Open Folder in Explorer
在浏览器中打开
-
+
Open In Terminal
在终端中打开
-
+
About
关于
-
+
Rename Symbol
重命名符号
-
+
Shift+F6
Shift+F6
-
+
Print...
打印...
-
+
Ctrl+P
Ctrl+P
-
+
Export As RTF
导出为RTF
-
+
Export As HTML
导出为HTML
-
+
Move To Other View
移动到其他视图
-
+
Ctrl+M
Ctrl+M
-
-
+
+
C++ Reference
C++参考手册
-
+
C Reference
C参考手册
-
+
Show Tool Panels
显示全部工具面板
-
+
Create Git Repository
Create Repository
创建Git仓库
-
+
Commit
提交(Commit)
-
+
Revert
撤销(Revert)
-
+
Reset
回滚(Reset)
-
+
Add Files
添加文件
-
+
Restore
还原(Restore)
-
+
Website
官方网站
-
+
Branch/Switch
分支切换(Switch)
-
+
Merge
合并(Merge)
-
-
+
+
Show Log
Log
显示日志(Log)
-
+
Remotes...
远程仓库...
-
+
Fetch
取回(Fetch)
-
+
Pull
拉取(Pull)
-
+
Push
推送(Push)
-
+
Hide Non Support Files
隐藏不支持的文件
-
+
Toggle Block Comment
切换块注释
-
+
Alt+Shift+A
Alt+Shift+A
+
+
+ Match Bracket
+ 匹配当前括号
+
+
+
+ Ctrl+]
+ Ctrl+]
+
Tool Window Bars
工具窗口栏
-
+
Status Bar
状态栏
-
+
Ctrl+Backspace
Ctrl+Backspace
-
+
Interrupt
中断
-
-
+
+
Delete To Word Begin
删除到单词开头
-
+
Ctrl+Shift+B
Ctrl+Shift+B
-
+
Delete to Word End
删除到单词结尾
-
+
Ctrl+Shift+E
Ctrl+Shift+E
-
+
New Class...
Add Class...
新建类...
-
-
+
+
New Header...
New Header
新建头文件...
@@ -4884,47 +4894,47 @@ Are you really want to continue?
插入行
-
+
Delete Line
删除当前行
-
+
Ctrl+D
Ctrl+D
-
+
Duplicate Line
复制当前行
-
+
Ctrl+E
Ctrl+E
-
+
Delete Word
删除当前单词
-
+
Ctrl+Shift+D
Ctrl+Shift+D
-
+
Delete to EOL
删除到行尾
-
+
Ctrl+Del
Ctrl+Del
-
+
Delete to BOL
删除到行首
@@ -4933,27 +4943,27 @@ Are you really want to continue?
C/C++参考
-
+
EGE Manual
EGE图形库手册
-
+
Add Bookmark
添加书签
-
+
Remove Bookmark
删除书签
-
+
Modify Bookmark Description
修改书签说明
-
+
Locate in Files View
在文件视图中定位
@@ -4962,7 +4972,7 @@ Are you really want to continue?
打开文件夹
-
+
Running Parameters...
运行参数...
@@ -5598,8 +5608,8 @@ Are you really want to continue?
Git需要用信息进行提交。
-
-
+
+
Choose Working Folder
选择工作文件夹
diff --git a/RedPandaIDE/mainwindow.cpp b/RedPandaIDE/mainwindow.cpp
index 6cfc2f56..c9b8eed2 100644
--- a/RedPandaIDE/mainwindow.cpp
+++ b/RedPandaIDE/mainwindow.cpp
@@ -7130,3 +7130,12 @@ void MainWindow::on_actionToggle_Block_Comment_triggered()
}
}
+
+void MainWindow::on_actionMatch_Bracket_triggered()
+{
+ Editor * editor = mEditorList->getEditor();
+ if (editor != NULL ) {
+ editor->matchBracket();
+ }
+}
+
diff --git a/RedPandaIDE/mainwindow.h b/RedPandaIDE/mainwindow.h
index c5e904d1..93ab94f2 100644
--- a/RedPandaIDE/mainwindow.h
+++ b/RedPandaIDE/mainwindow.h
@@ -609,6 +609,8 @@ private slots:
void on_actionToggle_Block_Comment_triggered();
+ void on_actionMatch_Bracket_triggered();
+
private:
Ui::MainWindow *ui;
EditorList *mEditorList;
diff --git a/RedPandaIDE/mainwindow.ui b/RedPandaIDE/mainwindow.ui
index d5dd495e..f03b3db4 100644
--- a/RedPandaIDE/mainwindow.ui
+++ b/RedPandaIDE/mainwindow.ui
@@ -1422,7 +1422,7 @@
0
0
1114
- 26
+ 25
diff --git a/RedPandaIDE/qsynedit/KeyStrokes.cpp b/RedPandaIDE/qsynedit/KeyStrokes.cpp
index 3e29c2e5..accdba91 100644
--- a/RedPandaIDE/qsynedit/KeyStrokes.cpp
+++ b/RedPandaIDE/qsynedit/KeyStrokes.cpp
@@ -268,5 +268,5 @@ void SynEditKeyStrokes::resetDefaults()
add(SynEditorCommand::ecNormalSelect, Qt::Key_N, Qt::ControlModifier | Qt::ShiftModifier);
add(SynEditorCommand::ecColumnSelect, Qt::Key_C, Qt::ControlModifier | Qt::ShiftModifier);
add(SynEditorCommand::ecLineSelect, Qt::Key_L, Qt::ControlModifier | Qt::ShiftModifier);
- add(SynEditorCommand::ecMatchBracket, Qt::Key_B, Qt::ControlModifier | Qt::ShiftModifier);
+// add(SynEditorCommand::ecMatchBracket, Qt::Key_B, Qt::ControlModifier | Qt::ShiftModifier);
}
diff --git a/RedPandaIDE/qsynedit/SynEdit.cpp b/RedPandaIDE/qsynedit/SynEdit.cpp
index 26eac580..6e284c57 100644
--- a/RedPandaIDE/qsynedit/SynEdit.cpp
+++ b/RedPandaIDE/qsynedit/SynEdit.cpp
@@ -5699,6 +5699,11 @@ void SynEdit::ExecuteCommand(SynEditorCommand Command, QChar AChar, void *pData)
verticalScrollBar()->setValue(verticalScrollBar()->value()+mMouseWheelScrollSpeed);
break;
case SynEditorCommand::ecMatchBracket:
+ {
+ BufferCoord coord = getMatchingBracket();
+ if (coord.Char!=0 && coord.Line!=0)
+ internalSetCaretXY(coord);
+ }
break;
default:
break;
diff --git a/RedPandaIDE/qsynedit/SynEdit.h b/RedPandaIDE/qsynedit/SynEdit.h
index fff08f45..848b22f0 100644
--- a/RedPandaIDE/qsynedit/SynEdit.h
+++ b/RedPandaIDE/qsynedit/SynEdit.h
@@ -277,6 +277,7 @@ public:
virtual void shifttab() { commandProcessor(SynEditorCommand::ecShiftTab);}
virtual void toggleComment() { commandProcessor(SynEditorCommand::ecToggleComment);}
virtual void toggleBlockComment() { commandProcessor(SynEditorCommand::ecToggleBlockComment);}
+ virtual void matchBracket() { commandProcessor(SynEditorCommand::ecMatchBracket);}
virtual void beginUpdate();
virtual void endUpdate();