跳转到内容
首页
Docs/文件浏览器

文件浏览器

文件 是主分页器的第 3 页:你当前打开的项目的目录树。在这里你可以创建、重命名、剪切、复制、创建副本和删除文件与文件夹,按名称或文本搜索,给目录树排序,查看 Git 认为哪些文件已更改,并在编辑器中打开任意文件。本页还介绍全屏编辑器内的第二个资源管理器、Quick Open、书签,以及文件如何进出应用。本页的所有功能都不需要 Pro。

PocketCode Files page on a tablet: the File Explorer header with the TaskCLI project and the counter 3 folders, 4 files, the + and ⋮ buttons, the data and src folders with their own icons, and main.js, package.json, README.md and TASKS.md
平板上的「文件」页面:TaskCLI 项目,包含 data 和 src 文件夹、四个文件,页眉中的 + 和 ⋮ 按钮,以及标题下方的计数。

「文件」是什么,以及如何打开

「文件」是主分页器 5 个页面(Home、Projects、Files、IDE 和 AI Chat)中的第 3 页。它一次只显示一个项目,即你最近打开的那个。页眉显示 文件浏览器,旁边是项目名称和类似 TaskCLI · 3 个文件夹 · 4 个文件 的计数。在平板上它是同一个页面,只是更宽。

  1. 1打开项目:在 项目 页面点按它,或在 主页 点按一个项目(例如在 继续 中)。项目随即打开,你会进入「文件」页面。
  2. 2左右滑动 切换页面。导航栏中的圆点(屏幕横置时是侧边栏)显示你所在的位置;它们不是按钮。
  3. 3从 IDE 页面:点按其欢迎界面上的 开始编程,该界面在没有任何标签页打开时显示。
  4. 4使用实体键盘:按 Ctrl+Shift+P(在编辑器之外按 Ctrl+P),然后选择 文件资源管理器。
  5. 5通过链接:pocketcode://app/files 会打开该页面。

没有打开任何项目时,页面背后没有实际内容:页眉显示 Project,目录树区域显示 空项目 和一个 新建文件 按钮。请先从 项目 打开一个项目。冷启动后,在应用恢复你之前打开的项目时,页面会短暂保持空白。

「文件」用于浏览和管理文件,而不是编辑。在这里点按文件会在 IDE 页面中打开它,该页面显示只读预览和你已打开的标签页;在那里点按 在编辑器中打开 进入全屏编辑器。编辑器也有自己的资源管理器:见下文「编辑器的资源管理器」。 项目

界面地图

一个页面、少量面板和对话框,以及位于编辑器中的四项功能。

界面如何到达你可以在那里做什么
文件(目录树)分页器的第 3 页,或在 项目 或 主页 中点按一个项目。展开和收起文件夹,点按文件打开它,查看 Git 标记,打开任意一行的菜单。
页眉:+ 和 ⋮页面顶部。+ 在项目根目录创建文件或文件夹。⋮ 中有 搜索、定位当前文件、粘贴到文件夹…、折叠、排序、刷新、显示隐藏文件 和部署入口。
按名称搜索栏⋮ → 搜索。在你已展开的文件夹中按名称查找文件或文件夹。
新建 面板+,或文件夹菜单中的 在此文件夹中创建。选择目标文件夹,创建文件或文件夹,或点按一个快速模板。
行菜单一行上的 ⋮ 按钮。打开、在此文件夹中创建、重命名、剪切、复制、粘贴到此处、复制路径、创建副本、删除 和 在文件夹中查找。
重命名 和 删除 对话框从行菜单进入。原地重命名;在删除文件或文件夹之前确认(设置中的 删除前确认,默认开启)。
文件夹选择器⋮ → 粘贴到文件夹… 或 移动到文件夹…,仅在剪贴板中有内容时出现。选择要粘贴或移入的文件夹。
选择栏长按一行。选中多行,然后 剪切、复制 或 删除所选(删除前确认 开启时会先询问)。
在文件夹中查找 面板文件夹的行菜单 → 在文件夹中查找。在该文件夹的文件内搜索文本。
空状态没有文件的项目,或没有匹配项的搜索。空项目 和 新建文件;无结果。
IDE 页面在「文件」中点按一个文件。只读预览和你已打开的标签页;在编辑器中打开 进入全屏编辑器。它有自己的文档页面。
编辑器的资源管理器在编辑器中:标签栏的 ▾ 箭头、资源管理器 命令或 Ctrl+Shift+E。在抽屉或停靠面板中显示已打开的标签页和项目目录树。
Quick Open在编辑器中:Ctrl+P、打开文件… 或符号栏的命令键。输入路径的一部分,跳转到项目中的任意文件。
书签在编辑器中:切换书签。标记已打开文件的某些行,并在它们之间跳转。
从设备打开文件…在编辑器中:转到 部分的一个命令。通过 Android 选择器打开项目之外的文本文件。

