Commit Graph

410 Commits

Author SHA1 Message Date
Roy Qu adb3d79b60 - enhancement: Deduce type info for "auto" in some simple cases. 2022-11-27 13:32:14 +08:00
Roy Qu 8788e950dd - enhancement: show completion suggest for "namespace" after "using"
- fix: MinGW-w64 gcc displayed as "MinGW GCC"
2022-11-25 10:01:10 +08:00
Roy Qu 378cdeefd2 work save 2022-11-23 14:57:26 +08:00
Roy Qu b3a986f1ca refactor: highlighter, work save 2022-11-23 12:51:23 +08:00
Roy Qu e352ef345c - change: Default value of option "Editors share one code analyzer" is ON if available physical memory <= 32G
- change: Default value of option "Auto clear symbols in hidden editors" is ON if number of CPU cores > 8 and "Editors share one code analyzer" is on
  - refactor qsynedit's highlighter, work save
2022-11-23 11:41:16 +08:00
Roy Qu d86e93dc35 - enhancement: Options -> editor -> custom C/C++ type keywords page 2022-11-22 15:14:05 +08:00
Roy Qu 19785f9c14 fix: string index not checked 2022-11-16 11:51:50 +08:00
Roy Qu ed8b0a4c55 - enhancement: new color scheme Monokai (contributed by 小龙Dev)
- enhancemnet: add "Reserve word for Types" item in color scheme
2022-11-14 11:56:38 +08:00
Roy Qu 1dbc0972ab - fix: Escape suquences like \uxxxx and \Uxxxxxxxx in strings are not correctly highlighted. 2022-11-11 09:00:06 +08:00
Roy Qu eceba8b8f2 - enhancement: show completion tips for when define a function that already has a declaration.
- clean up code
2022-11-10 13:35:13 +08:00
Roy Qu 052f4610ee - fix: crash when alt+mouse drag selection 2022-11-10 09:05:34 +08:00
Roy Qu ae7e914788 refactor code 2022-11-10 08:05:04 +08:00
Roy Qu e0c4ba201d - fix: Crash when editing a function at the end of file without ; or {
- enhancement: Add the "parsing TODOs" option in Options Dialog / Editor / Misc
  - enhancement: Remove todos/bookmarks/breakpoints when deleting file from project
  - enhancement: Rename filenames in todos/bookmarks/breakpoints  when renaming project file
2022-11-07 21:44:12 +08:00
Roy Qu a4ef5c6987 - fix: "check when open/save" and "check when caret line changed" in Options Dialog / Editor / Syntax Check don't work 2022-11-07 17:03:46 +08:00
Roy Qu 4eec64939e - fix: Edting / show context menu when code analysis is turned on may crash app.
- fix: Show context menu when edting non c/c++ file may crash app.
2022-11-06 09:43:28 +08:00
Roy Qu 585d7678d4 work save 2022-11-04 20:27:35 +08:00
Roy Qu 01c1e96aeb - change: Don't turn on "Show some more warnings (-Wextra)" option by default for DEBUG compiler set
- fix: Changes mainwindows's compiler set combobox not correctly handled for project
  - change: Don't localize autogenerated name for new files and new project (new msys2 gcc compiler can't correctly handle non-ascii chars in filenames)
2022-10-30 11:58:42 +08:00
Roy Qu e987959551 - add default autolink for fmtlib in Windows
- reduce size of the executable of win-git-askpass tool
  - fix: memory size not correctly calculated when check if share parser.
  - fix: c/c++ file use different parser for share.
2022-10-28 12:43:47 +08:00
Roy Qu 2ce732cfa5 C/C++ use differnet parser 2022-10-28 09:47:34 +08:00
Roy Qu 833be397b0 - enhancement: add "editors share one code parser" in "options" / "editor" / "code completion", to reduce memory usage.
Turned off by default on PCs with memory > 4G; Force turned on PCs with memory < 1G.
  - enhancement: add "goto block start"/"goto block end" in "Code" menu
