processing / processing/processing4

Error Dialog for Invalid Filenames is Incomplete

未关闭
#754 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 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:

  1. When a non-alphanumeric ASCII character is included in the filename.
  2. 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).

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 app/src/processing/app/Sketch.java 中第 1870 行和第 1886 行附近的文件名检查开始,然后追踪无效名称对话框文本是在何处组装的。将该对话框与验证规则进行比较,包括非字母数字字符、名称主体的最大长度以及允许使用的下划线。完成的标准是:对话框解释了所有可能导致文件名被拒绝的规则。

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
desktop
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
停滞
描述清晰度
基本清楚
新手友好度
42/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。