目录树

目录树按文件夹逐个读取项目,只在你展开某个文件夹时才读取。无论排序方式如何,每个文件夹中都是文件夹排在文件之前。若一串文件夹各自只包含一个文件夹,例如 src/main/java,则显示为一行。你当前打开的文件会高亮显示,其名称使用强调色。

行、图标和计数

每一行都有:文件夹的箭头、图标、名称、有 Git 状态时的 Git 字母,以及一个 ⋮ 按钮。

你可以

  • 点按文件夹 展开或收起它。点按文件 在 IDE 页面中打开它。
  • 打开行菜单:使用该行上的 ⋮ 按钮。
  • 看懂图标:文件如果有对应的语言或工具图标就使用它,否则显示普通文档图标;文件夹显示由其名称决定的双层图标(src、test、docs、components…… 超过 900 个名称有对应图标)。
  • 看懂计数:N 个文件夹 · M 个文件 统计页面到目前为止读取到的所有内容,包括目录树隐藏的条目,并且只统计你展开过的文件夹。它可能与你看到的行数不同。
  • 全部折叠:⋮ → 折叠;项目根目录保持展开。
  • 找到已打开的文件:⋮ → 定位当前文件,它会展开所在的文件夹并滚动到该文件。仅在有文件打开时才显示此项。
  • 显示隐藏文件,例如 .gitignore 或 .env:⋮ → 显示隐藏文件。它们默认是隐藏的。
  • 保持你的位置:只要你停留在同一个项目,你展开的文件夹就保持展开。切换项目会重置它们。

你不能

  • 看到 node_modules、.git、.gradle、build、.idea、__pycache__、.DS_Store、.cache 或 .pocketcode。这九个名称由固定列表隐藏,即使开启 显示隐藏文件 也一样,你自己建的名为 build 的文件夹同样会被隐藏。有意为之

Git 标记

如果项目是 Git 仓库,每个已更改的文件都会显示一个字母,其名称采用对应状态的颜色。文件夹采用其内部内容的状态,优先级为:冲突,然后是已修改,然后是已删除,然后是已添加或未跟踪。当文件已暂存、之后又被再次编辑时,标记显示它在工作区中的状态。不是 Git 仓库的项目不显示标记。

标记含义
M已修改
A已添加
D已删除
U未跟踪
!冲突

你可以

  • 查看改动了什么,无需打开 Source Control。
  • 沿目录树向上追踪改动:文件夹带有其内容中最强的状态。
  • 放心它们是最新的:页面会在打开项目时、在本页每次操作之后、在编辑器中每次保存之后、在 AI 智能体更改文件时,以及点按 刷新 时重新读取 Git。

你不能

  • 在本页暂存、提交或对比:它只显示状态。请从 项目 中的项目卡片,或编辑器中的 Source Control 提交。有意为之
  • 看到 R(重命名)或 I(忽略)标记。应用定义了这两个字母,但从不分配它们,所以它们永远不会出现。尚未提供

排序

⋮ → 排序 会打开四种顺序。当前顺序以粗体显示并带有对勾。这个选择不会被保存,因此页面下次构建时会回到 名称 A→Z。

顺序作用
名称 A→Z按字母顺序,忽略大小写。默认。
名称 Z→A按字母倒序。
文件类型先按扩展名分组,再按名称排序。
大小出现在菜单中,但实际按名称排序,与 名称 A→Z 完全一样。

你不能

  • 按文件大小排序:大小 在菜单里,但实际按名称排序,因为目录树不知道文件的大小。尚未提供

⋮ → 搜索 会在页眉下方打开一个搜索栏(搜索文件和文件夹…)。输入时,目录树会被一个扁平的匹配列表取代,每个匹配项的右侧显示其父文件夹。⋮ → 关闭搜索,或输入框中的 ✕,可以恢复目录树。

你可以

  • 按顺序输入字母,不必相邻:mact 能找到 MainActivity。最佳匹配排在最前:先是完全相同的名称,然后是以你输入的文本开头的名称,然后是单词开头的匹配。
  • 输错字母也没关系:如果没有任何字面匹配,搜索会再试一次,最多容忍两处错误(错误、互换或多余的字母)。容错匹配的排名永远不会高于字面匹配。
  • 最多获得 200 条结果。 搜索忽略大小写,比较的是名称,而不是路径。

