Commit Graph

999 Commits

Author SHA1 Message Date
Roy Qu c637ca3e4b - fix: Can't debug project when project is saved after it's compiled. 2023-03-01 18:46:43 +08:00
Roy Qu e7013cff1a - fix: Project files that not in the project folder is not correctly handled in makefile.
- enhancement: Improve support for function pointer typedefs.
2023-03-01 11:29:30 +08:00
Roy Qu 00a7a770ed update NEWS.md 2023-02-28 16:34:42 +08:00
Roy Qu d3fde7ab53 - change: Merge search and replace to one dialog.
- fix: Search dialog's "Match whole word" option doesn't work with "Use Regular expresion".
  - fix:Search dialog's "Close after search" option doesn't work.
  - change: Fill the search dialog with the current selection if it's available.
2023-02-28 16:17:56 +08:00
Roy Qu 78739e388a - enhancement: Add "Languages" page group in the options dialog.
- enhancement: Add "ASM Generation" page in the options dialog.
  - change: Move "Custom C/C++ keywords" from group "Editor" to "Lanauges" in the options dialog.
  - change: Rename "Folder" page to "Folder / Reset default settings" in the options dialog.
  - enhancement: Generate asm with/without SEH directives.
  - enhancement: Generate asm using intel style/att style.
  - enhancement: make description for jump/cmov/setb instructions more explicit. (used for signed or unsigned)
2023-02-28 10:49:50 +08:00
Roy Qu a768d74116 - enhancement: Syntax check for assembly files.
Don't show debug tips in cpu info dialog
2023-02-27 08:53:39 +08:00
Roy Qu c9bb03350d - enhancement: Show descriptions mouse tip for assebmly instructions. (editor / cpu info dialog)
- fix: When completing resigter names, an extra '%' is wrongly added.
2023-02-26 17:50:03 +08:00
Roy Qu 511b6c679b - enhancement: Auto close other search/replace dialogs when start to search/replace.
- change: Remove "prompt when replace" in the replace.
  - fix: Search/replace with regex is not correctly handled.
2023-02-26 08:31:13 +08:00
Roy Qu 12983f5ae0 - fix: Word on the last line's end can't be searched. 2023-02-25 22:30:34 +08:00
Roy Qu 5bef664106 - fix: Search dialog shouldn't have "confirm when replace".
- change: Default value for the debugger debugger panel "memory view's columns" is changed from 8 to 16.
  - change: Default value for the debugger debugger panel "memory view's rows" is changed from 8 to 16.
  - enhancement: Display hex value as ascii chars in the debugger panel memory view tab.
2023-02-25 21:42:30 +08:00
Roy Qu 5d9ecea491 - enhancement: Add descriptions for x86 registers in the cpu info dialog. 2023-02-25 21:19:14 +08:00
Roy Qu 2dd835f4ce - fix: Function with reference type return value is not correctly parsed. 2023-02-25 12:23:45 +08:00
Roy Qu a4a7ff158c - fix: Static class members is not correctly recognized as static. 2023-02-25 12:15:54 +08:00
Roy Qu a7c73200d5 - enhancement: Keep project compile warning & error infos in the issues table, before project file is edited. 2023-02-24 12:17:30 +08:00
Roy Qu e5c6ea1a43 - Enhancement: New file templates for C / C++ / GAS files 2023-02-22 22:18:21 +08:00
Roy Qu 4522403744 work save 2023-02-22 17:29:58 +08:00
Roy Qu 8ad1915acd - change: Don't stop debug when breakpoint can't be set 2023-02-22 10:39:20 +08:00
Roy Qu c204b39e00 - enhancement: Remove all breakpoints for a closed non-project file.
- enhancement: Check and remove all non-exist breakpoints before debug a project
2023-02-22 08:59:00 +08:00
Roy Qu dc783f70dc - fix: Ctrl+click is too sensitive. 2023-02-21 21:04:36 +08:00
Roy Qu f03c25a672 - fix: Enum value defines is not correctly parsed.
- enhancement: Use differenct source file for each language in project templates
2023-02-21 20:35:41 +08:00
Roy Qu 3ede3e4ce6 - change: Remove all breakpoints of the current non-project file, when it is closed. 2023-02-21 15:43:45 +08:00
Roy Qu 457e84f86a - Enhancement: Correctly init panel sizes when first run. 2023-02-21 09:47:59 +08:00
Roy Qu fcca49e9e5 - fix: Can't debug when debug a file while other file has breakpoints
- change: Don't save breakpoints for non-project files
2023-02-21 09:34:40 +08:00
Roy Qu 60db5a894b - Enhancement: Support C11 ano 2023-02-20 17:52:42 +08:00
Roy Qu 242f8a742e - Enhancement: Disable reformat code for non-C/C++ files. 2023-02-18 22:09:14 +08:00
Roy Qu 57c4c5bc98 - fix: Only C/C++/GAS files can set breakpoints.
- Enhancement: Don't show breakpoints/watch related menuitems in context menu for non-C/C++/GAS files.
2023-02-18 16:20:07 +08:00
Roy Qu da16abf4b1 update NEWS.md 2023-02-18 13:25:50 +08:00
Roy Qu 96aa836040 - enhancement: Auto create project custom executable folder if not existing. 2023-02-18 12:54:28 +08:00
Roy Qu 24734bfb28 - enhancement: If executable doesn't have symbol table, inform user and stop.
- enhancement: If breakpoint is setted but executable doesn't have debug info ,inform user and stop.
  - enhancement: If current compiler set has "strip addition infos(-s)" enabled, inform user and stop.
