processing / processing/processing4
Error Dialog for Invalid Filenames is Incomplete
还没有人认领这个 Issue。
- 主要语言
- Java
- 星标
- 494
- 派生
- 183
- 平均合并
- 4 小时 39 分钟
- 30 天内合并 PR
- 3
描述
In GitLab by @chipbuster on Jul 24, 2023, 18:46
Description
When an invalid sketch name is detected, the resulting error dialog does not include all requirements for filenames. This can result in a filename which appears to follow all the rules being rejected.
Possibly related to #741, but skimming that issue, it looked like that was intended to be about compiler errors, while this is more related to IDE errors.
Expected Behavior
If the filename does not follow all the rules, the error dialog should specify what to change.
Current Behavior
The error dialog says:
<filename>is not a valid name for sketch code.
Better to stick to ASCII, no spaces, and make sure
it doesn't start with a number.
However, this does not address the following cases:
- When a non-alphanumeric ASCII character is included in the filename.
- When the stem of the filename is longer than 63 characters.
Steps to Reproduce
Create a file named hello-world.pde or a file whose name consists of the letter 'a' 64 times followed by .pde.
Your Environment
- Processing version: 4.2
- Operating System and OS version: Arch Linux
- Other information: I am (mostly) not manually creating filenames which violate these rules. Rather, it's happening because my learning management system (Canvas) likes to rename files on its own whim, and it tends to add these sorts of things.
Possible Causes / Solutions
One solution would be to explicitly name all the requirements for a filename, e.g. the message reads something like
<filename> is not a valid name for a sketch. Your files must:
1. Use only ASCII letters and numbers.
2. Start with a letter.
3. Be shorter than 63 characters.
but this is not complete either (e.g. right now you are allowed to have underscores in the name).
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从 app/src/processing/app/Sketch.java 中第 1870 行和第 1886 行附近的文件名检查开始,然后追踪无效名称对话框文本是在何处组装的。将该对话框与验证规则进行比较,包括非字母数字字符、名称主体的最大长度以及允许使用的下划线。完成的标准是:对话框解释了所有可能导致文件名被拒绝的规则。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java
- 领域
- desktop
- Issue 类型
- 缺陷
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 42/100