你不能

  • 搜索你从未展开过的文件夹:搜索只覆盖页面已经读取的内容。有意为之
  • 搜索隐藏或被排除的条目:它遵循与目录树相同的规则,包括 显示隐藏文件 和那九个固定名称。有意为之
  • 匹配重音符号:arbol 找不到 árbol。有意为之

在文件内搜索文本

文件夹 的行菜单中有 在文件夹中查找。它会打开一个标题为 在 /src 中搜索 的面板(显示该文件夹自己的名称)。在 在文件中搜索文本… 中至少输入 2 个字符。每条结果显示文件名、第 N 行 以及截断到 120 个字符的该行内容。点按一条结果会打开该文件。

你可以

  • 按字面搜索,忽略大小写。它不是正则表达式。
  • 深入任意文件夹:与目录树不同,这个搜索没有排除列表,因此它也会读取 node_modules、.git 和 build。

你不能

  • 在本页搜索整个项目:该面板只能从文件夹的菜单打开。要搜索整个项目,请使用编辑器中的 在文件中搜索。尚未提供
  • 直接跳到匹配的行:文件会打开,但编辑器不会被带到那一行。尚未提供
  • 搜索 2,000,000 字节或更大的文件(它们会被跳过),或看到超过 200 条结果(搜索到此为止)。有意为之
  • 排除二进制文件:搜索会读取所有未超过大小限制的文件,不会检查它是否是文本。有意为之

目录树何时更新

在你于本页执行操作之后、在 AI 智能体在此项目中执行操作之后,以及(仅对 Git 标记而言)在编辑器中每次保存之后,目录树会自动更新。

你可以

  • 手动刷新:⋮ → 刷新 会重新读取你展开的每个文件夹以及 Git 标记。不会折叠任何内容。
  • 依赖 AI 智能体:当它在已打开的项目中创建、更改、重命名或删除文件时,受影响的文件夹会被重新读取。

你不能

  • 不刷新就看到由 Terminal 或其他应用创建的文件:没有任何东西监视文件夹,所以请使用 刷新。有意为之

创建、重命名、移动和删除

创建、重命名和删除会拒绝任何最终落在项目之外的路径(例如 ../../x,或指向文件夹之外的链接),并提示 路径无效 或 名称无效。编辑器的资源管理器运行相同的文件代码,所以两者在磁盘上的行为一致。每个操作结束时都会出现一条简短横幅,在所有语言中都带有 EXPLORADOR 标签。对于重命名、删除和粘贴,成功横幅在你确认后立即显示;如果操作随后失败,会再出现一条错误横幅。

创建文件或文件夹

一切都从 新建 面板开始。

  1. 1点按页眉中的 +(创建文件或文件夹)。要在某个文件夹内创建,请打开它的行菜单并点按 在此文件夹中创建。在空项目中,页面还提供 新建文件。
  2. 2在面板中,位于: 显示目标位置(/ (根目录) 或类似 /src 的文件夹)。点按它可在页面已读取的文件夹中选择另一个。
  3. 3点按 文件 或 文件夹,输入 名称(输入框提示 file.kt 或 folder),然后点按 创建。名称为空时,按钮保持不可用。
  4. 4或者跳过第 3 步,点按其中一个 快速模板:它会立即在 位于: 所示的文件夹中创建该文件。
快速模板创建的文件
KotlinNewFile.kt
JavaNewFile.java
XMLlayout.xml
JSONdata.json
HTMLindex.html
CSSstyles.css
JavaScriptscript.js
MarkdownREADME.md
文本notes.txt

你可以

  • 一次创建多层目录:像 src/util/a.kt 这样的名称还会创建缺失的文件夹。
  • 创建已存在的文件夹 不会报错:它视为已完成。
  • 看到它出现:新条目会显示在目录树中,并且其所在文件夹会展开。

你不能

  • 从已有内容开始:快速模板只决定名称。文件创建后是空的,如果名称已被占用,你会看到 文件已存在,且不会有任何改动。尚未提供

行菜单

使用一行上的 ⋮ 按钮打开它。长按则是另一个功能:开始选择(见下文)。