2023-02-18 12:08:03 +08:00
Roy Qu a91dc12519 - enhancement: Reduce flicker when editing big files. 2023-02-18 07:09:19 +08:00
Roy Qu f4b239e15d - enhancement: Greatly reduce time to open/edit big files. 2023-02-17 23:56:13 +08:00
Roy Qu 9f036d0d70 - enhancement: Correctly handle high-precision mouse wheel / touchpad in editors. 2023-02-17 16:16:57 +08:00
Roy Qu fcd086ebb5 - enhancement: Show "..." instead of "...}" when folding #if/#endif 2023-02-17 15:47:53 +08:00
Roy Qu dbdf098b94 - enhancement: Limit max speed for mouse scroll (and touch pad?) 2023-02-17 15:33:33 +08:00
Roy Qu 52eb2960ac - change: Remove "Compile & Run" menu item. It's replaced by "Run". 2023-02-17 09:18:39 +08:00
Roy Qu 8254de68c8 - enhancement: Delay for tooltips.
- enhancement: "Tool tips delay" option in Options/editor/Tooltips
2023-02-17 09:03:35 +08:00
Roy Qu a8d9550632 - enhancement: Toggle comment for asm/makefile/lua files. 2023-02-17 07:40:12 +08:00
Roy Qu 3f971b34bb - enhancement: Improve auto indent for embedding no-brace statements like for-for-if. 2023-02-16 22:27:04 +08:00
Roy Qu 885470782c - enhancement: Parser not correctly released if save a c file to non-c file. 2023-02-16 18:36:15 +08:00
Roy Qu da3bcf1c6a - enhancement: Basic code completion for xmake.lua. 2023-02-16 17:49:55 +08:00
Roy Qu 8fca2cc9ce - enhancement: Syntax highlight for lua. 2023-02-16 12:27:07 +08:00
Roy Qu 46dd637770 - enhancement: Syntaxer for lua. 2023-02-16 12:26:35 +08:00
Roy Qu 0bedb63fa2 - fix: Wrong selection position after delete in column mode. 2023-02-15 20:49:42 +08:00
Roy Qu 6068f70d61 - enhancement: New "Hello GAS" and "GAS and C" templates for linux and win64. 2023-02-15 17:50:14 +08:00
Roy Qu 25d0f5b782 - fix: Can't parse enum values.
- fix: Can't correctly show enum values in the class browser.
  - fix: Can't correctly create project, if template's encoding setting is not valid.
  - enhancement: Add "embed assembly" template.
2023-02-15 16:24:24 +08:00
Roy Qu 926802a8f5 - change: Don't confirm rebuild/recompile when run/debug. 2023-02-14 23:42:11 +08:00
Roy Qu 364aaf9704 - fix: If current editor is empty, parser will parse the file's content on the disk instead from the editor. 2023-02-14 09:04:27 +08:00
Roy Qu 08fdeca219 - fix: Can't compile files with chinese characters in filenames using winlibs mingw gcc 2023-02-13 19:21:11 +08:00
Roy Qu aaae910c59 - change: The default disassemble style of CPU Dialog is "AT&T" now. 2023-02-13 10:24:35 +08:00
Roy Qu 57cbf3a49a - fix: New non-saved filenames is wrongly saved in the last openfiles list.
- fix: File is parsed before editor is fully created.
  - enhancement: New GAS File in the File Menu
  - change: rename "New File" to "New C/C++ File"
2023-02-12 22:33:34 +08:00
Roy Qu 9976ee248a - enhancement: If GAS source file has "_start" label, compile it with "-nostartfiles". 2023-02-12 18:15:41 +08:00
Roy Qu 02b64497d5 - enhancement: Keyword completion for asm/GAS files. 2023-02-12 18:13:24 +08:00
Roy Qu 0e3441e604 - fix: Crash when debug project that has nasm files.
- enhancement: Generate debug info for nasm files in Linux/MacOS.
  - enhancement: Compile/Run/Debug GAS source files.
  - enhancement: Compile/Debug GAS source files in project.
