docs: sync project browser docs

This commit is contained in:
2026-04-04 01:02:57 +08:00
parent 42e2e1b8f2
commit 2abe0bbbd4
30 changed files with 1725 additions and 116 deletions

View File

@@ -0,0 +1,40 @@
# ProjectManager::CreateFolder
```cpp
AssetItemPtr CreateFolder(const std::string& name);
```
## 当前行为
`CreateFolder(...)` 当前在“当前目录”下创建新文件夹,而不是在任意传入路径下创建。
它会:
1. trim 输入名称
2. 拒绝空名、`.``..` 和 Windows 非法文件名字符
3. 在当前目录下计算唯一目标名
4. 执行 `create_directory(...)`
5. 刷新目录树
6. 查回新建目录对应的 `AssetItem`
7. 自动把它设为当前选中项
## 唯一命名规则
若目标目录已存在,当前会追加数字后缀:
- `New Folder`
- `New Folder 1`
- `New Folder 2`
这与 `tests/editor/test_action_routing.cpp``ProjectCommandsCreateFolderUsesUniqueDefaultName` 一致。
## 返回值语义
- 创建并刷新成功时,返回新目录对应的 `AssetItemPtr`
- 参数非法、目录创建失败或刷新后无法重新解析该目录时,返回 `nullptr`
## 相关文档
- [ProjectManager](ProjectManager.md)
- [RefreshCurrentFolder](RefreshCurrentFolder.md)
- [ProjectCommands](../../Commands/ProjectCommands/ProjectCommands.md)