条目作用
打开仅限文件。与点按该文件相同。
在此文件夹中创建仅限文件夹。以此文件夹为目标位置打开 新建。
重命名打开带有当前名称的 重命名 对话框。名称为空或未更改时,重命名 按钮保持不可用。如果名称已被占用,你会看到 已存在同名文件;超出项目的名称会提示 名称无效。重命名文件夹时,它已展开的子文件夹保持展开。
剪切 和 复制把该条目放入页面自己的剪贴板(见下一部分)。
粘贴到此处仅限文件夹,且仅在剪贴板中有内容时出现。
复制路径把绝对路径复制到系统剪贴板。它同时会把该条目作为已复制放入页面的剪贴板,所以 粘贴到此处 可能会出现。
创建副本在原件旁边创建 name_copy1.ext,然后是 _copy2,依此类推。对文件和文件夹都有效。
删除删除前确认 开启时(默认)会先询问:弹出 删除 对话框,内容为 确定要删除文件 "x" 吗?,按钮为 删除 和 取消。对于文件夹,消息还会补充说明所有内容都将被删除。该设置关闭时会直接删除,并显示 已删除 "x"。删除是递归且不可恢复的。
在文件夹中查找仅限文件夹。见「在文件内搜索文本」。

你可以

  • 选择是否询问:删除前确认(Settings → 行为,默认开启)同时作用于此菜单中的 删除 和 删除所选。编辑器的资源管理器有自己的对话框,并且始终会询问。

你不能

  • 撤销删除:没有回收站,该条目会从设备中移除。有意为之

剪切、复制、粘贴和移动

页面有自己的剪贴板,可以同时容纳多个条目。被剪切的条目在你粘贴之前以 45% 的不透明度显示。

  1. 1选择条目:行菜单中的 剪切 或 复制,选择多个条目时使用选择栏中的这两个按钮。
  2. 2粘贴到文件夹:使用它菜单中的 粘贴到此处,或 ⋮ → 粘贴到文件夹…(复制之后)或 移动到文件夹…(剪切之后)。这会打开页面已读取的文件夹选择器,/ (根目录) 排在最前。

你可以

  • 把副本粘贴任意多次:复制之后剪贴板仍保留内容。目标位置中已存在的名称会变成 name (1).ext、name (2).ext……
  • 通过剪切来移动:在至少移动了一个条目的粘贴之后,剪贴板会清空。
  • 一次粘贴多个条目;如果有些没有成功,横幅会显示 完成 N 个,失败 M 个。

你不能

  • 拖放文件来移动它:移动就是剪切加粘贴(或 移动到文件夹…)。代码中有移动函数,但没有任何界面调用它。尚未提供
  • 移动到已被占用的名称上:该条目不会被移动,并计为失败。与复制不同,不会自动为你重命名。有意为之

选择多个条目

长按一行(使用鼠标时为右键点击)会开始选择。

  1. 1长按一行。如果在 Settings 中开启了 振动,你会感觉到震动。该行被选中,每一行都会出现复选框,页眉变成显示 已选择 N 个 的栏。
  2. 2点按各行以选中或取消选中。全选 会标记当前可见的每一行。
  3. 3使用 剪切、复制 或 删除所选,或 取消选择。剪切和复制会把条目放入剪贴板并结束选择。

你可以

  • 先询问再删除所选:删除前确认 开启时,删除所选 会打开 删除 N 个项目?(所选文件和文件夹将被永久删除,没有回收站,也无法撤销。),按钮为 删除 和 取消。点按 取消 则一切保持原样。该设置关闭时,这些条目会被直接删除。
  • 查看结果:确认后,横幅 已删除 N 个项目 会在结果未知之前立即显示;如果有失败,随后会出现 已删除 N 个,失败 M 个。

你不能

  • 撤销从选择栏发起的删除:没有回收站;删除前确认 关闭时,连询问也不会有。有意为之
  • 选中不在屏幕上的内容:全选 只标记当前可见的行,因此未展开文件夹中的内容不包括在内。有意为之

打开、打开方式、分享和导入

「文件」负责浏览,编辑器负责编辑。下面说明文件如何在项目、编辑器和 Android 的其他部分之间流转。

在编辑器中打开文件

打开分两步,这是有意为之。

  1. 1在「文件」中点按一个文件(或行菜单中的 打开)。你会进入 IDE 页面:该文件成为一个标签页,并显示只读预览。
  2. 2在 IDE 页面点按预览或 在编辑器中打开,进入全屏编辑器。
  3. 3在编辑器自己的资源管理器中,点按会打开一个 预览标签页(名称为斜体),你打开的下一个文件会复用它。双击,或菜单中的 打开,会保留它。

你不能

  • 从「文件」直接把文件打开到全屏编辑器:点按始终会先经过 IDE 页面。有意为之

打开方式

两个方向都由编辑器处理;两个资源管理器都没有 打开方式… 条目。