2022-10-27 15:18:57 +08:00
Roy Qu 0018ed5d7d - editors that not in the editing panel shouldn't trigger switch breakpoint
- editors that not in the editing panel shouldn't show context menu
2022-10-27 07:42:05 +08:00
Roy Qu 798607fba0 - fix: editors that not in the editing panel should not be syntax checked/ todo parsed/ code analyzed
- fix: editors that not in the editing panel should not trigger breakpoint/bookmark/watch switch
2022-10-26 22:39:40 +08:00
Roy Qu 04e11dbc3b - fix: selection's position not correctly set after input a char / insert string (and causes error under OVERWRITE mode) 2022-10-26 19:40:34 +08:00
Roy Qu 5bd8fedb2b - fix: Correctly set file's real encoding to ASCII after saving 2022-10-26 16:23:34 +08:00
Roy Qu da2a7549f1 - fix: Encoding info in the status bar not correctly updated when save a new file 2022-10-26 09:33:45 +08:00
Roy Qu cab0c8ca24 - enhancement: add "auto reformat when saving codes" in "Options" / "Editor" / "Misc" (off by default)
- enhancement: use "todo" and "fixme" as the keyword for TODO comments
2022-10-25 10:13:51 +08:00
Roy Qu b958cdc00c - enhancement: when closing project, prevent all editors that belongs to the project check syntax and parse todos. 2022-10-24 22:53:46 +08:00
Roy Qu 2e7391d870 - enhancement: auto locate current open file in the project view panel 2022-10-24 20:01:46 +08:00
Roy Qu 0d45cca2a5 - enhancement: reduce memory usage when deciding file type 2022-10-24 12:51:50 +08:00
Roy Qu fcb64a69af - fix: info not correctly update when open an editor 2022-10-24 10:58:30 +08:00
Roy Qu 012628aef3 - fix: editor & class browser not correct updated when editor is switched but not focused
- fix: when invalidating a c/c++ source file, statements that not declared in it are wrongly removed.
2022-10-23 10:40:00 +08:00
Roy Qu e8300abd65 - redesign the project parser, more efficient and correct
- enhancement: todo parser for project
2022-10-22 23:29:12 +08:00
Roy Qu aadc8fd0f2 fix: crash when close editor that have issues 2022-10-21 19:12:18 +08:00
Roy Qu 1301168135 - change: add/remove/new project file won't save all openned project files.
- fix: save all project files shouldn't trigger syntax check in inactive editors
2022-10-21 12:43:02 +08:00
Roy Qu 8e771bd322 minor change 2022-10-21 09:07:32 +08:00
Roy Qu 351c728cf0 minor change 2022-10-19 19:43:48 +08:00
Roy Qu eed7fdcf56 fix: click a non-existing header name will get an error 2022-10-18 23:22:29 +08:00
Roy Qu 29da40bb14 - fix: toggle block comment/delete to word begin/delete to word end are not correctly disabled when editor not open 2022-10-18 19:09:46 +08:00
Roy Qu 0c305272c0 clean up code 2022-10-18 12:46:51 +08:00
Roy Qu a62910e1a3 - fix: editor tooltip for #include_next is not correctly calculated
- fix: ctrl+click on #include_next header name doesn't open the right file
  - enhancement: parser used for non-project C files won't find header files in C++ include folders.
2022-10-18 12:24:59 +08:00
Roy Qu 984d10eaf1 - enhancement: project and non-project files use different breakpoint and watchvar view (auto switch when not debugging and editor switched)
- enhancement: save project's breakpoint and watchvar in it's own debug file.
  - enhancement: delete a watch expression don't reload who watch var view
2022-10-16 23:10:57 +08:00
Roy Qu 5f0371cb5b - enhancement: add option "max undo memory usage" in the options / editor / misc page 2022-10-11 22:33:09 +08:00
Roy Qu 975d90c8f1 - enhancement: save project's bookmark in it's own bookmark file
- enhancement: project and non-project files use different bookmark view (auto switch when switch editors)
  - enhancement: auto merge when save bookmarks.
2022-10-11 21:51:33 +08:00
Roy Qu f67628863f - fix: minor memory leaks when set itemmodels
- fix: thread for parsing doesn't correctly released when parsing finished ( so and the parser)
2022-10-10 18:05:18 +08:00
Roy Qu 25ac4d5048 refactor: open/create project
refactor: save/load project layout
2022-10-09 22:19:18 +08:00
Roy Qu 1e5a130def - fix: gliches in UI's left panel in some OS
- fix: correctly restore project layout when reopen it
  - fix: correctly handle rename unit
  - refactor: use filename as the primary key for project unit
