royqh1979 / RedPanda-CPP

A light-weight C/C++ IDE based on Qt
GNU General Public License v3.0
938 stars 102 forks source link

给小熊猫的一点建议 #382

Closed Ltabsyy closed 4 months ago

Ltabsyy commented 4 months ago

给小熊猫的一点建议

小熊猫短期建议,为目前本人发现存在问题和群友提出问题或建议;小熊猫长期建议,可无需在意。 更新时间:2024/4/15

小熊猫短期建议

1.文字细节

安装目录的MinGW64变mingw64了,无论是否开关压缩安装目录

2.压缩安装目录使用控制台输出信息

在小熊猫安装器面板已经有输出详细信息后,还用控制台输出信息是相对割裂的,宁可直接把控制台隐藏了,然后输出“正在压缩安装目录...... 压缩完毕。”

(目前压缩安装目录的需求并不足,直接移除此功能也无妨)

3.新增MoLo CWOut配色方案以满足MoLo主题复制到白纸的需求,例如实验报告。(#375)

4.配色方案的侧边栏字体样式,能启用但不能生效

5.补全代码模板后使用次级方框显示可用Tab跳转的位置,次级方框颜色为注释色

6.配色方案复制到Word

(1)#include后尖括号内采用标识符色,而不是目前的变量色,以与编辑器内代码显示统一

(2)可考虑新增将彩虹括号复制到外部的特性

7.对于较长较宽代码,2.26小熊猫的列滚动条,一打开就是正确的,而2.27需要拉到对应位置才能正确。 (可测试群文件/缓存暂存/MineSweeper Run 4.13.zip/MineSweeper Run 4.13.c)

8.Ctrl+Click的跳转不够灵敏

有时要多按几次才能跳转,有些时候就是会点半天,这个点击需要多少次也不稳定,我去vscode点的时候就灵敏得多,不过有时候也要两次。

这个问题并不稳定,可以搁置,但多人反馈且极其影响体验。

9.撤回后不进行语法检查

有些时候将正确代码修改为错误后撤回,光标移动到其他行后,仍显示错误。

不符合“不管任何修改,只有保存或者光标移动到其他行时才会重新进行语法检查”。

该问题经常发生,但不总是发生。

10.项目管理器增加一键添加文件夹功能

11.缩进提示线颜色显示

提供一个设置,使缩进提示线可选择显示为空白字符颜色,分级括号颜色,或自定义颜色(当前自定义颜色不生效)。

12.有些时候会用I形光标拖动滚动条,暂未发现准确出现时机。

13.调试时多层函数内出现越界访问,只弹窗CPU信息。

这个只弹CPU信息是可以优化一下,优化到弹CPU信息的同时,定位到最里层子函数,具体的越界访问位置,那是最好不过,不过目前这样也还行吧。

(可见群文件/缓存暂存/MineSweeper Run Dynamic Memory Test.c)

14.不妨把总字数右下显示也给加上,卡顿则去优化

15.字体列表筛选等宽字体后,字体名字的最大宽度可能会变小,目前字体下拉框宽度未适应该变化。

流云提出:

16.可考虑新增重命名正打开文件时,自动关闭旧文件并重新打开新名字文件这个功能。

17.有时候新建文件后看不到,要重新打开才能看到,时机未知。

喵了个咪提出:

18.项目文件管理器支持一键删除文件夹。

我心飞翔提出:

19.当子目录文件夹为空时,新建文件,可以成功,系统文件浏览器中可以看到,但是小熊猫的文件浏览器中没有显示,此时更改文件夹到对应的子文件夹中也无法看到之前新建的文件,但是此时新建文件就可以看到了。更改目录到父文件夹中可以看到之前新建的文件了。

20.小熊猫好像不能显示lua文件。

21.在写函数参数时,如果已经写了const则不会发生补全。

22.在写类成员函数定义的时候,能让成员的补全提示在打出作用域解析运算符的时候出来。

目前在打了函数的名称的第一个字母之后就能跳出补全提示了。

如果能同时把类成员函数声明里的形参列表也复制过来就更好了。

airwill提出:

23.“移动到其他视图”支持3个及以上的代码窗口,支持拖动(存在3个以上文件分为2窗口时支持将文件使用鼠标拖动到另一窗口)。

绣球135提出:

24.“视图”菜单增加“弹出首次启动页面”

25.函数内,当在第一列打if用模版时,替换框经常会错位

26.换行符(以墨落主题、Segoe UI Emoji为例)

(1)只有选中行和刚翻到的新页面可以显示 (2)从前到后拖,确保曾暂留在第二行,起点为单词的非尾部,在非单词位置点击结束选中,可发现第一行的换行符在上一行留下了头部 (3)从前到后较慢的拖动,会发现换行符头部为灰色,而其他部分均为正常的青色,快速拖动、从后到前拖动不存在此问题 (4)从后到前拖动使大片换行符显示,随后慢速从前到后拖动以取消选中,会发现所有换行符都被留下青色头部 (5)个人还是建议换回以前的向下箭头换行符吧,目前这符号既不好看事情又多

地平线提出:

27.有一个新出的语法识别器bug,在lambda表达式的if-else语句块(或其他带花括号的语句块,例如while循环,for循环等),其中定义的任何变量都不能被识别

小龙Dev提出:

28.新增两个菜单节为0的代码模板,代码补全前缀留空: (1)“C Main”:

include

int main() { %REPL_BEGIN%//TODO%REPL_END% return 0; } (2)“C++ Main”:

include

using namespace std;

int main() { %REPL_BEGIN%//TODO%REPL_END% return 0; }

29.代码补全新增选项:在每个函数定义之间保留一个空行 在每个函数定义之间填充一个空行,如果存在注释,该注释与下方的函数合并,在该注释上方填充一个空行。若已存在一个空行,则不填充。若存在多个空行,包括仅填充制表符和空格的行,只保留一个不含任何字符的空行。在函数声明之间不进行此操作。

默提出:

30.点击调试之后已设的断点会消失,该现象出现概率极低,暂不能复现

小熊猫长期建议

1.圆角选择边框

2.仅选择时用灰色的点表示空格,向右箭头表示制表符

(小熊猫已有这样的显示功能,不过是总是显示,可以增加“仅选择内容显示”开关)

3.选择阴影不包括无字符的右侧全部部分

4.滚动条旁预览

5.不依赖系统的标题栏颜色(目前不用qt.conf,小熊猫的标题栏颜色不能与Windows颜色设置统一)

6.配色方案区分预处理指令的关键字和后面内容(宏定义),对于之前的配色方案按两个相同作升级处理

7.滚动可选择按像素滚动和按行滚动,按像素滚动通过非线性动画保持顶部仍为整行

8.右下角提示文字调整

常驻的“已选择:”和“总长度:”,无选择时显示“已选择:0”

一个斜杠的含义是不直观的,使用原来状态即可

可考虑改为常驻的已选择,无选择时显示“已选择:0”。

将当前“字符”改为“列”,因为直接“字符”二字不能表达“列”的含义。

“选中”可考虑并入显示总字数,改为“字符: 已选择字符数/该文件总字符数”,无选择时左边为0,这才是严格的“字符”含义。

(“总长度”可能会影响性能,可用群文件/缓存暂存/MineSweeper Run 4.13.zip/MineSweeper Run 4.13.c进行测试,能流畅用那个感觉就够了)

9.字体列表整体重新设计字体列表的交互,去掉弹窗这个中间层,只是Qt控件上可能做不到

10.自带的编译器增加32位版本,以便编译32位程序

11.当字体调大时,文件属性内的修改日期给出更充足空间显示

12.注释代码计算入代码行数还是注释行数,可能需要再考虑一下

13.配色与主题设计 (1)使用修改过的配色方案,观察其他配色方案,名字全部加粗 (2)使用修改过的纯数字名称配色方案,重新进入选项时,观察不到名字加粗 可使用群文件/缓存暂存/Ltabsyy配色扩展包240414.zip/2077.scheme进行测试 (3)编辑器默认使用Alpha为0的背景色,与取消勾选背景色效果不同 使用Alpha为0的背景色时,编辑器使用主题文件中的Base色,然而取消勾选后,用的不知道是什么颜色(可能是固定的#000000),建议统一为Base色。 //下面请先无视 //(4)文件内的Assembler不在配色编辑器中,也未观察到使用,可能已被遗弃 //(5)配色方案文件压缩构想(若字体样式为默认值,如加粗、斜体、删除线、下划线为false,则在输出文件中省略) //(6)主题文件重排构想(目前浅色主题文件比其他少PaletteHighlightDisabled、PaletteHighlightedTextDisabled两项,且排序不同,尝试找到一种统一且排序的文件格式,使实际开发时相关元素均连续) //(7)当主题文件指定配色不存在时,显示启用了Adaptive,实际是之前配色的标识符全面使用版,打开新文件可看到RedPanda Error配色,可改为默认使用MoLo CWOut配色。 //(8)当配色方案文件尾部存在奇怪字符''时,配色不能正常导入(导入了只含一个大括号的空文件),显示启用了该配色,预览框为Adaptive配色,实际效果为无彩虹括号和标识符区分的之前配色,打开新文件可看到RedPanda Error配色,可优化使其能正常导入。 //(9)更自由的配色方案调节,如彩虹括号的背景色、字体样式,编辑器相关的不能调节部分(Kate存在当前行侧边栏背景色)(这些东西导出文件中都有,是有些离谱的)。

14.可考虑完善注释代码的粘贴缩进

15.中英文竖直方向像素级对齐,可打开下划线查看到齐平

16.建议在选项里做个开关而不是使用qt.conf控制freetype引擎(暂时看来不可能实现)

17.加入集成式的文本对比功能

18.支持Alpha通道,对程序UI部分实现高斯模糊的毛玻璃效果,编辑器部分简单透明,由配色方案控制

19.完善中文变量名和函数名的自动补全,打出每一个汉字的拼音首字母就可以补全到中文,加一个开关以启用该功能

20.光标移动的非线性动画,做一个开关以保证旧设备的性能

21.局部赋值与注释的纵向对齐,操作是选中对应位置,然后按某个快捷键或工具栏内功能,对该局部进行对齐

22.做小熊猫手机版,为触屏设计固定的虚拟键盘和全新界面

23.兼容Android,iOS,wine,小熊猫实现全平台的IDE统一!