更新历史¶
VERSION 0.6.7¶
- 修正:发送到gdb进程的stderr的信息未被正确接收和处理
- 调整:限制调试主控台竖向滚动的边界
- 修正:shift+鼠标单击未能正确设置选择的边界
- 修正:ctrl+HOME/END未正确将光标移动到编辑内容的起始/结束
- 功能增强:鼠标单击/右击状态栏的文件编码信息时,弹出文件编码菜单
VERSION 0.6.6¶
- 修正:新建文件时出错
- 重新实现:双编辑器视图
VERSION 0.6.5¶
- 实现:导出为RTF/导出为HTML
- 修正:复制/导出的内容配色处理不正确
- 修正:如果试图运行的源文件未编译,而且用户在提示对话框中选择不编译程序,仍继续试图运行程序。
- 修正:未能正确解析gdb输出(导致GCC 9.2自带gdb不能正确调试)
- 修正:在gdb启动时未正确设置路径
- 修正:未正确绘制缩进提示线
- 功能增强:使用彩虹色彩绘制缩进提示线(提示线颜色和花括号颜色可能不一致)
- 重新实现:高亮匹配的括号
VERSION 0.6.4¶
- 修正:输入->后不显示代码补全提示
- 修正:在选项对话框的编辑器配色页中,字体样式设置不生效
- 修正:编辑器中最后一个单词的字体样式会影响行号
- 改变:缺省启用复制为HTML格式
- 修正:复制的HTML内容中包含多余的空行
VERSION 0.6.3¶
- 修正:在对.h文件进行语法检查时,使用C++语法
- 修正:无法复制只读状态的编辑器内容
- 修正:当在编辑器中打开项目文件时,颜色显示不正确
- 海龟作图库升级:增加fill()/setBackgroundColor()和setBackgroundImage()函数
- 修正:在编辑代码时,对折叠区域的更新计算不正确
- 修正:在命名空间范围内,不能正确找到语法元素的定义
VERSION 0.6.2¶
- 修正:数字小键盘上的回车键不工作
- 修正:在编译前时保存文件修改,不应自动启动语法检查
- 修正:正确处理语法检查和编译同时进行导致不能正确判断文件是否被编译的问题
- 修正:程序退出时正确释放配置对象
- 修正:在更新编译输出时,让光标自动移动到最后一行的开头而不是结尾
- 修正:无法调试项目
VERSION 0.6.1¶
- 修正:当按下回车时,编辑器死锁
ALPHA 0.6.0 FOR VERSION 7.0¶
- 修正:当编辑代码模板时会丢失原有信息
- 修正:shift-tab反缩进不工作
- 修正:无法保存对代码模板的修改
- 修正:代码模板显示处理中的错误
- 调整:启动时如果没有窗口被打开,则自动打开一个新文件
- 新功能:增加TODO视图
- 增加:关于对话框
- 实现:正确识别clang编译器
- 新功能:在使用clang编译时,不添加编码选项(因为clang只支持utf8)编码
- 新功能:在项目中查找符号引用
- 重新实现:重命名文件中的符号
- 新功能:在(多个)文件中替换
- 新功能:重命名项目中的符号(使用查找符号引用和在文件中替换)
- 修正:在(多个)文件中查找
- 实现:注册文件关联
- 实现:启动时,打开命令行提供的文件名
- 实现:打开剪贴板粘贴的文件
- 修正:代码折叠解析处理不正确
- 新功能:支持#include_next宏指令(因而可以正常解析clang C标准库)
- 修正:当编辑器关闭时,正确关闭所有的提示窗口
- 实现:在使用输入法输入中文时,实时显示输入的拼音
- 修正:在编辑操作中加入互斥锁,以避免某些极端情况下编辑器出错
- 修正:为静态/动态库项目自动生成的Makefile内容不正确
- 修正:在处理关闭/关闭所有命令时,编辑器区域空白
- 实现:自定义快捷键
- 实现:正确处理Windows注销/关机消息
- 修正:编辑器的inproject属性没有被正确设置(在关闭项目时可能导致devcpp崩溃)
- 实现:打印功能
- 实现:配置自定义工具
- 实现:代码重新排版的缺省设置(使用Java样式)
- 实现:删除(重置)所有自定义设置并退出
ALPHA 0.5.0 FOR VERSION 7.0¶
- 功能增强:支持C++ 14 using type alias语法;
- 修正:当按下shift键时,补全提示窗口会消失
- 功能增强:在调试设置窗口中增加选项,单步进入时可以跳过系统/项目/自定义头和库文件
- 修正:在结构浏览器中未能正确显示全局变量的图标
- 功能增强:在编辑菜单中增加更多字符编码选项
- 修正:在保存文件时,不能获得正确的系统编码名称
- 修正:代码分析器不能正确处理[],导致无法正确提示数组变量名
- 修正:在处理鼠标悬浮提示调试信息时,调试相关工具按钮的状态没有被正确更新
- 功能增强:重新设计项目选项对话框中文件选项页的字符集选择框
- 修正:当文件路径中包含非ascii字符时,无法正确打开上次退出时的文件和项目
- 修正:无法正确打开上次退出时的项目
- 修正:无法正确提示数组元素
- 功能增强:在显示代码、头文件补全提示时,仍然显示光标
- 修正:在监视窗口中正确显示指针信息
- 旧功能实现:在项目文件中搜索
- 功能增强:内存视图,在调试时可以查看内存
- 旧功能实现:符号使用计数
- 旧功能实现:用户代码模板
- 旧功能实现:自动产生javadoc风格docstring
- 功能增强:使用上下键切换函数参数提示
- 功能增强:使用esc键关闭函数参数提示
- 功能增强:代码补全提示支持中文标识符
- 旧功能实现:调试主控台右键菜单
- 修正:调试主控台相关错误
- 修正:提升调试器处理速度
- 功能增强:检查调试器路径中是否包含中文字符,并进行提示
ALPHA 0.2.1 FOR VERSION 7.0¶
- 修正:载入上次打开的文件时出错,导致devcpp无法启动
ALPHA 0.2.0 FOR VERSION 7.0¶
- 用QT重新实现Dev-Cpp的基本功能,包括:
- 文本编辑和语法高亮、改变配色等
- 符号补全处理
- 语法分析和代码补全提示、结构浏览器、函数参数提示等
- 代码重新排版
- 搜索(包括在文件中搜索)
- 编译和运行功能
- 调试功能
- 项目管理功能
VERSION 6.7.5 AUG 2021¶
- 改变:发行版改为使用msys2 mingw-w64 X86_64版64位GCC 10.3版本编译器(依然保留带32位GCC 9.2的 版本,以提供windows xp兼容)。因为TDM-GCC-64所带的gdb程序无法正确调试路径中带中文字符的程序。
- 功能增强:调试时,CPU窗口(可以通过“运行”菜单打开)以混合模式显示当前函数的反汇编结果。
- 修正:侧边栏代码浏览面板的“显示继承成员”按钮不起作用
- 修正:当字符串缺少结束双引号时,代码解析可能会出错。
- 功能增强:以只读模式打开系统头文件(以防误编辑)
- 改变:在有程序运行时,仍然可以运行/编译/调试程序(此时会提示是否关闭仍在运行中的程序以继续)
- 修正:代码分析器无法正确处理类多重继承
- 修正:新建项目调试出错
- 修正:海龟作图模板中存在拼写错误
- 修正:当调试器程序不存在时,启动调试会导致devcpp崩溃
- 修正:使用GLUT模板创建的项目无法编译
- 增加:GLFW+GLEW项目模板(用于学习现代OpenGL编程)
VERSION 6.7.4 AUG 2021¶
- 改变:使用TDM-GCC 64位GCC 10.3版本编译器(依然保留32位GCC 9.2 版本,以提供windows xp兼容)
- 修正:使用相对路径保存项目缺省文件夹
- 修正:无法插入日期
VERSION 6.7.3 JUNE 2021¶
- 改变:在编译项目时自动生成的makefile文件中,使用del /q代替rm.exe
- 修正:不能正确显示GDB注解信息(需要在环境选项对话框中打开)
- 修正:’]’的符号自动补全选项不能正常工作
- 实验性提供对clang的支持(使用msys2提供的64位版本)
- 已知问题:clang所带的gdb不能正确支持路径中带非ASCII字符的问题(如果源文件所在路径包含中文字符,会无法设定断点)
- 已知问题:clang不支持文件编码参数(在中文windows下不要用UTF-8编码编辑和保存文件)
- 已知问题:代码分析器不能正确解析libc++库中的头文件,因此在编辑时无法正确显示代码补全提示(delphi版本不再处理该问题,待QT版本实现)
VERSION 6.7.2 JUNE 2021¶
- 修正:调试时,不能显示鼠标指向的变量的内容
- 功能增加:使用汇编语言语法高亮显示.s和.asm后缀的文件。
- 改变:gcc 10.3中的gdb改用msys2提供的版本。(更稳定,且在调试时可以更方便的查看STL容器中的内容)。
VERSION 6.7.1 MAY 2021¶
- 修正:项目选项对话框中,库目录和包含目录页的标题错误
- 修正:在执行gcc -v检测编译器版本信息时,添加LANG=en环境变量,以避免其自动翻译输出信息,导致dev-cpp无法正确解析
- 修正:gcc 10.2中带的gdb.exe无法正确调试
- 更新:gcc 10升级为10.3
VERSION 6.7 MAY 2021¶
VERSION 6.7-BETA5 MAY 2021¶
- 修正:如果屏幕宽度小于补全提示框的宽度,不能正确显示提示内容
- 修正:在编译器选项对话框中通过指定文件夹来添加编译器设置时,新增的设置未能正确保存。
VERSION 6.7-BETA4 APR 2021¶
- 修正:在项目属性对话框中设置项目程序图标时,如果Dev-C++无法正确打开指定的图标文件,会导致程序崩溃
- 修正:如果项目的某个代码文件名中包含空格,会导致项目无法编译
- 功能增强:项目属性对话框中设置项目程序图标时,提示用户“Dev-C++只能打开不超过48×48大小的ICO格式图标文件”;
- 功能增强:支持在代码模板中使用”
”、” ”等参数宏 - 修正:启用tabnine后,如果tabnine无法正确返回查询结果,会导致devc++崩溃
- 变化:启用tabnine后,在输入#include信息时,直接显示头文件名称补全,不再显示tabnine提示
VERSION 6.7-BETA3 APR 2021¶
- 变化:编译选项对话框中的“静态链接所有库”选项改为缺省打开
- 修正:当devcpp启动后,立即F10运行已编译好的.exe文件,会提示找不到dll文件错误
- 修正:当gdb返回的监视变量内容格式不正确时,devcpp会出错
- 功能增强:在文件浏览器中点击无内容区域会清除选中项
- 功能增强:文件浏览器增加右键菜单
- 修正:如果gcc所在的文件夹不在Dev-Cpp文件夹下,且其路径中包含空格或非ASCII字符,则在Dev-C++启动时会提示gcc路径错误
- 改变:删除编辑器选项对话框中的“搜索文本”选项
- 改变:将编辑器对话框中的“缺省文件类型”选项,移动到杂项页中
- 功能增强:在编辑器选项对话框中增加“显示代码折叠线”选项(缺省为开)
- 功能增强:在编辑器选项对话框中增加“显示缩进提示线”和“缩进提示线颜色”选项
- 当前编译器器选项中的gcc或g++路径不正确时,自动停止后台的语法错误检查,而不再报错
VERSION 6.7-BETA2 MAR 2021¶
- 功能增强:Lua语法高亮支持
- 功能增强:配置工具对话框增加“主控台程序运行结束后暂停”选项,以便查看运行结果
- 修正:关闭环境对话框时总是提示需要管理员权限
- 修正:环境对话框的字体和字体大小列表高度不正确
- 修正:界面字体较大时,状态栏中的部分文字显示不全
- 修正:新建项目对话框在较大字体下的显示效果
- 修正:无法正确检查’.cc’、’.hxx’和’.cxx’后缀是否在安装时已与Dev-Cpp关联
- 修正:对字符串中的八进制、十六进制转移字符序列高亮处理不正确
- 修正:当“使用UTF-8作为缺省文件编码”选项关闭时,新文件依然缺省使用UTF-8编码保存
- 修正:当界面字体较大时,编译选项对话框的代码生成/优化页里面的行高不正确
- 修正:编辑器选项的代码模板页中的表格字体大小不正确
- 功能增强:在编译选项对话框中增加“添加字符编码编译参数”选项(缺省打开)
- 功能增强:在项目选项对话框中增加“添加字符编码编译参数”选项(缺省打开)
VERSION 6.7-BETA1.1 MAR 2021¶
- 修正:编辑器设置被错误处理,导致不能正确编译程序
- 修正:当C源文件不在项目.dev文件所在文件夹下,且路径中包含空格等字符时,项目编译出错
VERSION 6.7-BETA1 MAR 2021¶
- 功能增强:支持编辑UTF-8 with BOM编码文件(更好的兼容中文Visual C++)
- 功能增强:在编译器选项对话框中增加静态链接标准库选项
- 修正:编辑器选项中“高亮当前行”选项不起作用
- 修正:在代码补全提示时,如果某个符号定义在当前行之后,则它不应被显示
- 修正:编辑器选项中的“显示所有符号”选项打开后,显示出现乱码
- 功能增强:正确打开Dev-C++ 5.11或更早版本创建的项目文件
- 修正:如果一个函数在同一个文件中同时存在前置声明和定义,则会被解析为两个函数
- 修正:如果函数声明/定义的参数被”, “隔开,则不能正确获取参数类型
- 功能增强:创建新项目时,自动保存新创建的所有文件而不再需要逐一保存
- 功能增强:双击编辑器的标题栏,会最大化编辑区(切换全屏)
- 修正:无法正确编译Tools/CheckLang项目
- 修正:当“显示特殊字符”选项被启用时,显示混乱
- 功能增强:不显示选中内容中的特殊字符
- 功能增强:在显示特殊字符时,正确处理注释/字符串和预处理指令中的特殊字符
- 功能增强:在编辑器右键菜单中增加删除文件中所有断点指令
- 功能增强:在断点列表视图的右键菜单中增加删除全部断点指令
- 功能增强:后台语法检查功能不再和编译功能共用同一个编译器,这样在后台语法检查过程中可以正常进行编译
- 修正:在行尾用输入法输入内容时,会错误的自动追加一个空格
- 修正:使用代码模板输入,从一个占位符跳转到下一个占位符时,没有正确刷新显示
VERSION 6.6 MAR 2021¶
- 修正:如果左侧项目视图面板未显示,则单击左侧标签页无法自动隐藏面板
- 改变:菜单和工具栏缺省使用24×24大小的图标;
- 功能增强:在环境菜单中增加图标页,用户可以自行选择图标大小
- 功能增强:在初始向导中增加图标大小选项
- 功能增强:在环境对话框的关联面板中增加.cc文件的文件关联选项
- 功能增强:在安装程序中增加.cc、.cxx和.hxx的关联选项
- 功能增强:正确处理extern变量声明,以实现在声明和定义之间的正确跳转
- 修正:自带ege库的问题
- 修正:高亮选中的单词,当选中的内容包含其他内容时,其中的单词依然被高亮
- 修正:当监视窗口中有内容时,退出Dev-C++会出错
- 改变:编辑器选项对话框自动完成页中的“补全时忽略大小写”选项缺省改为打开
- 改变:本地化Dev-C++标题栏中的程序名称
VERSION 6.5 FEB 2021¶
- 修正:如果devcpp启动时缺省打开结构浏览器,里面内容无显示
- 修正:在开始重命名符号前,没有重新解析源文件
- 改变:当进行重命名符号时,不再自动保存修过的文件
- 修正:当自动保存的编辑器光标历史位置记录数量大于500时,devcpp出错
- 修正:当同时打开多个文件并逐一关闭时,关闭最后一个文件出错
- 修正:当重新解析项目时,可能会出错
- 修正:项目选项对话框版本信息页中的表格高度不正确
- 修正:在’unsigned’和’signed’后显示代码补全提示
- 功能增强:在编译器选项对话框中点击“由文件夹添加编译器设置”按钮,会增加相应的Release/Debug/Profile配置
- 功能增强:优化“在文件视图中定位当前文件的处理”
VERSION 6.4 BETA4.1 FEB 2021¶
- 修正:当#include iostream后,输入v可能会导致devcpp无响应
- 修正:当文件有修改时,编辑器标题栏显示不正确
VERSION 6.4 BETA4 FEB 2021¶
- 修正:在新建编辑窗口中粘贴的一段代码,未能立即被解析
- 修正:在更新解析编辑中的项目文件时devcpp可能会出错
- 功能增强:使用gcc 10.2编译器时,编辑器不会将中文标识符标记为错误(但是不支持中文标识符的补全提示)
- 功能增强:增加文件浏览器面板
- 功能增强:在编译器选项对话框自动链接页的表格中增加横向滚动条
- 功能增强:增加编辑器关闭按钮
VERSION 6.4 BETA3 FEB 2021¶
- 修正:关闭项目时偶尔会出错
- 改变:如果devcpp是通过在windows文件管理器中打开文件的方式被启动的话,不自动打开上次退出时关闭的文件
- 改变:如果已经有devcpp启动并在运行,那么再启动一个devcpp不会自动打开上次退出时关闭的文件,以免两个devcpp同时编辑同一个文件。
- 改变:文件菜单的历史打开文件改为显示文件名而不是完整路径,以免路径过长导致菜单显示不全;
- 修正:在自动补全#include头文件名时,结尾的>或者”可能会丢失
- 修正:当文件编码为gbk时,编译得到exe文件中文显示不正确
VERSION 6.4 BETA2.1 FEB 2021¶
- 修正:如果项目文件在打开项目之前已经被单独打开,那么将无法使用“关闭”命令关闭它。(启动时自动打开的项目文件也因此无法关闭)
- 修正:关闭文件时偶尔会发生devcpp出错。
VERSION 6.4 BETA2 FEB 2021¶
- 修正:如果函数的声明和定义不在一个文件中,在编辑该函数时,自动补全提示中可能不会出现局部变量
- 修正:删除一行末尾的换行后,撤销(undo)无法得到正确的结果
- 功能增强:在编辑器选项对话框配色页的示例代码框中,更好的显示配色效果
- 功能增强:支持C++ using alias语法,如’using std::vector;’
- 功能增强:自带gcc中集成的ege升级到21.01最新版
- 自带gcc中集成的libturtle更新:增加setBackgroundImage、setBackgroundColor和fill函数
- 修正:gcc语法检查会将形如L”字符串 2″的字符串字面量标记为错误
- 修正:进行语法检查时会错误删除编译的exe文件
- 功能增强:在执行“运行”命令时,会保存文件并检查是否需要重新编译
- 功能增强:使用不同的颜色显示字符串中的转移字符序列
- 修正:当字符串没有正确结束时,显示不正确
- 功能增强:在编辑器选项对话框的代码完成页里添加“按范围排序”选项
- 修正:编辑注释和字符串时,“自动删除匹配符号”功能被错误的激活
- 改变:“缺省使用UTF8编码”选项改为缺省关闭(因为gcc会使用操作系统的缺省编码GBK来产生__FILE__内容,如果文件中的字符串以utf8编码,而文件路径中包含非ascii字符,__FILE__就会导致编译失败或乱码 )。
- 功能增强:在编辑器选项对话框的杂项页中增加“启动时自动加载上次退出时的文件”选项,缺省打开
- 功能增强:启动时自动加载上次退出时的文件
VERSION 6.4 BETA1 JAN 2021¶
- 修正:调试面板中求值输入框和结果框的字体颜色不正确
- 修正:求值输入框和结果框无法复制/粘贴
- 修正:当编辑器未获得焦点时,禁用其复制/粘贴/缩进和切换注释快捷键
- 功能改进:当后台代码分析完成时,刷新编辑器
- 功能改进:改进结构浏览器对cpp文件中的类成员函数实现的显示(因为类定义不在该文件中);
- 功能改进:当文件中出现多处同名命名空间时,在结构浏览器中只显示一个。
- 修正:点击结构浏览器中的节点展开图标时,不会跳转到该节点对应的定义处;
- 修正:在结构浏览器中展开包含子定义的节点时,不会将该节点自动滚动到顶部。
VERSION 6.4 ALPHA2 JAN 2021¶
- 功能增强:在编译选项对话框中增加“启用自动链接”选项
- 修正:无法正确解析和显示补全提示形如’blocks[four_blocks[j].i][four_blocks[j].j].color_id’的符号;
- 修正:当项目面板隐藏时,左侧面板的标签页显示不正确
- 功能增强:极大的提升了结构浏览器面板的加载速度。(例如对于GL/glew.h文件,加载时间从大于20秒减少到小于0.5秒);
- 功能增强:在结构浏览面板的右键菜单中,恢复“显示当前文件中的定义”和“显示项目中的定义”选项
VERSION 6.4 ALPHA1 JAN 2021¶
- 功能增强:在后台线程中进行代码分析,彻底避免第一次#include大文件如bits/stdc++.h时的卡顿
- 修正:当包含的头文件路径中包括.或..时,代码补全提示不能正确显示该文件中包含的符号
- 修正:编辑器选项中自动保存部分的选项中文说明
- 功能增强:当没有打开项目时,隐藏项目面板(因为没有用)
- 功能增强:新建新项目后,项目面板中的项目文件列表缺省自动展开
- 修正:如果当前程序没有断点,但是其他打开的程序有断点的话,调试当前程序不会暂停到main的第一条语句
- 功能增强:点击结构浏览器并跳转到符号定义处时,如果没有切换编辑器,则不刷新结构浏览器内容
- 修正:断点列表中的文件名和编辑器中的文件名不一致
- 修改预定义配色方案的加载方式,以便增加/修改预定义配色方案。
VERSION 6.3 正式版 JAN 2021¶
- 修正:全局变量在代码补全窗口中和编辑窗口中的颜色一致
- 修正:当devcpp启动并发现原先的编译器设置不正确时,会提示重新检测编译器设置,但是检测完成后未保存设置。
- 修正:TODO项对话框显示不正确
- 修正:在Windows 10下,停止执行按钮不能停止和关闭当前正在运行的程序
- 改变:在devcpp的标题栏显示当前活动非项目文件的文件名
- 修正:启动调试时,如果程序需要编译,且用户在提示对话框中选择“否”,调试未中止。
- 功能增强:在代码补全窗口提示代码模板(感谢:网友番茄→西红柿提供的模板)
- 修正:局部变量面板无法正确显示数组变量
- 功能增强:在编辑器选项对话框的“自动补全”页中,增加“显示代码模板”选项
- 功能增强:使用输入法输入单词也可以打开补全提示窗口
- 功能增强:局部变量面板增加右键菜单(提供复制功能)
- 修正:个别中文符号(如“—”)会导致utf8编码文件编译失败。
- 功能增强:鼠标在编辑器左侧边栏拖动时,不会触发断点切换和代码折叠。
VERSION 6.3-BETA4 JAN 2021¶
- 当devcpp正在运行时,关闭windows系统会导致devcpp出错
- 功能增强:代码分析器能正确处理更复杂的模板参数
- 功能增强:代码分析器能正确处理struct/class/union中的C++ 11 attr
- 功能增强:代码分析器能正确处理{}形式的对象初始化,如A x {new A};
- 功能增强:正确分析和显示std::future的代码补全提示
- 功能增强:左键单击下方消息面板的当前活动页,会隐藏该面板;
- 功能增强:在调试面板中增加局部变量页
- 修正:如果在编辑器选项对话框 显示面板 的装订线组中使用了和编辑器不一样的字体,会导致鼠标点击左侧折叠图标时的判定处理不正确
- 功能增强:左键单击左侧消息面板的当前活动页,会隐藏该面板;
- 功能增强:GDB主控台在执行用户手工输入的指令时,不会失去焦点
- 修正:文件/书签/杂项工具栏在深色背景主题下显示不正确
- 功能增强:用户代码模板支持占位符
- 修正:Ctrl+F11编辑区最大化/恢复正常
- 修正:新建文件的自动语法检查
- 修正:当文件另存为非c/cpp文件时,关闭自动语法检查
- 修正:当代码以typedef或typedef struct或者typedef enum结束时,解析出错
- 修正:’typedef enum {} xxx;’解析不正确
- 功能增强:在当前文件所在文件夹打开windows terminal(如果安装了windows terminal的话)
- 功能增强:代码->排版选项增加自定义项
- 修正:当选择一段文字并使用输入法输入内容覆盖后,撤销功能不工作
- 修正:搜索/替换对话框中的输入框存在半个中文字符问题
- 功能增强:将自带的xege更新到git master版本
- 修正:切换注释不能正常工作
- 功能增强:类似’12s’的符号不再显示为错误(C++ 11 User-defined literals)
- 修正:当devcpp最小化后,在windows中打开C/CPP文件会恢复devcpp窗口,但是此时它的最小化按钮不工作
- 修正:编辑Makefile时,不进行自动语法检查(因为它并不是C/C++文件)
- 功能增强:在devcpp标题栏中显示文件有修改标记。
- 功能增强:在自动匹配符号时,视情况自动在’}’后添加’;’。
- 修正:当编辑器中一行内容超过窗口宽度,使用水平滚动条左右调整视图时,中文字符显示不正确。
- 修正:当切换编辑器时,状态栏中的编码信息未随之更新。
- 功能改变:如果在自动语法检查中出错(如编译器设置不正确),不显示错误提示。
- 修正:调整编辑器选项和环境选项对话框中的文本高度
- 修正:无法正确解析Mingw-w64 gcc 10.2的stdio.h文件,导致无法补全scanf函数。
VERSION 6.3-BETA3 DEC 2020¶
- 自带gcc编译器改为mingw-w64 gcc 10.2 i686(32位)版本,带DirectX和OpenGL,便于学习计算机图形学编程。(之前自带的gcc 9.2 不支持C++11 std::thread,无法编译OpenCV)
- 修正:补全形如#include
的头文件时,如果在多个系统包含目录中都存在GL子目录,每个GL子目录里的文件都应该出现在补全提示列表中 - 功能增强:当某个代码模板的节编号小于0时,不出现在菜单中(只出现在补全提示列表中)
- 修正:当插入代码模板时,光标定位错误
- 修正:当在函数外写for循环时,devcpp出错
- 修正:在编辑器选项中打开“去除结尾空格”,会导致编辑时出错
- 修正: 在启动时,根据用户选择,正确删除无效的编译器设置,并自动检测生成新的配置
- 增强:使用和其他区域一致的底色绘制编辑器折叠标记
- 修正:在关闭文件时先将结构浏览器对应的编辑器指针设置为空,以防可能出现指针访问错误。
- 修正:正确载入/保存代码补全使用频次数据
- 功能增强:减小安装程序大小
- 修正:正确提示在类中定义的枚举值
- 修正:在代码提示窗口中显示枚举类型缩写(T)
- 修正:#include和<>或””之间没有空格也能显示头文件补全提示
- 修正:对于前面有强制类型转换括号的符号,如char(*)malloc(),正确显示代码补全提示
- 修正:高亮选中的关键字
- 功能变化:重做文件编码(UTF8)检测、处理逻辑和UI(可以选择自动检测、系统编码(GBK)和UTF8)
- 功能增强:将UTF8编码文件转换为GBK
- 修正:在编辑器选项中打开“去除结尾空格”,会导致编辑/* */C风格注释时出错
- 修正:如果在编辑器选项对话框 显示面板 的装订线组中使用了和编辑器不一样的字体,则左侧折叠图标的显示位置会错位
- 修正:如果devcpp已经运行,则在windows浏览器中双击c/cpp/h/hpp文件,文件会在已运行的devcpp中打开。
- 修正:视图菜单->工具栏->调试工具栏 菜单项 不能工作
- 修正:打开一个项目或者文件后,编译/运行/调试按钮会一直重绘导致单个CPU核心占用率100%
- 修正:文件另存为之后,devcpp没有正确监控外部程序对新文件的内容修改。
- 改变:移除类工具栏。该功能存在bug,使用的人很少,且现代IDE都已不再提供类似的功能。
VERSION 6.3-BETA2 DEC 2020¶
- 修正:重新分析项目中的头文件时不丢失其他文件中的函数定义
- 修正:在重命名符号后重新分析代码/项目
- 修正:重命名符号会在文件的最后添加一个空行
- 修正:在项目中重命名符号可能导致devcpp出错;
- 修正:当重命名符号/对文件重新排版时,屏幕有明显闪烁
- 功能增强:当重命名符号/对文件重新排版时,将鼠标光标设置为等待;
- 修正:在分析器中使用临界区来避免资源冲突(减少devcpp出错的可能性)
- 功能增强:对文件重新排版后重新分析文件
- 修正:当鼠标点击编辑区,重新设定光标位置时,未重置代码补全标志导致有时补全行为不正确
- 修正:devcpp启动时未加载用户模板
- 功能增强:javadoc风格的doxygen文档注释支持
- 功能增强:c/c++预处理指令代码补全提示
- 功能增强:javadoc标签补全提示
- 功能增强:在编辑器设置对话框中可调整代码补全窗口的高度和宽度
- 功能增强:在编辑器选项对话框的配色页中,可以使用不同颜色区分全局变量和局部变量
- 功能增强:正确解析和提示带缺省值的函数参数
- 功能增强:分析时区分枚举类型名和枚举值(原来未区分)
- 修正:跳转到函数对话框
- 功能增强:在项目中重命名符号时,只修改和保存那些使用了当前符号的文件;被改名的符号是局部变量时,只修改和保存当前文件。
- 修改:允许多个devcpp同时运行。
- 修改:在自带的gcc 9.2中加入freeglut 3.2.1/GLEW 2.1.0/GLFW 3.3.2,方便学习计算机图形学和OpenGL。
- 功能增强:packmaker:在文件列表中显示安装目标路径
- 功能增强:packmaker:在文件列表中双击可以编辑当前项
- 功能增强:稍微增加菜单项的高度
- 修正:在编译选项对话框的自动链接页中,点击自动链接列表可能会导致内容错乱
- 功能增强:使用拓扑排序来决定编译时自动链接参数的顺序
- 修正:编译日志面板的右键菜单中,复制全部不能工作
- 功能增强:在发行版中增加packmaker.exe
- 功能增强:为packman.exe和packmaker.exe增加注册表hdpi修正补丁
- 修正:packman.exe在移除已安装包时,会删除包含安装文件的目录,即使目录中包含其他文件
- 修正:自动语法检查有时会卡住
RSION 6.3-BETA1 DEC 2020¶
- 功能增强:在编辑器选项对话框的代码补全页中增加“忽略大小写”选项(缺省关闭)
- 功能增强:在编辑器选项对话框的代码补全页中增加“在函数尾添加()”选项(缺省打开)
- 功能增强:当换行时自动检查语法;(缺省打开,可以在编辑器选项对话框的语法检查页中关闭。如安装后继续使用旧版本的配置文件,则需要手动打开(旧版本中该选项已存在但是对话框中未显示))
- 功能增强:每个项目/文件使用自己的语法分析器;
- 功能增强:在折叠代码段后加”…”显示
- 功能增强:使用正确的颜色显示代码补全窗口中的选中项
- 功能变化:在语法分析器运行时禁用关闭按钮
- 修正:当在{}中间换行时,增加的行数计算错误,由此导致查找/断点/编译等面板中的行号更新计算错误。
- 修正:当自动补全函数并自动添加()时,内部标志未清除导致有时补全窗口不显示
- 修正:当部分代码被折叠时,代码颜色显示错误;
- 修正:正在补全的代码行颜色显示错误;
- 修正:宏定义的鼠标提示信息显示不正确
- 修正:当在没有选中内容且光标在行首时,切换注释功能不生效
- 修正:在文件末尾输入内容时,如果当前代码块缺少结束的’}’,则整个代码块的补全提示和颜色都不正确
- 功能增强:#include头文件自动补全
- 功能增强:文件菜单的历史列表中,限制项目最多占用列表的一半(避免无法看到最近打开的非项目文件)。
- 功能增强:正确匹配在不同文件中,相同namespace下的函数声明和定义
- 美化:更新部分图标(在黑色或浅灰色背景下都能正常看清)
- 功能增强:对STL容器中的元素能够正确高亮和显示补全提示
- 功能增强:只有c/cpp/未保存新文件/项目才能编译
- 功能增强:只有c/cpp/h/未保存新文件才能手动执行语法检查
- 功能增强:只有c/cpp/h文件才进行自动语法检查
- 功能增强:只有c/cpp/h/未保存新文件/非静态库项目才能运行或者调试
- 功能增强:只有c/cpp/h/未保存新文件才显示代码完成提示
- 功能增强:当向当前项目中添加文件时,在项目文件夹中打开文件选择对话框
- 功能增强:当为项目选择自定义Makefile或预编译头文件时,在项目文件夹中打开文件选择对话框
- 功能增强:增加对项目预编译头文件支持
- 功能增强:支持用空格或者换行分隔的链式指针/对象调用(不支持在行末加入注释)
- 功能增强:正确分析和提示类内的typedef或者类定义
- 功能增强:对STL容器元素的提示
- 功能增强:支持C++ 14的长整数字面量(如100’000’000)
- 修正:无法找到STL的chrono头文件(因为它以’c’开头)
- 修正:#if __cplusplus 解析错误
- 修正:如果#define中包含’/’,则解析错误
- 功能增强:支持C++ 11 inline namespace;(将inline namespace作为包含它的namespace的一部分处理;在大多数使用场景下ok)
- 功能增强:更新部分图标
- 功能增强:自动链接功能,当编译单个文件时,如果该文件包含指定的某个头文件,则自动加入设定的链接参数(在工具菜单 ->编译选项对话框的自动链接页中设置)。使用海龟作图和XEGE不用再建项目了。
- 修正:在编辑器选项对话框的配色页中选中配色项时会导致串色现象
- 功能增强:消除/减少连续选择大段代码时的闪烁现象
- 修正:关闭打开的文件时devcpp出错
- 功能增强:正确检测和设置mingw-w64 gcc
- 功能增强:在补全std::endl时不自动添加(),虽然它是个函数
- 功能增强:正确显示函数的参数提示
VERSION 6.2.1 DEC 2020¶
- 功能增强:复制为RTF使用的配色和编辑器完全一致(使用不同颜色区分变量 函数和类等)
- 修正:关闭调试日志输出
VERSION 6.2正式版 DEC 2020¶
- 亮点:在打开/保存程序时自动调用gcc进行语法检查,并直接用波浪线在编辑窗口中标出错误位置(可在编辑器对话框->语法检查中关闭)
- 亮点:大量针对编辑的支持和改进,如在编辑器中用颜色区分变量、函数和类,使用不同颜色显示嵌套括号,高亮编辑器中所有被选中的符号等,缺省推荐使用VS Code配色方案。
- 亮点:大量针对代码分析器的改进。分析器能够正确解析更多之前不能正确处理的情况,从而正确的显示代码补全提示;处理速度也有提升,显示补全提示时不再有卡顿感;代码补全窗口中增加关键字提示(可在编辑器对话框->代码补全中关闭)
- 亮点:大量针对项目编辑和调试的改进。
- 亮点:重新设计了搜索面板,保留多次在文件中搜索的结果。
- 亮点:复制为RTF格式内容,支持中文字符和背景色
- 亮点:实验性Tabnine支持(缺省关闭,需要在编辑器配置对话框->代码补全->tabnine中启用)
- 此外还有大量的功能增强和完善,修正了大量的bug,具体请看6.2-beta1至6.2-beta6更新历史
VERSION 6.2-BETA6 DEC 2020¶
- 功能增强:重新设计了在文件中查找的结果面板,保留多次多次查找的结果
- 功能增强:排版选项中增加“删除全部空行”和“删除多余空行”
- 功能增强:分析器能够区分变量初始化(如int a(10);)和函数声明了;
- 功能增强:大大提升了代码分析的速度,除#include行外,回车时无明显卡顿
- 功能增强:提升了代码补全提示窗口处理的速度
- 改变:只有当前输入的单词符号包含至少2个字符时,才显示代码补全提示窗口
- 改变:在关闭项目过程中,不切换当前编辑器
- 改变:在关闭项目/文件的过程中,禁用所有关闭按钮
- 改变:当用户更改使用的预设编译设置时(比如从Debug换成Release),清除之前的编译结果
- 改变:不再自动使用std命名空间(与gcc编译行为一致)
- 修正:分析器不能正确处理特定内容的字符串,导致分析错误
- 修正:分析预处理器在处理宏定义时没有先将行尾注释替换成空格,导致宏展开错误
- 改变:32/64位gcc编译配置使用同样的缺省参数(如Release配置缺省都打开-O2等)
- 修正:Release编译配置缺省未打开-O2和-s参数
- 修正:当试图在所有项目文件中查找时,未打开的项目文件会导致devcpp崩溃
- 修正:分析器无法正确处理C++ for-each循环
- 修正:鼠标提示将类当成了构造器
- 修正:分析器增加防止#include自身的判断,以避免无穷递归(但是后台的gcc语法分析线程也会死掉。。。)
- 修正:分析器无法正确处理特定的字符串参数
- 修正:分析器的分词模块限定一个词不能超过255个字符
- 修正:在没有包含任何头文件的文件中,代码补全窗口中出现了其他文件中的全局函数
- 修正:在自动语法检查完成后,不再自动关闭信息面板
- 修正:在将文件转换为UTF-8后,更新状态栏中的编码信息
- 修正:当编辑非项目里的非C/CPP文件时,禁用编译/运行/调试按钮
- 功能增强:正确显示类似m_myDialog.DoModal()的符号中DoModal的颜色
- 功能增强:正确分析和显示以::开头的符号(如::PostMessage())的信息,
- 修正:正确处理继承
- 功能增强:正确分析和显示多层类嵌套的成员信息;
- 修正:在gcc检查语法时不添加编码转换参数
- 功能增强:如果某个符号首先在当前文件外被解析,依然在结构浏览器中显示它的信息
- 修改:在结构浏览器中左键点击某个符号时,优先在当前文件内跳转
- 修正:在项目文件间切换时可能会导致devcpp崩溃
- 功能增强:改变打开项目时的处理流程,提升打开速度(避免重复解析项目和编辑器中的文件)
- 功能增强:在分析的过程中,结构浏览器内不反复生成节点
- 功能增强:增加class的配色项(需要重新载入配色方案)
- 功能增强:代码完成提示中增加C/C++关键字
- 功能增强: 使用宏定义配色显示enum;使用class配色显示namespace/typedef
- 功能增强:正确解析struct Student *p形式的变量定义;
- 功能增强:提示gcc编译时自带宏定义,如__FILE__等
- 功能增强:可以编辑sql/ html/ css/ js/ html/ xml/ makefile/ shell/ bat/ asm等文件
- 修正:如果某个项目构建的exe文件和源文件不在同一文件夹下,gdb会找不到源文件
- 修正:gdb编译时未加入项目include和lib文件夹
- 修正:在编辑器对话框中调整配色时,正确显示自定义颜色
- 修正:当宏定义中包含%时,devcpp出错
- 修正:某些GUI程序无法在devcpp中运行。
VERSION 6.2-BETA5 DEC 2020¶
- 重要修正:重做了编辑器和分析器的逻辑,只在载入、存盘和每次换行时进行语法分析,不再反复进行局部变量分析。彻底消除由于大量修改后一直未保存导致符号查找错误引起的devcpp死锁;减少频繁进行语法分析导致的卡顿,避免分析冲突导致devcpp崩溃
- 修正:重做了关闭全部编辑器的逻辑,不再一边关闭一边切换显示(只关闭不显示)。处理速度更快且消除了因为切换显示和文件分析冲突导致devcpp出错的可能性。
- 修正:当复制多行文本后,撤销会遗留内容
- 修正:未能正确读取面板颜色设置
- 修正:当使用类模板向导添加类定义时devcpp崩溃
- 修正:用std命令空间中的类型定义的变量不能正确显示代码补全提示
- 修正:try/catch/do后面不跟{}时代码分析不正确
- 修正:当在文件最后输入内容时,{}颜色错误
- 修正:只有当用户在编辑选项对话框中勾选了“打开代码补全”,才进行代码分析
- 修正:当没有文件被打开时,试图编译项目会导致devcpp崩溃
- 修正:当没有可用的编译器设置时,保存文件(并自动检查语法时)devcpp出错
- 修正:在进行语法错误检查时,没有自动包含项目包含目录中的头文件
- 功能增强:高亮和被选中的单词相同的其他单词
- 功能增强:用不同的颜色显示函数/变量(需要配色方案支持,即函数和变量有不同的配色。)
- 功能增强:在编译输出面板中使用粗体和不同的颜色显示警告和错误信息;
- 功能增强:增加VS Code配色方案 并作为首次安装默认方案(感谢蒟蒻jyy网友)
- 改变:调整编辑器弹出菜单。在编辑区标题栏右键弹出菜单才会显示关闭;在编辑器内部右键弹出菜单增加“编译运行”和“调试项”
- 功能增强:增加撤销/重做工具栏(缺省不显示,需要在 视图 -> 工具栏 中勾选)
- 功能增强:重命名符号增加对关键字和非标识符的判断和提示
- 功能增强:能够正确处理for()和catch()中的变量定义。
- 功能增强:能够正确处理struct {} x;形式的变量定义。
VERSION 6.2-BETA4 DEC 2020¶
- 修正:当鼠标移动到预处理指令上时,devcpp可能会崩溃
- 功能增强:在环境对话框点击“删除配置文件并退出”按钮时,会弹出对话框让用户确认,以防用户误点
- 功能增强:在编辑器选项对话框中,增加选项让用户选择新文件的缺省类型(C还是C++,缺省是C++)
- 功能增强:使用不同的颜色显示语法警告和语法错误
- 修正:显示匹配括号后,括号的颜色不正确
- 功能增强:在编辑器选项对话框的配色页中,增加代码语法警告和程序面板的配色设置
- 改变:缺省Debug编译配置不再打开-Werror
- 修正:某个文件之前已经被打开,当打开包含它的项目时,没有被正确标记为项目文件(由此会导致编译错误)
- 改变:在输入#include语句并回车时,进行第一次代码分析(而不是第一次显示智能代码补全窗口时)
- 功能增强:结构浏览器刷新载入速度优化
- 修正:注释/字符串中的括号颜色不正确
VERSION 6.2-BETA3 DEC 2020¶
- 修正:导出成RTF格式时,使用正确的背景色
- 修正:导出到RTF格式时,中文字符乱码
- 功能增强:编辑菜单->以RTF格式复制
- 功能增强:当鼠标移动到编辑器左侧行号栏的错误标记上时显示错误信息
- 功能增强:第一次运行程序(选择语言向导)时,设置HIGHDPI(需要重启程序生效)
- 功能增强:保存项目文件时,只检查该文件的语法而不是试图构建整个项目
- 修正:当代码补全窗口出现时,鼠标的光标不正确
- 修正:当构建项目时,旧的错误信息没有被清除
- 功能增强:在代码菜单中增加移动到前一次编辑位置/后一次编辑位置 菜单项,并在工具栏中代替 撤销/重做(模仿IDEA/PyCharm)
- 功能增强:在视图菜单中增加“关闭报告面板”菜单项
- 改变:删除视图菜单中的“浮动报告窗口”和“浮动项目管理器”。这两个功能存在bug会导致程序崩溃,而且基本上没用。
- 修正:当在程序的最后定义结构的成员时,输入struct之后输入名称时程序会出错
- 修正:无法正确解析形如typedef struct xxx {} yyy,zzz; 这样的定义,当xxx和yyy完全相同时。
- 修正:CPU窗口只能显示一次,以后菜单项一直不可用。
- 修正:CPU窗口中的选择反编译格式按钮未能正确显示;
- 修正:输入x->y->z时,z不能正确提示;
- 功能增强:代码菜单->跳转到前一个错误/跳转到后一个错误
- 修正:鼠标提示停留时间延长为30秒
- 功能增强:鼠标提示显示全部重载函数信息
- 功能增强:更多的控件使用编辑器的配色绘制背景
- 修改:取消“全屏”菜单项,增加“最大化编辑器”菜单项
- 功能增强:现在可以显示如(x)->或(*x)->形式的代码补全提示
- 修正:当对编辑器中的文件进行了修改但未保存时,在编辑区域移动鼠标可能会导致devcpp死锁
- 修改:首次运行时,推荐“PlasticCodeWrap”方案(黑底白字)作为缺省的配色方案。
VERSION 6.2-BETA2 NOVEMBER 2020¶
- 修正:缩进、取消缩进的快捷键TAB和Shift+TAB不能使用
- 修正:在程序最后一行定义函数,写第一个参数时程序停止响应
- 修正:GDB主控台不能正常使用
- 功能增强:使用不同的颜色显示嵌套括号 (可在 编辑器选项->配色 中关闭)
- 功能增强:Tabnine智能提示 (实验性,需要用户自行到https://github.com/codota/tabnine-sublime/tree/master/lib下载最新版的tabnin.exe并放到Dev-CPP目录下,然后在 编辑器选项->智能补全->Tabnine中打开)
- 功能增强:直接在编辑器中用波浪线显示编译错误位置;
- 功能增强:在打开/保存程序时自动调用gcc语法检查;(可在 编辑器选项->语法检查 中关闭)
- 改变:通过隐藏部分非常用工具栏,删除打印等非常用工具按钮等,将缺省工具栏精简为一行
- 改变:在打开项目时不再解析所有项目文件,以提升处理速度
- 改变:取消结构浏览器的 显示所有/显示项目中所有/显示包含的头文件中所有 选项,这些选项要么用不到,要么需要解析所有项目文件而拖累处理速度,因此删除
VERSION 6.2-BETA1 NOVEMBER 2020¶
- 功能增强:正确解析和高亮显示含C++11 R””的字符串;
- 功能增强:正确解析”strucst Student s1;”形式的变量定义;
- 功能增强:正确解析匹配函数声明和函数定义,当两者的参数类型相同但是参数名有差异时;
- 功能增强:在编辑器选项对话框中增加“清除符号使用数据”按钮
- 功能增强:在环境选项对话框中增加“缺省项目目录”配置项
- 功能增强:在左侧项目面板的右键菜单中增加“打开项目文件夹”和“打开主控台窗口”命令
- 功能增强:代码格式化(astyle)增加添加空白和指针、引用符号对齐选项
- 功能增强:代码格式化对话框使用TEMP目录来保存临时文件(之前使用astyle目录)
- 功能增强:重构菜单->提取宏定义
- 功能增强:重构->重命名符号现在支持对项目文件中定义的符号进行重命名
- 行为改变:在编译源代码前,首先删除之前编译的exe文件。这样如果编译失败,用户不会误运行之前编译的exe文件并疑惑为什么对代码的修改没有生效。
- 修正:重命名符号时,当新名字和不在当前上下文的符号重名时不再报错。
- 修正:如果项目文件在项目打开前已经在浏览器中打开,打开项目时不再重复打开它。
VERSION 6.1正式版 NOVEMBER 2020¶
- 修正:正确处理通过代码菜单插入用户模板
VERSION 6.1-BETA3 NOVEMBER 2020¶
- 功能增强:记录用户在自动代码提示时选择一个符号的次数,并使用它来将用户常用的符号排在提示的前部(需要在设置中打开)
- 功能增强:代码提示窗口和大多数内容视图使用编辑器的配色方案
- 功能增强:当在定义变量或者函数名时,不显示代码提示窗口(因为不需要)
- 功能增强:如果某个项目文件不在项目所在的文件夹中,在项目视图中将会显示它的路径(而不是只显示文件名)
- 功能改进:大幅提升了分析代码时的处理速度
- 修正:在调试时,如果在编辑区域移动鼠标可能会导致Dev-C++死锁
- 修正:在调试时,鼠标移动到函数名上时不显示提示
- 修正:在添加监视变量时删除输入的空格
- 修正:不能正确解析C标准库time.h文件
- 修正:安装程序在删除旧安装时获取的安装路径不正确
VERSION 6.1-BETA2.2 NOVEMBER 2020¶
- 修正:当调试时,移动鼠标到变量名上时程序死锁
- 修正:更新ege到最新版,修正getimage错误
VERSION 6.1-BETA2.1 NOVEMBER 2020¶
- 修正:快捷键失效
VERSION 6.1-BETA2 NOVEMBER 2020¶
- 功能增强:当刷新或更改排序方式时,结构浏览器更新速度提升
- 功能增强:函数返回值也可以有代码补全提示了(在写x().y().z().b这样的代码时可以有提示了)
- 功能增强:当光标在{}中间按下回车时,会自动插入一个缩进的空行且光标定位在该空行处;
- 功能增强:用户自定义模板;在代码补全时可调用它
- 功能增强:符号完成:增加对#include中的<>的自动补全和自动跳过
- 功能增强:代码补全提示增加对C++11智能指针的支持
- 功能增强:向代码中插入复制内容时,会自动保持原有的缩进
- 修正:当存在using namespace语句时,代码补全提示无法找到正确的定义;
- 修正:代码分析器在处理#undef时存在内存泄漏
- 修正:当项目配置文件里的编译器配置选项被设成-1时,devcpp崩溃
- 修正:当在类/函数外时,找不到std namspace下的符号定义
- 修正:当函数声明中的参数没有给名字时,无法和对应的函数实现匹配(修正后仍无法处理声明和实现参数名不同的情况)
- 修正:解析器可以获取变量的模板参数了(目前只用于智能指针处理)
- 修正:当结构浏览器正在显示时改变主窗口大小或位置会导致devcpp崩溃
- 修正当选择/跳到对应的定义位置时,结构浏览器不会刷新
- 修正:当某行仅有/*时,显示错误
- 修正:当函数定义和实现不在同一个文件时,解析局部变量会导致devcpp解析器死循环
- 修正:工具栏中的编译器配置下拉框使用主界面的字体大小设置
- 修正:左侧结构浏览器正确显示项目头文件内容(如果#include 头文件名和实际文件名大小写不一致时)
VERSION 6.1-BETA1.1 NOVEMBER 2020¶
- 关闭调试日志
VERSION 6.1-BETA1 NOVEMBER 2020¶
-
亮点:
-
代码分析器增加对C++ namespace支持
- 免安装版成为真正的绿色版:配置文件保存在config子文件夹中;新项目创建在projects文件夹中
- 监视面板性能改进,每执行一条调试命令时监视面板只刷新一次
-
更新列表:
-
功能增强:每执行一条调试命令时监视面板只刷新一次
- 功能增强:在监视面板中保存/载入监视变量
- 改变:只有通过安装程序安装的devcpp才会把配置放在用户的AppData目录下
- 修正:在编辑器选项对话框的Demo代码窗口中,使用正确的背景色绘制光标所在行(当前行)
- 修正:当使用拖拽改变左右面板大小时,左侧面板不会完全消失
- 修正:当gdb正在执行命令的过程中,禁止用户添加监视变量(因为此时gdb无法执行获取监视信息的命令)
- 功能增强:在SynEdit的语法高亮器中使用TStringHash来判断一个标识符是否是CPP关键字;比原来的实现更容易修改和维护;
- 修正:当源文件名中包含空格时,ConsolePauser无法找到对应的.exe文件
- 修正:删除项目文件对话框布局错误
- 修正:如果项目文件#include了项目头文件夹里的头文件时,生成的Makefile不正确
- 修正:只有通过安装程序安装的devcpp才会把新项目放在用户我的文档目录下
- 修正:如果某个Action没有标题,那么在保存/载入自定义快捷键设置时会导致程序崩溃;
- 功能改进:在代码分析器中展开无参数的宏定义
- 功能改进:当文件的最后一行是typedef时,会导致DevCpp崩溃
- 修正:内部类/结构解析出哦
- 功能改进:C++ namespace 支持
- 功能改进:在代码分析器中忽略gcc的__attribute__标签
- 功能改进:递归创建项目文件夹
- 修正:#include
解析出错,当dir中包含/时 - 修正:当打开一个项目时项目包含文件夹没有被正确加入代码解析器;
- 修正:关闭项目时devcpp崩溃
VERSION 6.0 2020年11月7日¶
-
亮点:
-
改用未压缩的gcc、gdb和consolePauser,大幅提高(首次)处理速度
- 调试时,监视信息会及时更新(例如进入和退出函数时,同名局部变量会及时更新)
- 在监视窗口中双击表达式可以对其进行修改了
- 在当前文件所在的文件夹处打开主控台窗口(右键单击编辑器上方的文件标题,选择”打开命令行窗口“)(自动加入了gcc和gdb路径,以便手工编译和调试)
- 在查找和替换中可以使用正则表达式了
- 增加安装程序
-
完整更新说明:
-
修正:修改“运行”/“编译运行”和“替换”的图标
- 修正:工具栏中的类成员下拉框可以工作了
- 增加:在当前文件所在的文件夹处打开主控台窗口
- 修正:如果源代码中#include的头文件不存在会导致为项目生成的Makefile错误
- 修正:使用解析源码得到的#include信息来生成Makefile文件中的依赖列表,不再使用“gcc -MM”(这样速度更快)
- 修正:当项目结束时,结构浏览器中的信息会正确更新
- 修正:typedef 函数指针类型解析错误
- 修正:当清除解析器的定义列表时,在子定义之前删除父定义会导致Dev-C++内存错误;
- 修正:在解析器中使用FastIndexOf对TStringList进行(折半)查找,以提升处理速度
- 功能增强:可以使用正则表达式进行查找了
- 修正:当构建项目时,如果ld.exe出错会导致Dev-C++死循环
- 修正:当在typdef中使用(Type * var)进行定义时,解析器处理错误
- 修正:在调试时,通过调用栈面板切换函数会正确同时更新监视信息
- 修正:当使用Windows主题时,在某些对话框中按下Alt键会导致所有的按钮(包括勾选框)消失
- 修正:更新部分中文翻译
- 修改:当代码提示框出现时,按下左/右/Home/End键会关闭代码提示框并在当前行移动光标
- 修正:忽略标识符中的namespace限定符。(这样至少可以让被限定的名字也能出现智能提示)
- 修正:当代码提示框正在准备内容时,用户可以继续输入
- 修正:可以在编辑器选项对话框中的“配色”页中设置当前行的背景色了
- 修正:所有的编辑器配色主题都有了(比较合适的)当前行背景色
- 修正:使用TThemeColor代替TPoint来保存配色
- 修正:增加安装程序
- 修正:如果启动时另一个Dev-C++已经在运行,直接退出而不是循环等待
- 修正:由-> . ::启动的代码提示不会在只有一个建议项的情况下进行自动补全
- 功能增强:安装程序增加简体中文语言,并对全部提示信息进行了汉化
- 功能增强:双击监视窗口中的表达式可以对其进行修改
- 修改:在gdb主控台的右键菜单中删除“显示gdb详细注解输出”选项(该选项仍可通过 环境对话框 打开)
- 功能增强:对项目属性对话框中的参数页进行了重新布局
- 修正:在左侧未显示结构浏览器时打开文件,会自动切换出结构浏览器但是内容为空。
- 修正:改用未压缩的gcc、gdb和consolePauser,大幅提高(首次)处理速度。
VERSION 6-BETA6.1 2020年10月30日¶
- 修正:当关闭窗口时,Dev-C++不会真正退出
- 修正:GDB主控台支持对当前输入命令进行编辑
VERSION 6-BETA6 2020年10月30日¶
- 修正:在调试时,点击调用栈列表中的函数,在跳转到该函数的同时,会同步更新监视面板中的变量/表达式的值
- 修正:在调试时,当程序执行进入或者退出函数时,会同步更新监视面板中的变量/表达式的值
- 修正:输入一个单词(显示代码完成提示)并且用退格删除(提示隐藏)后,立刻再次输入时不能显示代码完成提示
- 修正:当修改(删除)源文件中的#include语句时,代码分析器不能进行正确的处理。
- 修正:如果第一次显示代码完成提示的时候输入太快,会导致代码分析器处理错误(此后无法正常显示代码完成提示)
- 修正:在项目中打开文件时未能正确更新结构浏览器中的信息;
- 修正:部分中文翻译
- 修正:当关闭项目时正确更新结构浏览器中的信息;
- 修正:用数据文件代替键盘数据(重定向标准输入)功能现在可以在XP下使用了
- 修正:增加了错误日志文件,部分错误发生时会写入该文件
- 修正:增加了调试工具栏
- 修正:在使用Delphi开发Dev-C++时,同时打开另外一个单独的Dev-C++会导致程序一直死循环
- 修正:在结构浏览器中用不同的图标标识静态函数、静态变量、全局函数和全局变量
- 修正:添加监视使用自己的图标(不再使用和“搜索”功能相同的图标)
- 修正:现在调试输入窗口可以像一个真的gdb命令行终端一样使用了
- 修正:“显示发送给gdb的指令”和“显示详细gdb注解输出”选项缺省关闭
- 修正:在WindowsXP下,程序首次运行向导中的图标示例显示错误
- 修正:在WindowsXP下,Dev-C++无法清空/删除现有的配置
VERSION 6-BETA5.1 2020年10月25日¶
- 修正:当类B继承类A,同时类C又继承类B时,退出Dev-C++时会出现内存访问异常导致程序崩溃。
- 修正:当程序的最后一个单词是typedef时,Dev-C++会异常退出。
- 修正:只有当打开/保存文件时才刷新结构浏览器的内容,以防止编辑大文件时卡顿。
- 修正:在重新解析头文件时,缓存的#define定义会丢失。
VERSION 6-BETA5 2020年10月24日¶
- 修正:当打开系统头文件时,左侧栏结构视图中不显示文件中的定义
- 修正:左侧栏结构视图中的图标更加醒目和明确
- 修正:左侧栏结构视图中显示宏定义、类型定义(typedef)和枚举
- 修正:左侧栏结构视图按行选择
- 修正:左侧栏结构视图不会随着鼠标滚轮上下翻页
- 修正:删除Cpp解析器里使用的IntList,减少几十M的无效内存占用
- 修正:正确解析函数类型的typedef
- 修正:代码自动完成结束后,单词还没输入完之前,不再解析文件。(在低配置机器上输入更流畅)
- 修正:重命名符号处理时只预处理/词条化(tokenize)文件一次。(在低配置机器上处理更快)。
VERSION 6-BETA4 2020年10月23日¶
- 修正:windows xp sp3下左侧边栏的标签名称显示为空白。
- 修正:打开项目或者创建项目时不能正确更新状态栏中的显示的文件编码
- 修正:当启动调试时,未能自动切换显示“监视”和“调试”面板
- 修正:当启动调试,但程序需要重新编译时,编译完成后未能自动启动调试器
- 修正:”delete []”被错误识别为数据类型
- 修正:在重命名符号时,新名字不能是C/C++的关键字
- 修正:在函数/变量提示信息中正确显示const关键字
- 功能增强:代码完成提示时,根据变量的类型和所在范围自动隐藏不能访问的(私有)成员函数/变量
- 功能增强:代码完成提示时,区分’::’运算符和’.’、’->’
- 功能增强:在函数/变量提示信息中隐藏__开头的宏或者类型定义
- 功能增强:增加友元函数和友元类支持
- 功能增强:改变Cpp解析器处理继承的方式,速度更快且错误更少。(如果代码中存在循环继承,旧解释器会出现死循环现象)
- 功能增强:在Cpp解析器内部保存每个类的成员信息,以提高查找效率,并为下一步支持namespace建立基础。
- 功能增强:在Cpp解析器内部使用TStringHash来判断某个单词是否是关键字,大幅提升处理效率。
VERSION 6-BETA3 2020年10月¶
- 修正:在Windows高DPI模式下界面文字模糊问题(在工具菜单打开环境选项,在基本选项卡中点击“修正高DPI模糊问题然后退出”按钮,然后重新运行Dev-C++)
- 修正:不能正确解析GCC的编译错误输出信息
- 修正:在GCC编译输出窗口中,点击.o文件不会再试图打开它
- 修正:在GCC编译输出窗口,右键菜单中的复制按钮将只复制错误信息,不再复制文件名和行号
- 修正:自动代码完成不再会替换后面紧挨着的标识符
- 修正:调整代码完成提示窗中每一项的高度,以完整显示内容
- 修正:在windows xp/windows 7以UTF-8编码打开文件时显示空白
- 修正:当打开文件,状态栏显示使用的文件编码不正确
- 修正:只有在编辑器打开文件时自动检测检测文件是否UTF-8编码。再次打开不再检测。
- 修正:文件菜单项缺失
- 修正:工具栏中的下拉框字体太小
- 功能增强:在新项目向导中,项目文件夹会自动随着项目名的改变而改变。
- 功能增强:修正部分不准确的中文翻译。
- 功能增强:调试面板中的断点列表增加右键菜单
- 功能增强:如果一个宏定义为空,它将不会再出现在变量/函数代码提示的类型定义中。
- 更新海龟作图库LibTurtle,修正部分错误。
VERSION 6-BETA2 2020年10月¶
- 修正:各调试按钮的中文标题
- 修正:当程序正在运行或者调试时,停用调试和运行按钮。
- 功能增强:重新设计调试面板。
- 功能增强:为主要的调试按钮增加醒目的图标。
- 功能增强:为缩进/取消缩进按钮增加图标。
- 功能增强:在解析头文件获取代码完成提示信息时,自动定义’EGE_FOR_AUTO_CODE_COMPLETETION_ONLY’宏,使ege.h停止包含windows.h文件,大大的减少了代码完成提示中暴漏的windows api符号数量.
VERSION 6-BETA1 2020年10月¶
- 版本:既然我们已经做了这么多的bug修正和功能增强,为啥还是版本5呢?大版本号升级为6。
- 修正:代码完成提示窗口中的字体大小和编辑器一致。
- 修正:导出的HTML文件使用正确的字符集名称。
- 功能增强:在调试时,修改断点的条件会立即生效。
- 功能增强:在创建新项目时,自动为项目设置和创建一个项目文件夹。
- 功能增强:如果源代码是UTF-8编码,那么使用UTF-8作为输出的HTML文件编码。
- 功能增强:当打开/新建文件时,自动将左侧栏切换到结构视图。
- 重新实现了符号重命名功能,不再使用clang-rename。
- 修改关于对话框中的信息。
VERSION 5.13-BETA5 2020年10月¶
- 修正:当遇到}出现在一行的开头,并且前面是空行时,程序崩溃。
- 修正:随输入进行代码完成时,如果只有一个候选符号名,程序会自动使用它进行补全。这个行为不正确。(用户并不一定想用这个符号)
- 当)前紧挨着一个字符串时,无法自动覆盖。
- 修正:当CPU窗口被打开之后再关闭,停止调试会导致程序崩溃。
- 功能增强:第一运行时,会检查用户Windows使用的语言并将其设为推荐语言。(目前只有简体中文正常工作)。
- 功能增强:条件断点
- 功能增强:将当前文件转换为UTF-8编码。
- 修改:重新组织菜单项(以突出调试功能)
- 重新设计调试面板。
VERSION 5.13-BETA4 2020年10月¶
- 修正:当在行末输入(时,自动符号完成功能出错
- 修正:当遇到}出现在一行的开头时,程序崩溃
- 功能增强:随输入自动打开代码完成提示
- 功能增强:在代码完成提示中,多个重载函数只显示为一个。
- 增加:如果简体中文windows用户第一次运行Dev-C++,自动选择使用Alt+/作为启动代码完成的快捷键。
- 功能增强:在打开文件时自动判断文件是否UTF-8编码。
VERSION 5.13-BETA3 2020年10月¶
- 修正:Step Out按钮的英语标题错误
- 修正:没有正确释放gdb子进程使用的句柄。
- 增强:不允许用户在调试日志窗口中输入quit命令退出调试。
- 修正:类(class)窗口中字体大小不正确。
- 修正:std::string类型的变量无法显示自动完成提示信息
- 修正:正确解析windows.h头文件
- 在调试日志窗口的右键菜单中增加“显示gdb命令”和“显示gdb注解”选项按钮。
- 将EGE(graphics.h)升级到官方最新版
- 修改:隐藏各调试按钮命令在调试日志窗口中的输入
VERSION 5.13-BETA2 2020年10月¶
- 修正:ege(graphics.h)和libturtle的项目模板
- 修正:重命名功能对多语言的支持
- 修正:当运行编译的项目文件时,运行参数也生效。
- 修正:当旧项目的编译设置失效时,我们使用缺省编译设置(但这会导致旧项目的编译选项丢失)。
- 修正:调试日志窗口的字体大小
- 功能增强:在运行和调试程序时,将数据文件重定向到程序的标准输入(STDIN)。注意:前者在windows xp下不能正常使用;后者需要给gdb打补丁。
- 功能增强:重新设计调试面板(增加更多命令)
- 功能增强:在CPU窗口中,点击左下方的函数会显示该函数的反编译信息和CPU寄存器信息。
VERSION 5.13-BETA1 2020年10月¶
- 增加:项目的UTF-8支持(项目缺省使用UTF-8编码选项,以及编译UTF-8编码文件)
VERSION 5.13-ALPHA3¶
- 修正:在编译器选项对话框中,停用/启用自定义编译/链接会同时停用/启用对应的文本编辑框。
- 修正:仿照jetbrains的IDE(如pycharm),重新实现了符号完成功能:{} () [] “” ”。自动覆写匹配的右括号。用户有更好的输入体验。
- 修正:输入“}”会导致该行的缩进丢失。
- 修正:代码提示窗口处理TAB案件消息。
- 修改:缩短代码提示信息(MinGW gcc里面的定义信息太长,导致代码提示窗口中看不到有效的提示)
- 修改:用户可以选择用alt+/作为代码完成的快捷键
VERSION 5.13-ALPHA2¶
- 修正:状态栏的信息太长显示不下
- 修正:如果当前正在使用Release编译配置,开始调试会导致程序崩溃。
- 修正:CPU信息窗口中的寄存器信息显示错误
- 修正:调试日志窗口可以正确显示utf-8编码信息。
- 修正:改进调试日志窗口的显示
- 修改:在状态栏中显示文件编码
- 修改:自带的编译器改回to mingw.org gcc 9.2,以节省磁盘空间(gcc 10的UTF-8标识符支持没太大实用价值,不值得为它浪费空间)。
- 修改:升级gdb到9.2版本。
- 修改:删除调试面板上的“下一条指令”/“进入指令”按钮,增加“运行到光标”按钮。按照其他常见IDE中的惯例重新命名了部分调试按钮。
- 增加:当Profile时,如果源代码比profile信息新,提示用户。
- 如果没有设置断点,开始调试后gdb会自动停在main函数的第一条语句处。
VERSION 5.13-ALPHA1¶
- 修正:在调试程序开始后,“调试”按钮未变灰。
- 修改:当要调试的可执行文件比源码旧时,提醒用户。
- 修改:改进调试日志窗口的输出
- 修改:升级到MinGW-W64-i686 gcc 10.2 (增加了对utf-8编码标识符的支持)
- 增加:支持UTF-8文件编码(项目支持未做)
- 增加:在环境选项对话框中增加两个控制调试日志窗口输出的选项
VERSION 5.12.4¶
- 修正:当项目中的头文件被修改后,项目不会重新编译。方法是使用gcc -MM 来生成Makefile中的编译目标信息。
- 修正:关闭调试中的程序会导致Dev-C++崩溃。
- 修改:在调试日志窗口中显示发送给gdb的指令。
- 增加:两个控制调试日志窗口输出的选项(尚未在选项对话框 中增加这两个选项): ShowComandLog (在调试日志窗口中显示gdb命令)/ ShowAnnotation (在调试日志窗口中显示gdb注解信息)
VERSION 5.12.3 19 SEPTEMBER 2020¶
- 修正重命名符号中的错误
VERSION 5.12 2020年9月9日¶
- 将自带编译器升级为gcc 9.2(来自mingw.org)
- 增加重构菜单和重命名符号功能
- 使用Debug配置作为缺省的编译器配置。(以便于调试)
- 在Debug配置中,缺省打开 “-Wall”、”-Wextra”和”-Werror”选项,以更早的发现程序中的错误,并培养良好的编程习惯。