你可以

  • 进入 PocketCode:从文件管理器、邮件应用或聊天应用中,用 PocketCode 打开或编辑文本文件。它在编辑器中打开,成为带有 设备上 标记的标签页,除此之外什么也不会发生:不保存、不运行、不更换项目。如果发送方应用没有授予写入权限,标签页显示 设备上 · 只读,你可以用 另存为… 保留你的更改。
  • 离开 PocketCode:在编辑器中,过大而无法打开的文件(80 MiB 或更大)或二进制文件会显示一张带有 用其他应用打开 的卡片,它会把文件交给你选择的应用。

你不能

  • 在「文件」或编辑器资源管理器的行菜单中使用 打开方式…:只有上面两张卡片提供它。有意为之

分享

两个资源管理器都没有针对文件或文件夹的 分享 条目。取而代之的是,有两种方式能把副本带出应用。

你可以

  • 另存为…(编辑器,任意标签页)通过系统的保存选择器把副本保存为设备上的新文件,之后你继续编辑这个副本。
  • 项目卡片(Projects)上的 导出 通过同一个选择器把整个项目保存为 ZIP,选择器中也会列出 Drive 和其他提供方。应用使用选择器而不是分享面板,这样备份会落在你选择的位置。

你不能

  • 从「文件」分享单个文件、文件夹或选中的多个条目。有意为之

通过 Android 选择器带入文件

编辑器可以打开不属于任何项目的文件。

  1. 1在编辑器中运行 从设备打开文件…(更多选项 → 转到,或命令面板)。
  2. 2在系统选择器中选择文件。它会作为带有 设备上 标记的标签页打开。PocketCode 只获得对这一个文件的访问权,因此不会请求存储权限。
  3. 3编辑它。当持有该文件的应用允许时,保存会写回原文件;否则请使用 另存为…。

你不能

  • 从「文件」把设备上的文件复制到项目中:从设备打开文件… 是在原位置编辑原文件。要把内容带入项目,请使用 Projects 中的 导入 或 打开文件夹,它们会复制内容。有意为之
  • 打开二进制文件、非 UTF-8 的文本,或超过 20 MB 的文件。你会看到 这似乎是二进制文件;为避免损坏,未打开。、该文件不是 UTF-8 文本;为避免损坏,未打开。 或 文件过大,无法打开(上限 20 MB)。有意为之

Quick Open 和书签

两者都位于编辑器中,而不在「文件」页面,并且作用于当前打开的项目。

Quick Open

Quick Open 是编辑器的转到文件功能:位于代码上方顶部的一个面板,带有搜索框。

  1. 1打开方式:在实体键盘上按 Ctrl+P,使用 打开文件…(更多选项 → 转到),或使用符号栏最左端的命令键(打开命令和文件),它会以 All 模式打开面板:文件、命令和符号一并显示。
  2. 2输入路径的一部分。字母必须按顺序出现,因此 cevm 能找到 CodeEditorViewModel.kt。匹配在文件名中的权重高于匹配在其所在文件夹中,匹配的字母会高亮显示。
  3. 3点按一条结果即可打开。未输入任何内容时,你会先看到最近的文件(最多 10 个),然后是项目的其余部分,最多 50 条结果。

你可以

  • 用前缀切换搜索对象:> 搜索命令,: 后接数字跳转到某一行,@ 搜索已打开文件的符号。
  • 到达任意文件:索引覆盖整个项目,没有深度限制,最多 50,000 个文件。它会排除名称以点开头的文件夹、构建和依赖文件夹(node_modules、build、dist、target、venv……)以及项目的 .gitignore 所列出的内容。.gitignore 这类隐藏 文件 则包含在内。

你不能

  • 靠拼写错误找到文件:Quick Open 要求字母按顺序出现,没有容错,这一点与「文件」中的按名称搜索不同。有意为之
  • 看到超过 50 条结果,或索引超过 50,000 个文件。有意为之

书签

书签标记已打开文件的一行,方便你之后回到那里。它们是命令面板和 更多选项 的 转到 部分中的命令。

命令作用
切换书签(Ctrl+Alt+K)在当前行添加或移除书签。
下一个书签(Ctrl+Alt+L)转到下一个书签并循环。仅在文件有书签时显示。
上一个书签(Ctrl+Alt+J)转到上一个书签。仅在文件有书签时显示。
清除所有书签移除文件中的所有书签。仅在文件有书签时显示。