2023-02-12 12:53:14 +08:00
Roy Qu ff86213aee - fix: Confirm if recompile, when start to debug and project files has modifications. 2023-02-11 11:31:54 +08:00
Roy Qu 7b52eff40d - enhancement: Code folding for #if/#endif
- enhancement: When folding "if", don't fold "else";
2023-02-10 22:27:36 +08:00
Roy Qu 6b4bfc3e64 - fix: Crash when create or open txt files in project. 2023-02-10 19:28:18 +08:00
Roy Qu 78f9aa8b3c - fix: Can't correctly load project's custom compile options, if it contains more than one line contents. 2023-02-10 09:42:55 +08:00
Roy Qu 92e9d11a11 - fix: preprocessors is not correctly suggested.
- fix: javadoc-style docstring is not correctly suggested
  - enhancement: Better syntax color for asm files.
2023-02-09 21:04:10 +08:00
Roy Qu f91e35192f - fix: preprocessors is not correctly suggested.
- fix: javadoc-style docstring is not correctly suggested
  - enhancement: Better syntax color for asm files.
2023-02-09 21:01:01 +08:00
Roy Qu cc1e42193d - enhancement: Add "assembler" tab in the project options dialog's custom compiler parameters. 2023-02-09 16:33:25 +08:00
Roy Qu 0b7761fbc2 - fix: Project parser should not parse non-c/cpp files. 2023-02-09 09:45:09 +08:00
Roy Qu 78ff319a75 - enhancement: Support compile asm files using nasm in the project. 2023-02-08 21:07:41 +08:00
Roy Qu 62737d6716 - fix: Correctly handle files whose name contains spaces in the generated makefile.
- fix: Correctly handle custom obj folder in the generated makefile.
2023-02-08 17:32:52 +08:00
Roy Qu d8f237a10e - enhancement: Auto reload openned project files that use "Project Default" as the encoding, when the project encoding setting is changed in the project options dialog. 2023-02-08 12:20:20 +08:00
Roy Qu 5d3a933932 - enhancement: Change the way to calculate execution time. 2023-02-07 20:27:31 +08:00
Roy Qu dd5df6912c - enhancement: Improve auto indent. 2023-02-07 19:05:39 +08:00
Roy Qu 79ed9573d6 - fix: Respect encoding "Project default" when search/find occurrencies/open project units.
- enhancement: Show progress dialog when search/find occurrencies in large projects.
2023-02-07 10:46:06 +08:00
Roy Qu 1b15f3eb1d - fix: Parser can't correctly differentiate function and var initialization. 2023-02-06 19:37:01 +08:00
Roy Qu 4fc3900796 - enhancement: Improve parsing for operator overloading. 2023-02-06 14:04:38 +08:00
Roy Qu 7085318197 - enhancement: Auto suggest keyword "operator" when define functions.
- fix: Differentiate class and constructors.
2023-02-05 21:55:23 +08:00
Roy Qu ca5916a4b1 - fix: Can't correctly handle definitions for "operator," 2023-02-05 20:36:10 +08:00
Roy Qu 7b13d3a519 - enhancement: Pause autosave timer when autosave new files. 2023-01-26 11:23:24 +08:00
Roy Qu 629a90d521 - enhancement: Simplified chinese translations for encoding names.
- fix: Crash when there are preprocessing directives like '#if 0/0' or '#if 0%0'
2023-01-26 11:07:46 +08:00
Roy Qu 48788a189b - enhancement: Simplified chinese translations for encoding names. 2023-01-25 10:51:59 +08:00
Roy Qu 35e3c9af8d - fix: Can't correctly set project file's encoding back to 'UTF-8'/'ANSI' in the project options dialog/files setting page. 2023-01-25 10:28:55 +08:00
Roy Qu 1f491fccfd - fix: Settings in Options/Tools/General is messed up when switching items in the list.
- fix: Infos in the status bar not correctly updated when editor closed.
  - change: Project's encoding shouldn't be set to "auto detect"