2022-10-08 23:30:30 +08:00
Roy Qu e557a31848 refactor project 2022-10-01 08:54:44 +08:00
Roy Qu c1b414d10a - fix: project files that lies in project include folder is wrongly openned in Read-only mode 2022-09-30 17:51:26 +08:00
Roy Qu 58a8b7e6dd - fix: when "cleary symbol table of hidden editors" is turned on, content in the editor reshown is not correctly parsed 2022-09-27 18:53:42 +08:00
Roy Qu d946b9373e refactor: clean up QSynedit 2022-09-27 14:01:38 +08:00
Roy Qu a165efa7cf - fix: astyle.exe can't correctly format files that using non-ascii identifier 2022-09-26 16:17:02 +08:00
Roy Qu ebf78dbecb work done: make qsynedit a standalone module 2022-09-26 14:54:28 +08:00
Roy Qu 00ea7ee773 create QSynedit namespace 2022-09-25 09:55:18 +08:00
Roy Qu ca4687c7cd fix: don't clear symbol table when minimized 2022-08-27 11:07:48 +08:00
Roy Qu 4df3ba4f14 - enhancement: don't parse all openned files when start up
- enhancement: don't parse files when close all and exit
2022-08-24 17:05:16 +08:00
Roy Qu c7e8ee6072 - enhancement: don't show cpp defines when editing c files 2022-07-28 13:51:38 +08:00
Roy Qu 8acee3ed20 - fix: correctly update the start postion of selection after code completion 2022-07-20 16:57:42 +08:00
Roy Qu a6f334f837 remove all warnings 2022-07-04 11:39:06 +08:00
Roy Qu 2d7c2145e3 - enhancement: prevent group undo when caret position changed
- fix: undo link break may lose leading spaces
  refactor undo
2022-07-04 10:01:40 +08:00
Roy Qu 24a4f0e127 - change: just show one function hint for overloaded functions 2022-06-30 14:39:12 +08:00
Roy Qu 0985b6444b - fix: wrong auto indent calculation for comments 2022-06-28 09:37:18 +08:00
Roy Qu 5557d9c103 - change: position caret to (1,1) when create a new file using editor's new file template 2022-06-23 20:39:00 +08:00
Roy Qu 895a927ee0 - fix: select all shouldn't set file's modified flag
- enhancement: add (return)type info for functions/varaibles/typedefs in the class browser panel
2022-06-23 13:05:10 +08:00
Roy Qu 85c18d1f66 - enhancement: use different color to differenciate folder and headers in completion popup window
- enhancement: auto add "/" to folder when completing #include headers
2022-06-20 21:43:42 +08:00
Roy Qu 5a31e1dd42 - fix: rename macro doesn't work in project
- fix: can't remove a shortcut
  - enhancement: hide all menu actions in the option dialog's shortcut panel
2022-06-12 22:54:34 +08:00
Roy Qu 5182e200fb - enhancement: when ctrl+mouse cursor hovered an identifier or header name, use underline to highlight it 2022-06-08 16:05:54 +08:00
Roy Qu c295649280 - fix: errors in the calculation of cut limit 2022-06-01 20:52:35 +08:00
Roy Qu 85f3a04bcf - fix: #define followed by tab not correctly parsed
- enhancement: don't auto add () when completing C++ io manipulators ( std::endl, std::fixed, etc.)
  - fix: can't goto to definition of std::endl
2022-06-01 17:02:03 +08:00
Roy Qu fbdd268484 - fix: cursor is wrongly positioned when insert code snippets that don't have placeholders 2022-05-25 18:41:56 +08:00
Roy Qu 67cd580539 - fix: delete & insert in column mode not correctly handled
- fix: input with ime in column mode not correctly handled
2022-05-18 23:17:06 +08:00
Roy Qu d9259fb9e4 - fix: index of the longest line not correctly updated when insert/delete multiple lines ( which will cause selection errors) 2022-04-24 09:50:30 +08:00
Roy Qu a64bbd0d4b - enhancement: add project templates for tcp server / tcp client
- enhancement: only show function tips when cursor is after ',' or '('.
  - enhancement: when auto complete function names, only append '(' if before identifier or "/'