你不能

  • 在会话之间保留书签:它们属于已打开的标签页,不属于应用保存的会话,因此关闭标签页就会清除它们。有意为之
  • 在代码中看到书签:行上不会绘制任何标记,所以使用书签的唯一方式就是这些命令。尚未提供

编辑器的资源管理器

全屏编辑器内有第二个 VS Code 风格的资源管理器,让你不离开代码就能处理项目。它与「文件」页面共用文件操作(相同的检查、相同的规则),但它是不同的界面,功能也不同。

PocketCode full-screen editor on a tablet in landscape with the editor's explorer docked on the left: the OPEN · 4 section with main.js, commands.js, package.json and hello.py, then the TASKCLI project tree with its search, new file, new folder and collapse buttons, and hello.py open in the code area
编辑器自带的资源管理器,在平板上停靠在全屏编辑器左侧:「已打开」部分有四个标签页,下面是 TASKCLI 目录树,带有筛选、新建文件、新建文件夹和折叠按钮。这不是「文件」页面。
「文件」页面编辑器的资源管理器
位置分页器的第 3 页。在编辑器内:宽度小于 840 dp 时是抽屉,从 840 dp 起是停靠面板。
点按文件在 IDE 页面中打开它。打开一个预览标签页;双击会保留它。
行菜单该行上的 ⋮ 按钮。长按该行。
创建+、在此文件夹中创建 和快速模板。新建文件 和 新建文件夹;带有 / 的名称还会创建文件夹。
剪切、复制、粘贴、创建副本、选择多个有。没有。
排序四种顺序。固定:文件夹在前,然后按名称。
隐藏文件默认隐藏;九个名称始终隐藏。始终显示;只隐藏 .git 和 .pocketcode。被忽略的条目会变暗。
按名称搜索字母按顺序,带容错,范围是你展开过的文件夹。筛选:名称包含你输入的文本,范围是整个项目。
搜索文本在文件夹中查找。编辑器中的 在文件中搜索。
Git文件上的字母 M、A、D、U 和 !。字母 M、A、U、D 和 R,有更改的文件夹上有一个圆点,以及带分支信息的页脚。
已打开的标签页—已打开 部分。
部署⋮ 中的 部署此项目。—

打开并调整大小

打开方式:标签栏右端的 ▾ 箭头(至少需要一个已打开的标签页)、资源管理器 命令(Ctrl+Shift+E,也在 更多选项 中),或在达到 20 个标签页上限时使用 查看标签。首次使用时会有提示:点击此处打开文件浏览器。

你可以

  • 窄窗口(宽度小于 840 dp,例如竖持的手机或小型平板):一个宽 320 dp、最多占屏幕 85% 的抽屉,盖在变暗的编辑器之上。它没有边缘滑动打开的方式,因为那个边缘是系统的返回手势。它可通过返回、点按变暗的编辑器、向左滑动关闭,并且在小于 600 dp 时,打开文件也会关闭它。
  • 宽窗口(840 dp 或更大,例如横置的平板或横持的大屏手机):停靠在左侧的面板,默认显示,在你更改之前宽 280 dp。拖动它的右边缘可在 200 dp 到窗口 45% 之间调整大小;宽度会被记住。双击边缘可恢复默认值。使用 TalkBack 时,加宽 和 收窄 无需拖动即可完成。禅模式(Zen mode)会隐藏它。

你不能

  • 调整较窄屏幕上抽屉的大小:它自己的边缘已经表示关闭,且最多只占宽度的 85%。有意为之

它有什么

从上到下:一个 资源管理器 栏(仅抽屉)、已打开 部分、项目部分,以及(在抽屉中)一个页脚。

你可以

  • 已打开部分:显示标签页,如 已打开 · 4。点按其中一个切换到它,✕ 关闭它。圆点标记未保存的更改,斜体名称标记预览标签页。
  • 项目部分:标题是项目名称,带有 新建文件、新建文件夹 和 全部折叠 按钮,面板停靠时还有筛选按钮。在抽屉中,筛选按钮和 ⋮(刷新、显示当前文件、全部折叠)位于顶部的 资源管理器 栏中。
  • 行菜单(长按):打开、新建文件、新建文件夹、重命名、删除、复制路径 和 复制相对路径。
  • 新建文件、新建文件夹和重命名 会在你输入时检查名称,并提示 该名称无效。重命名 会选中不含扩展名的名称部分。你创建的文件会立即作为普通标签页打开。
  • 删除 会询问 删除 x?,并说明该文件会从设备中删除,其本地历史记录会保留。如果已打开的标签页有未保存的更改,它会警告这些标签页将在不保存的情况下被关闭。
  • 筛选 整个项目的名称:它保留名称包含你输入文本的文件,并把它们显示在各自的文件夹中。
  • Git:已更改的文件上有字母 M、A、U、D 或 R,包含更改的文件夹上有一个圆点,并且在抽屉中有一个页脚,显示分支、待推送的提交 ↑、待拉取的提交 ↓ 以及更改数量。被 .gitignore 忽略的条目或构建和依赖文件夹中的条目会变暗,但仍会列出。