2023-01-24 10:21:19 +08:00
Roy Qu 4a941b63b4 - fix: Settings in Options/Tools/General is messed up when switching items in the list. 2023-01-24 09:17:27 +08:00
Roy Qu 7f1b27e099 - enhancement: Set lldb-mi as the debugger program for clang, when finding compiler set in folders and gdb doesn't exist. 2023-01-23 22:27:43 +08:00
Roy Qu 7d2920198e - enhancement: Use lldb-mi as the debugger.
- enhancement: Set lldb-mi as the debugger program for clang, when finding compiler set in folders.
2023-01-22 22:19:19 +08:00
Roy Qu c5331f0597 - enhancement: If there is "cppreference.chm" or "cppreference-%locale_name%.chm"(like cppreference-zh_CN.chm) in the redpanda C++'s app folder, open it instead of the cppreference website. 2023-01-20 12:17:04 +08:00
Roy Qu b0be83b006 - fix: If buttons in the options dialog / compiler / compiler set page is pressed, they won't release. 2023-01-19 23:58:56 +08:00
Roy Qu c77a25f109 - enhancement: Save project files' real encoding;
- enhancement: Use project files' real encoding information when generating the makefile.
2023-01-19 20:04:05 +08:00
Roy Qu 4456772fa7 - enhancement: Code Completion now respect compiler set's language standard settings. 2023-01-19 11:08:32 +08:00
Roy Qu 8603fa10ee - enhancement: Add "Help"/"Submit Iusses".
- enhancement: Add "Help"/"Document" for Simplified Chinese users.
2023-01-16 15:42:03 +08:00
Roy Qu 73d527318c - fix: When restored from minimization, info on statusbar not correctly restored.
- enhancement: Changes of "auto backup editing contents" is applied immediately.
  - enhancement: Don't create temp backup for readonly files.