2022-04-22 15:55:39 +08:00
Roy Qu 0a1c2aea98 refactor: SynDocument and SynDocumentLine 2022-04-19 21:18:41 +08:00
Roy Qu 076a92fb77 - fix: tab/shift+tab not correctly handled in options dialog's code template page 2022-04-16 20:14:47 +08:00
Roy Qu 9d401cce42 - enhancement: prefer local headers over system headers when complete #include header path 2022-04-14 22:25:49 +08:00
Roy Qu 8c99d28307 fix: can't convert encoding 2022-04-13 23:15:31 +08:00
Roy Qu 85026ad5bf remove debug output 2022-04-13 22:34:27 +08:00
Roy Qu 9254a13d84 - fix: parenthesis skip doesn't work when editing non-c/c++ files 2022-04-13 20:04:10 +08:00
Roy Qu ca0ad3249f - 功能增强:输入'('时,如果下一个非空白字符是'('或者标识符/数字,则不自动补全
- 功能增强:如果项目文件和项目的编码相同,则不保存它的编码信息
 - 修正:在保存文件时,会错误的使用缺省编码而不是文件原有的编码进行保存
2022-04-13 16:42:23 +08:00
Roy Qu fa0404117f fix: display bug 2022-04-12 07:48:06 +08:00
Roy Qu b1cc0457ea - fix: hide function tips, when move or resize the main window 2022-04-11 09:25:22 +08:00
Roy Qu 01662a95d1 - fix: auto syntax check doesn't work for new files
- change: don't auto jump to the first syntax error location when compile
2022-04-07 21:35:09 +08:00
Roy Qu 7e284b98f2 - fix: don't show tips in the editor, when selecting by mouse 2022-04-07 17:30:06 +08:00
Roy Qu 7d86c6e5b1 - fix: crash when editing txt file and input symbol at the beginning of a line 2022-04-03 11:54:07 +08:00
Roy Qu f7a6db7005 - change: only auto complete symbol '(' when at line end, or there are spaces or right ')' '}' ']'after it
- fix: mouse drag may fail when start drag at the right half of the selection's last character
2022-03-31 19:36:46 +08:00
Roy Qu 0fc995e56a - enhancement: draw cursor for column mode
- enahcnement: edit/delete in multiline ( column mode), press ese to exit
2022-03-25 22:13:00 +08:00
Roy Qu 8b224010e0 - enhancement: alt+shift+arrow do column selection
- fix: input may cause error, if selection in column mode and begin/end at the same column
  - enhancement: draw selection line if selection in column mode and begin/end at the same column
2022-03-25 12:59:53 +08:00
Roy Qu 090cccc033 refactor: remove ProjectUnit's mEditor field 2022-03-21 09:08:05 +08:00
Roy Qu 4209241dea - fix: when size of undo items is greater than the limit, old items should be poped in group
- enhancement: max undo size in option dialog's editor->misc tab
2022-03-20 18:10:53 +08:00
Roy Qu 12e772747c - enhancement: shortcut for goto definition/declaration
- change: ctrl+click symbol will goto definition, instead of got declaration
2022-03-19 15:33:15 +08:00
Roy Qu fc11f1223b - fix: corresponding '>' not correctly removed when deleting '<' in #include line 2022-03-19 14:26:06 +08:00
Roy Qu b0c8526d97 - fix: order for parameters generated by auto link may not correct 2022-03-19 14:19:32 +08:00
Roy Qu 2e77734d67 remove nouse debug output 2022-03-18 23:17:01 +08:00
Roy Qu ab4ca36fa4 - fix: hide function tip when scroll
- fix: short cut for goto definition/declaration doesn't work
2022-03-18 23:13:43 +08:00
Roy Qu 54592276c8 - fix: wrong font size of exported RTF file
- fix: correct tokenize statements like "using ::memcpy";
2022-03-15 21:33:27 +08:00
Roy Qu d45c0b87b3 - fix: "ok" button should be disabled when no template selected in new project dialog
- enhancement: auto add parentheis when complete function like MARCOs
2022-03-15 20:17:47 +08:00
Roy Qu dd5ce57608 - enhancement: disable "code completion" will disable enhanced syntax highlight 2022-03-13 18:31:05 +08:00
Roy Qu 0286043cd7 - fix: syntax color of #include header filenames not correct 2022-03-12 21:42:32 +08:00
Roy Qu 5789aeee45 - enhancement: auto detect "gbk" encoding when running in zh_CN locale under Linux
- enhancement: disable encoding submenu when editor closed
  - enhancement: clear infos in the status bar when editor closed
2022-03-12 17:37:53 +08:00
Roy Qu 4c8bed0445 - fix: calculation for code snippets's tab stop positions is not correct 2022-03-10 15:05:16 +08:00