你不能

  • 剪切、复制、粘贴、创建副本、选择多个、选择排序顺序或关闭点文件:这些属于「文件」页面。有意为之
  • 看到 .git 或 .pocketcode:它们从不会被列出。有意为之
  • 把冲突或被忽略的标记显示为字母:资源管理器只有五个字母,被忽略的条目改为变暗显示。有意为之

存储和权限

「文件」页面处理 PocketCode 保存在应用内部的项目。

你的项目存放在哪里

每个项目都是 PocketCode 私有存储中的一个文件夹。

你可以

  • 备份项目:使用其卡片上的 导出(用系统选择器保存的 ZIP),或用 Git 推送它。
  • 在这里找到示例项目 WebPortfolio 和 TaskCLI:应用在首次启动时把它们放在同一个位置。

你不能

  • 从其他应用或文件管理器查看或编辑你的项目:私有存储对其他应用是关闭的。卸载 PocketCode 时,项目会一并被删除。设备
  • 把项目保存在共享文件夹中:Projects 中的 打开文件夹 会把你选择的文件夹复制到应用的存储中,之后的编辑不会回写到原文件夹。设备

权限

「文件」页面不请求任何存储权限。所有涉及应用之外文件的操作都通过 Android 自己的选择器:导入(一个 ZIP)、打开文件夹、导出(保存选择器)和 从设备打开文件… 各自只让 PocketCode 访问那一个条目。清单中唯一的存储权限是针对 Android 9 及更早版本的旧权限,「文件」从不使用它。

Free 与 Pro

本页中的任何内容都不需要订阅方案。

内容FreePro
「文件」页面:目录树、创建、重命名、剪切、复制、粘贴、创建副本、删除、搜索、排序和 Git 标记包含包含
编辑器的资源管理器、Quick Open、书签和 从设备打开文件…包含包含
可浏览的你自己的项目(在 Projects 页面检查)1 个;2 个示例项目不计入无上限
资源管理器和 Quick Open 都不会检查你的方案。部署此项目 会打开部署面板,面板对活动部署有自己的限制;见 Backend Manager。完整对比请阅读 套餐与价格。

隐私

本页读取、写入和发送的内容。

  • 在你的设备上:「文件」读取和写入 PocketCode 私有存储中的项目文件夹。本页不发出任何网络请求,Git 标记来自设备上的仓库。
  • 复制路径 会把该条目的绝对路径(以应用的私有文件夹开头)放入系统剪贴板。
  • AI 智能体:当你使用带工具的 AI Chat 时,智能体可以在你打开的项目中创建、更改、重命名和删除文件,「文件」会显示结果。它向提供方发送的内容见 AI Chat 的说明。
  • 删除 会把条目从设备中移除,没有回收站。「文件」页面在 删除前确认 开启时会先询问。在编辑器的资源管理器中,对话框会说明已删除文件的本地历史记录会保留在设备上。
  • 来自外部的文件(从设备打开文件…,或从其他应用用 PocketCode 打开):应用通过 Android 获得对那一个文件的访问权,不会请求存储权限。
  • Quick Open 读取文件名来构建索引,而不是文件内容。编辑器的文本搜索在设备上读取内容。

限制

文件资源管理器做不到什么,以及原因。原因:Pro = 订阅方案,设备 = Android,设计如此 = 应用的决定,尚未实现 = 代码中有但没有任何界面能到达。

  • 在「文件」中看到 node_modules、.git、.gradle、build、.idea、__pycache__、.DS_Store、.cache 或 .pocketcode,即使开启 显示隐藏文件 也不行。有意为之
  • 在「文件」中按大小排序:大小 实际按名称排序。尚未提供
  • 从快速模板获得内容:它只选择文件名并创建一个空文件。尚未提供
  • 拖动文件来移动它:请使用剪切和粘贴或 移动到文件夹…。尚未提供
  • 从「文件」搜索整个项目,或从 在文件夹中查找 跳到匹配的行。尚未提供
  • 看到 R 和 I 这两种 Git 标记:它们已定义,但从不产生。尚未提供
  • 用「文件」的按名称搜索来搜索未展开的文件夹,或匹配重音符号。有意为之
  • 撤销删除:没有回收站,该条目会从设备中消失。有意为之
  • 不使用 刷新 就看到由 Terminal 或其他应用做出的更改:没有任何东西监视文件夹。有意为之
  • 从资源管理器分享文件或用其他应用打开它,或从「文件」把设备上的文件添加到项目中。有意为之
  • 用 从设备打开文件… 打开二进制文件、非 UTF-8 文本或超过 20 MB 的文件。有意为之
  • 从其他应用或文件管理器使用你的项目:它们存放在私有存储中。设备
  • 在会话之间保留书签,或在行上看到它们的标记。有意为之
  • 在没有打开项目时使用「文件」:页面显示 空项目,新建文件 仍然可用,但文件会落在一个内部的 default 文件夹中,之后 Projects 会把它列为一个项目。尚未提供