2023-01-16 11:35:55 +08:00
Roy Qu d4549b0f14 disable backup for save (the reason for crash has been found) 2023-01-15 17:04:03 +08:00
Roy Qu dbc9a1829c - fix: Project's file encoding is wrongly set to 'AUTO' when load project. 2023-01-15 15:57:48 +08:00
Roy Qu 0f746957a5 - fix: rename project file will wrongly set it's encoding to 'ASCII';
- fix: can't make project
2023-01-15 15:47:08 +08:00
Roy Qu aa62f95cad - enhancement: Auto backup editing contents. (Save editing contents 3 seconds after input stopped. Auto delete when editor successfully closed)
- enhancement: Add "Auto backup editing contents" option in options/editor/auto save
2023-01-15 13:32:33 +08:00
Roy Qu ac20a2c458 - enhancement: Create a temporary copy of the current file when saving files (it's removed after the saving sucessfully finished). 2023-01-14 22:52:04 +08:00
Roy Qu 6072944c23 - fix: Save may crash app if the encoding codec is failed to load.
- enhancement: support open and save utf-16/utf-32 BOM files. (but gcc can't compile)
2023-01-14 21:51:55 +08:00
Roy Qu d8fae209c6 - enhancement: set caret to the corresponding line in the editor after "run"/"generate assembly"
- fix: syntax highlighting for cpp style line comment is not correct.
2023-01-12 21:58:04 +08:00
Roy Qu ea26548835 - enhancement: Add "Open files in editor" in the search panel
- enhancement: Auto disable the "in project" option in the "search in files" dialog, if no project is opened.
  - enhancement: Auto disable the "search again" button in the search panel if the current search history item is search in the project, and no project is opened.
2023-01-12 16:53:00 +08:00
Roy Qu bc1b22ad25 - enhancement: Rename symbols won't remove all breakpoints/bookmarks
- enhancement: Batch replace won't remove all breakpoints/bookmarks
  - enhancement: Execute parameters can be used in debug.
2023-01-12 12:07:22 +08:00
Roy Qu abf4a5985f - fix: In column mode, selection that contain lines with different length will cause error. 2023-01-11 11:05:34 +08:00
Roy Qu 9a5f97cc7a - fix: Function parameters that is pointer,reference or array can't be correctly parsed. 2023-01-11 09:51:05 +08:00
Roy Qu 5f75fd97cd - fix: Result of scope calculation not right if a for statement immediately follows another for statement. 2023-01-10 19:08:49 +08:00
Roy Qu 7324475277 - fix: alt+shift+left/right can't select
- fix: Input any content will exit column mode.
2023-01-10 16:52:39 +08:00
Roy Qu d75ffef9bb - fix: Can't save new file using filename with custom suffix. 2023-01-07 20:29:57 +08:00
Roy Qu 2ab5efc6fe - fix: "Goto declaration" / "Goto definition" / "Find occurences" not correctly disabled for non-c/c++ files. 2023-01-07 20:04:51 +08:00
Roy Qu 32088a18d0 - change: Disable undo limit by default. 2023-01-06 11:59:21 +08:00
Roy Qu b01a51ab91 - enhancement: Print current selection can be used in the print dialog.
- enhancement: Print syntax colored content.
  - enhancement: Correctly handle tab in the exported RTF.
2023-01-06 11:41:04 +08:00
Roy Qu 17160b7c3d - enhancement: Print current selection can be used in the print dialog. 2023-01-05 18:38:36 +08:00
Roy Qu 89ee9d8914 - fix: Crash when find occurrences in a project that has missing files.
rename FileEndType to NewlineType
2023-01-04 11:01:34 +08:00
Roy Qu f179f45cd9 - fix: Restore main window and cpu info window will set wrong font in the cpu info. 2023-01-03 22:34:38 +08:00
Roy Qu 562293c05d - enhancement: Waiting for syntax parsers to finish before saving files, to prevent data lost caused by syntax parsering crash. 2023-01-03 21:43:45 +08:00
Roy Qu 9296877b86 - enhancement: "Toggle readonly" in the Edit menu.
- fix: Error When save project units' encoding settings.
2023-01-02 16:50:30 +08:00
Roy Qu 96f9a898d0 - enhancement: "Switch Header/Source" in editor title bar context menu. 2023-01-01 08:32:33 +08:00
Roy Qu 0caaad8436 - fix: Action "Run all problem cases" is triggered twice by one clicked. 2022-12-31 09:36:50 +08:00
Roy Qu 2041f813de - fix: Can't set project icon to "app.ico" in the project folder, if the project doesn't has icon.
- fix: Resource compilation items is missing in the auto generated makefile, if the project's icon is removed and re-added.
2022-12-30 19:48:12 +08:00
Roy Qu dd92cfa6da - enhancement: "Run" / "Generate Assembly" for project source files 2022-12-28 16:39:18 +08:00
Roy Qu bcb6069fe3 - fix: Crash while input using input method in makefile 2022-12-28 09:24:54 +08:00
Roy Qu 988afaac7a - enhancement: Add "Resources" in project option's dialog's custom compiler parameter page 2022-12-26 22:55:00 +08:00
Roy Qu bd4478476d - fix: Crash when editing makefile 2022-12-26 18:20:26 +08:00
Roy Qu 0af113e2a1 auto remove a.exe generated by tcc 2022-12-25 12:00:09 +08:00
Roy Qu 84b09fe842 - enhancement: "Convert HTML for - Input" / "Convert HTML for - Expected" in "Options" - "Executor" - "Problem Set"
- fix: Unit for memory limit is not correctly loaded when open problem properties dialog.
  - enhancement: Auto open the properties dialog, after add a new problem.
2022-12-24 12:08:13 +08:00
Roy Qu dde47e0226 - fix: Makefile error when "Use precompiled header" is enabled in the project option dialog. 2022-12-22 22:01:55 +08:00
Roy Qu e232ce77c9 - enhancement: Auto add "lib" to the output of static/dynamic library projects, if project name don't start with "lib". 2022-12-21 09:15:39 +08:00
Roy Qu 892b987894 - enhancement: "Line Spacing" in options / editor / font
- enhancement: "Show whitespaces" in options / editor / font
2022-12-20 20:38:02 +08:00
Roy Qu ed89690f7a - fix: Icon size not correct under macOS high DPI / zoom factor settings.
- enhancement: "Icon zoom" in options / environment / appearance
2022-12-20 11:01:04 +08:00
Roy Qu 1da2961970 - fix: Project's "static link" option is overwrited by global compiler set settings, when project options dialog is opened. 2022-12-18 12:31:19 +08:00
Roy Qu fc07b4dcd4 - enhancement: Don't add "-g3" option when generate assembely.
- enhancement: Generate assembly is not correctly disabled when current file is not C/C++.
2022-12-17 17:20:33 +08:00
Roy Qu efc7af7f46 - enhancement: Run all cases button not correct disabled when no case exits. 2022-12-17 13:40:13 +08:00
Roy Qu 88449a5381 refactor: context menus
refactor: tool buttons for problem and problem set
2022-12-17 11:37:33 +08:00
Roy Qu 0e5ff0a75e update NEWS.md 2022-12-16 15:54:18 +08:00
Roy Qu 261c0b4cea - enhancement: Add missing space char color settings in color schemes 2022-12-16 11:13:02 +08:00
Roy Qu 492345b939 - enhancement: "Trim trailing spaces" in code menu
- change: Don't auto disable compile and debug buttons.
  - enhancement: Better error messages for missing compile/debug/make programs.
  - enhancement: "Show special chars" in options / editor / font
  - fix: Lost compiler set settings if a compiler set's bin dirs is empty.
  - enhancement: Better error message when trying to debug with Release compile set.
2022-12-16 11:10:46 +08:00
Roy Qu 16db14e761 - enhancement: "Remove trailing spaces" in options / editor / misc
- enhancement: show special chars
2022-12-16 01:03:57 +08:00
Roy Qu 4985191120 - enhancement: Remove multiple problems in the problem set view
- enhancement: Clear the proble view after a new problem set created
2022-12-15 16:33:17 +08:00
Roy Qu 13f0be3154 - fix: Crash when scroll file which has more than 65535 lines.
- fix: Can't scroll to lines greater than 65535.
2022-12-14 09:20:53 +08:00
Roy Qu 4093f29ac4 - Fix: Crash when scroll file which has more than 65535 lines. 2022-12-14 09:12:37 +08:00
Roy Qu 02e6748db5 - fix: Buttons in options -> compiler -> compiler set -> programs are not usable.
- enhancement: Don't check existence of gcc/g++/make/gdb at startup.
  - enhancement: Auto disable "compile" button if gcc doesn't exist.
  - enhancement: Auto disable "debug" button if gdb doesn't exist.
  - enhancement: Auto disable "compile" button for project if make doesn't exist.
2022-12-13 15:58:27 +08:00
Roy Qu e81c08d6c8 refactor: correct var name 2022-12-13 12:40:54 +08:00
Roy Qu ea3b4ea8e5 - enhancement: Show memory usage after console program exited.
- fix: If clang and g++ are in the same folder, only the compiler sets for gcc are auto generated.
2022-12-13 12:36:16 +08:00
Roy Qu 2520ddf8f5 - enhancement: Show memory usage for problem cases. 2022-12-13 08:49:20 +08:00
Roy Qu b1ca0bb600 - enhancement: Import FPS (free problem set) files. 2022-12-11 19:47:43 +08:00
Roy Qu 5d0c49a0bc refactor: block start / end calculation 2022-12-10 18:48:48 +08:00
Roy Qu 263cece0ce import makefile highlighter 2022-12-08 10:46:39 +08:00
Roy Qu 8af963579a - enhancement: Highlighter for makefiles 2022-12-06 22:51:59 +08:00
Roy Qu 77942999d5 - enhancement: Use asm highlighter in cpu window
- fix: "AT&T" radio button not correctly checked in cpu window
  - enhancement: Remove blank lines in the register list of cpu window.
  - fix: Cpu window's size not correctly saved, if it is not closed before app exits.
  - fix: Can't restore cpu window's splitter position.
2022-12-02 10:19:03 +08:00
Roy Qu f9fb966c38 - enhancement: Add "Generate Assembly" in "Run" Menu
- enhancement: Improve highlighter for asm
2022-12-01 22:10:44 +08:00
Roy Qu 164d766c75 - enhancement: Disable "run" and "debug" actions when current project is static or dynamic library 2022-11-30 21:05:08 +08:00
Roy Qu bb2532a2ef - change: Default value of option "Editors share one code analyzer" is ON
- change: Default value of option "Auto clear symbols in hidden editors" is OFF
  - minor fix
2022-11-30 09:54:23 +08:00
Roy Qu a6d5da07a3 - enhancement: show compltion suggest for std::pair::first and std::pair second 2022-11-29 16:48:40 +08:00
Roy Qu 0d0332aa7d - fix: can't correctly show completion suggest for type with template parameters
- enhancement: correctly evaluate auto variable of stl container iterator.
2022-11-29 12:06:29 +08:00
Roy Qu de23833992 - enhancement: Deduce type info for "auto" in some simple cases.
- fix: crash when no semicolon or left brace after the keyword "namespace"
2022-11-28 08:22:48 +08:00
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 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 7b6dbb9865 - enhancement: slightly reduce memory usage 2022-11-16 17:03:34 +08:00
Roy Qu 82564239b9 - enhancement: project's custom compile include/lib/bin directory is under folder of the app, save them using the path relative to the app 2022-11-16 09:24:42 +08:00
Roy Qu e764c14286 - enhancement: auto save / load problem set 2022-11-14 19:10:32 +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 ac23d89fbe update version 2022-11-12 15:58:17 +08:00
Roy Qu 6a6dc126a4 - enhancement: improve parse result for STL <random> 2022-11-12 12:14:19 +08:00
Roy Qu edfd09191c - change: the default value for UI font size : 11
- change:  the default value for add leading zeros to line numbers : false
2022-11-12 10:56:57 +08:00
Roy Qu a4cb52fb96 - fix: _Pragma is not correctly handled; 2022-11-12 10:45:53 +08:00
Roy Qu b085560743 - fix: Escape suquences like \uxxxx and \Uxxxxxxxx in strings are not correctly highlighted.
- enhancement: Search / replace dialogs redesigned.
  - fix: inline functions are not correctly parsed;
  - fix: &operator= functions are not correctly parsed;
  - fix: Code Formatter's "add indent to continueous lines" option is not correctly saved.
2022-11-11 21:20:57 +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 ca9976e9e0 - enhancement: Use relative paths to save project settings
- fix: Layout for project options dialog's general page is not correct.
  - fix: modifitions in the project options dialogs's dll host page is not correctly saved.
  - enhancement: In the project options dialog, autoset the default folder in the openning dialog when choosing file/directory paths.
2022-11-10 14:47:44 +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 bcc1b8dc09 - fix: function pointers not correctly handle in code parser;
- fix: var assignment not correctly handled in code parser;
  - fix: function args not correctly handled in code parser;
2022-11-09 22:22:33 +08:00
Roy Qu 4fad826899 - fix: macro defines parsed before not correctly applied in the succeeding parse. 2022-11-08 22:04:53 +08:00
Roy Qu 6fe1df8e6e - fix: Can't goto definition of classes and namespaces displayed in the class browser on whole project mode. 2022-11-08 08:24:44 +08:00
Roy Qu e69fea634d update NEWS.md 2022-11-07 21:52:01 +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 c9e4238329 fix typo in News.md 2022-11-07 18:01:53 +08:00
Roy Qu fba7bd953c - fix: Contents in class browser not correctly updated when close the last editor for project.
- fix: When all editors closed, switch browser mode dosen't correct update the class browser;

  - stream line codes for project parser and  close browser
2022-11-07 11:24:23 +08:00
Roy Qu 93751d1b23 - fix: When start parsing and exit app, app may crash
- enhancement: add "Allow parallel build" option in project option dialog's custom compile options page
  - fix: crash when rename project file
  - fix: When remove project file, symbols in it not correctly removed from code parser
  - fix: infos in class browser (structure panel) not correctly updated when add/create/remove/rename project files
2022-11-06 22:51:14 +08:00
Roy Qu 7b290f4e44 - fix: Memory usage of undo system is not correctly calculated
- fix: Set max undo memory usage to 0 don't really remove limit of undo
  - fix: Set max undo times to 0 don't really remove limit of undo
2022-11-06 14:07:14 +08:00
Roy Qu d4c7ec9bb9 - fix: Project Options Dialog's Files panel will crash app. 2022-11-06 12:38:53 +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 1c3bf9000c - enhancement: base class dropdown list in new class dialog now works 2022-11-05 23:35:15 +08:00
Roy Qu 4fa490253e - enhancement: switch header/source 2022-11-05 19:39:33 +08:00
Roy Qu 8d9740dd57 - improve template parameters checker
- streamline cppparser
2022-11-05 08:42:54 +08:00
Roy Qu 585d7678d4 work save 2022-11-04 20:27:35 +08:00
Roy Qu 20917e3a8b work save 2022-11-03 00:49:22 +08:00
Roy Qu 4afe1f4315 - change: rename "file" Menu -> "New Source File" to "New File" 2022-10-30 19:27:29 +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 819d217708 - change: Don't turn on "Show some more warnings (-Wextra)" option by default for DEBUG compiler set 2022-10-29 20:51:31 +08:00
Roy Qu b9aceb420b - fix: Before run a project's executable, we should check timestamp for project files AND modification states of files openned in editor. 2022-10-29 18:19:45 +08:00
Roy Qu 0c1402a386 - change: remove "Optimize for the following machine" and "Optimize less, while maintaining full compatibility" options in the compiler setting panel, which are obseleted.
- change: escape spaces in the executabe path under linux.
2022-10-29 17:21:38 +08:00
Roy Qu 054a99b690 msvc compatibility 2022-10-28 16:34:26 +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 3ea32031af update NEWS.md 2022-10-26 16:26:13 +08:00
Roy Qu fde8a868fa - enhancement: auto sort TODO items 2022-10-26 11:10:56 +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 6bf443d3d8 - fix: Restore project's original compiler set if user choose 'No' in the confirm project compiler set change dialog. 2022-10-26 08:45:18 +08:00
Roy Qu 4380470cef - enhancement: when create a new folder in the files view, auto select that folder and rename it
- enhancement: when new header in the project view, auto select basename in the filename dialog
  - enhancement: when add file in the project view, auto select basename in the filename dialog
  - change: Don't generate localized filename when new header/add file in the project view
2022-10-25 21:49:35 +08:00
Roy Qu 5edcad104e - enhancement: before run a project'executable, check if there's project file newer than the executable 2022-10-25 19:09:46 +08:00
Roy Qu 3f74a5fd10 - fix: rules for obj missed in the makefile generated for project 2022-10-25 17:38:37 +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 55b63a4f95 - enhancement: refresh project view for git status won't redraw project structure
- enhancement: auto save project options after the compilerset option for project resetted
  - enhancement: "." and ".." in paths of issues not correctly handled
  - enhancement: auto locate the last opened file in the project view after project creation
  - enhancement: separate compiler's language standard option for C / C++
  - fix: compiler settings not correctly handled when create makefile
2022-10-24 19:23:43 +08:00
Roy Qu 6d2ce9035d - reduce memory usage when deciding file types
- enhancement: refresh project view for git status won't redraw project structure
  - enhancement: auto save project options after the compilerset option for project resetted
  - enhancement: "." and ".." in paths of issues not correctly handled
2022-10-24 17:23:37 +08:00
Roy Qu 0d45cca2a5 - enhancement: reduce memory usage when deciding file type 2022-10-24 12:51:50 +08:00
Roy Qu aa6951c2ca - fix: class browser not correctly displayed when "whole project" is checked 2022-10-23 23:24:26 +08:00
Roy Qu b4deb9299b - enhancement: keep current position in the class browser after contents modified 2022-10-23 16:31:05 +08:00
Roy Qu 471b3d6f26 - fix: namespace members defined in multiple places not correctly merged in the class browser
- fix: correctly display statements whose parent is not in the current file
  - fix: statements is the class browser is correctly sorted
  - enhancement: Weither double click on the class browser should goto definition/declaration,  depends on the current cursor position
2022-10-23 15:22:26 +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 be0c9ad4f5 - fix: save/load bookmark doesn't work 2022-10-23 00:39:24 +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 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 98f4766ffd - fix: index out of range in cpp highlighter
- fix: memory leak in code folding processing
2022-10-19 22:54:08 +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 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 3509c25fc8 - enhancement: delete a watch expression don't reload who watch var view
- enhancement: auto save/restore debug panel's current tab
  - fix: correctly restore left(explorer) panel's current tab
  - enhancement: auto close non-modified new editor after file/project openned;
  - fix: project files openned by double click in bookmark/breakpoint panel may cause app crash when closed.
  - fix: When open a project that's already openned, shouldn't close it.
  - enhancement: When open a project, let user choose weither open it in new window or replace the already openned project
2022-10-17 23:23:05 +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 7883397409 - enhancement: set compilation stage in the options / compiler set pages
- enhancement: set custom compilation output suffix in the options / compiler set pages
2022-10-12 19:48:35 +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 39c56aeff2 - change: clear tools output panel when start to compile
- change: don't show syntax check messages in the tools output panel
2022-10-10 07:11:59 +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 592d6bba32 - enhancement: add/new/remove project files won't rebuild project tree 2022-10-02 23:33:58 +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 a165efa7cf - fix: astyle.exe can't correctly format files that using non-ascii identifier 2022-09-26 16:17:02 +08:00
Roy Qu 40cae133ba - fix: the project compiler options is not correctly read when open old dev-c++ project 2022-09-24 21:24:58 +08:00
Roy Qu 9b09b4263f - fix: crash when create non C/C++ source file in project
- fix: can't open text project file in the editor
  - change: when create non-text project file, don't auto open it
2022-09-23 10:27:44 +08:00
Roy Qu 5ba802c0ee - fix: "Encode in UTF-8" is not correctly checked, when the editor is openned using UTF-8 encoding. 2022-09-21 09:31:01 +08:00
Roy Qu 8474ae6b8f - fix: the size of horizontal caret is wrong 2022-09-07 15:08:31 +08:00
Roy Qu 6ff83d602c - enhancement: change orders of the problems in the problem set panel by drag&drop
- enhancement: change orders of the problem cases in the problem panel by drag&drop
2022-09-03 20:18:32 +08:00
Roy Qu d438864a4d - change: reduce time intervals for selection by mouse 2022-08-25 16:53:06 +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 a8dc93d4b4 - fix: can't set shortcut that contains shift and non-alphabet characters 2022-08-08 12:11:16 +08:00
Roy Qu 6b64eab16b - fix: can't correctly set project icon 2022-08-08 10:45:35 +08:00
Roy Qu 92d7370903 - enhancement: create template 2022-08-07 21:41:57 +08:00
Roy Qu 5966ee0a5f - change: organization structure of templates 2022-08-07 12:09:22 +08:00
Roy Qu 829e73895b - fix: files in network drive is opened in readonly mode 2022-08-06 08:51:53 +08:00
Roy Qu 8d4411ee55 - enhancement: Portuguese Translation ( Thanks for crcpucmg@github) 2022-08-05 20:56:09 +08:00
Roy Qu 2a0cfe7948 - change: switch positions of problem case output and expected output 2022-08-05 16:20:50 +08:00
Roy Qu 40dec1b9ff - fix: (wrongly) use the default font to calculate non-ascii characters' width 2022-07-31 11:51:34 +08:00
Roy Qu 66746e8c3d - fix: indents for "default" are not the same with "case" 2022-07-30 10:22:27 +08:00
Roy Qu fc1de8f28c - fix: inefficient loop when render long lines 2022-07-29 18:33:08 +08:00
Roy Qu 1ce0ec3d32 - enhancement: disable column mode in readonly editors 2022-07-28 21:19:54 +08:00
Roy Qu a3cb17299b - fix: Drag&Drop no correctly disabled for readonly editors 2022-07-28 17:09:30 +08:00
Roy Qu 8bd2802c99 - enhancement: choose default language when first run 2022-07-28 14:03:18 +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 62caa94e23 - fix: selection is not correctly set after input in column mode 2022-07-25 14:32:12 +08:00
Roy Qu 7db3a7ebc1 - fix: block indent doesn't work 2022-07-25 09:45:06 +08:00