故障排查

路径无效

你输入的内容会让该条目落在项目之外(例如 ../../x,或经由指向项目之外的链接的路径)。请输入普通名称,或类似 src/util/a.kt 的相对路径。

文件已存在

目标文件夹中已经有同名文件,且没有任何改动。请换一个名称,或打开现有文件。快速模板也会遇到这种情况,因为它总是使用同一个默认名称。

创建文件出错:…、无法创建文件夹 或 创建文件夹出错:…

Android 拒绝了该操作;冒号后面的文字是它给出的原因。请尝试另一个名称或文件夹,然后点按 ⋮ → 刷新。

重命名时出现 名称无效

新名称会让条目落在项目之外(例如对项目根目录中的文件使用 ../x)。请使用不含斜杠或 .. 的普通名称。

已存在同名文件

仅限重命名:该文件夹中已有同名条目。请选择另一个名称。

无法重命名、重命名出错:…、无法删除 或 删除出错:…

文件系统拒绝了操作。点按 ⋮ → 刷新 后再试;该条目可能已在页面之外被更改或移除。

粘贴后出现 完成 2 个,失败 1 个

有些条目没有粘贴成功。常见原因是被剪切的条目的名称已存在于目标位置:不会自动为你重命名,所以请重命名它,或粘贴到别处。复制从不因此失败,它会添加 (1)、(2)……

目标无效

你选择用于粘贴的文件夹已不存在。点按 刷新 后重新选择。

删除时 没有询问

Settings → 行为 中的 删除前确认 已关闭。重新开启后,「文件」会在 删除 和 删除所选 之前再次询问。已经删除的条目无法找回:没有回收站。

已删除 3 个,失败 1 个

删除所选 移除了 3 个条目,有 1 个无法移除。点按 刷新 查看剩下什么。

按名称搜索时出现 无结果

搜索只覆盖你展开过的文件夹,并遵循隐藏文件规则。请展开你预期所在的文件夹,或开启 显示隐藏文件,然后再次搜索。node_modules 和 build 这类名称永远不会出现。

在文件夹中查找时出现 没有与 "text" 匹配的结果

请至少输入 2 个字符。搜索是按字面进行的,忽略大小写,并会跳过 2,000,000 字节或更大的文件。

有文件的项目显示 空项目

「文件」显示的是你最近打开的项目。请从 项目 重新打开正确的项目,或点按 ⋮ → 刷新。如果你从未打开过项目,页面背后没有实际内容:请先打开一个。

我在 Terminal 中创建的文件不在目录树中

没有任何东西监视文件夹。点按 ⋮ → 刷新。

计数显示 3 个文件夹,但我只看到 2 个

计数把页面读取到的所有内容加在一起,包括目录树隐藏的文件夹。

显示隐藏文件 不显示 .git

即使这时,九个名称仍被有意隐藏:node_modules、.git、.gradle、build、.idea、__pycache__、.DS_Store、.cache 和 .pocketcode。

编辑器的资源管理器中出现 该名称无效

名称中含有反斜杠、: ? < > | 之一、星号或双引号,含有空的部分(a//b),或含有 . 或 .. 部分。请重命名或重新输入。该路径不在项目内、已存在同名的文件或文件夹 和 无法完成此操作 是这个资源管理器的其他消息。

没有打开的项目。打开一个项目即可在此查看其文件。

编辑器的资源管理器没有可显示的项目。请从 项目 打开一个。

没有文件名包含“x”

编辑器资源管理器的筛选只匹配文件名,不匹配文件夹名称或内容。要搜索内容,请使用 在文件中搜索。

此设备上没有可用的文件选择器。

从设备打开文件… 需要系统文件选择器,而这台设备没有。