GitHub 具有一个名为 Codespaces 的功能,可用于参与 PowerShell 文档,而无需在本地安装或配置任何软件。 使用代码空间时,你将获得团队用于编写和编辑的相同创作工具。
可以在浏览器中使用代码空间,在通过 Internet 托管的 VS Code 中做出贡献。 如果已在本地安装 VS Code,也可以连接到代码空间。
可用工具
在利用代码空间为 PowerShell 文档做贡献时,编辑器已经为您准备好了这些工具:
- Markdownlint 用于检查 Markdown 语法。
- cSpell 用于检查拼写。
- 使用Vale检查你的散文。
- 用于插入平台特定语法、预览您的作品等功能的 Learn 作者包 。
- 用于根据需要将 Markdown 文档进行折行的 重排 Markdown 扩展,令阅读和编辑更加轻松。
- 表格式化程序扩展,使表更易于阅读,而无需手动对齐列。
- 用于转换标题和文本大小写的 change-case 扩展。
- 用于查看历史文件更改的 GitLens 扩展。
- 用于交互创作 PowerShell 示例的 PowerShell 扩展。
- 用于 Visual Studio Code 的 Gremlins 跟踪器,用于在 Markdown 中查找有问题的字符。
成本
GitHub Codespaces 每月最多可使用 120 个核心小时。 您的每月使用量会在所有存储库中进行计算,而不仅限于文档。
有关定价的详细信息,请参阅 关于 GitHub Codespaces 的计费。
小窍门
如果你熟悉使用容器和 Docker,则可以使用为 PowerShell 文档存储库定义的 devcontainer 获得相同的体验。 使用 devcontainers 是免费的。 有关详细信息,请参阅 开发容器教程。
创建 GitHub Codespace
若要创建 GitHub Codespace 以便为 PowerShell 文档做出贡献,请执行以下步骤:
- 在浏览器中打开 https://github.com/codespaces。
- 选择页面右上角的“新建代码空间”按钮。
- 在“创建新代码空间”页中,选择“选择存储库”按钮,然后键入要参与的存储库的名称,例如
MicrosoftDocs/PowerShell-Docs。 - 将所有其他设置保留为默认值。
- 选择“创建代码空间”按钮。
执行这些步骤后,GitHub 会为该存储库创建新的代码空间,并对其进行设置。 代码空间准备就绪后,页面将刷新并显示代码空间的 Web 编辑器 UI。 UI 基于 VS Code,的工作方式相同。
打开您的 GitHub Codespace
若要在浏览器中打开 GitHub Codespace,请执行以下步骤:
- 在浏览器中打开 https://github.com/codespaces。
- 该页面列出了您的代码空间。 找到您想要贡献的存储库所创建的代码空间,然后选择它。
选择代码空间后,GitHub 会在同一窗口中打开它。 在这里,你已准备好参与。
若要在 VS Code 中打开 GitHub Codespace,请按照 Visual Studio Code 中使用 GitHub Codespaces 中的步骤作。
在 GitHub Codespace 中编辑
在浏览器或 VS Code 中打开 GitHub Codespace 后,参与编写文档的过程是相同的。
本文的其余部分介绍了在编写或编辑贡献时可在 GitHub Codespace 中执行的任务。
提取引用链接
如果要将内联链接(例如 [some text](destination.md))转换为引用链接,例如 [some text][01],请在编辑器中选择链接目标。 然后,您可以选择以下任一选项:
- 右键单击链接目标并选择“重构...”在上下文菜单中。
- 按 Ctrl+Shift+R。
任一操作都会引发重构上下文菜单。 若要将链接中的(destination.md)替换为[def],请在上下文菜单中选择“到链接定义中提取”。 可以通过键入名称来重命名定义。
对于 PowerShell 文档,我们使用两位数的数字引用链接定义,例如 [01] 或 [31]。 仅使用有关文章和概念文档中的参考链接定义。
请勿在 cmdlet 参考文档中使用引用链接定义。
修正散文风格违反
在代码空间中查看文章时,Vale 会在首次打开该文章时自动检查该文章,每次保存它时都会自动检查该文章。 如果 Vale 找到任何样式冲突,则会使用彩色波浪线突出显示它们。
将鼠标移至违规上方以查看更多信息。
若要打开说明规则的网页,请在悬停信息中选择规则的名称。 若要打开规则并查看其实现,请选择规则的文件名(以结尾 .yml)。
如果规则支持快速修复,可以在违规的悬停信息中选择“快速修复...”,然后从上下文菜单中选择应用一个建议的修复。 只需在光标位于突出显示的问题上时按Ctrl+。如果规则支持,即可应用快速修复。
如果规则不支持快速修复,请阅读规则的消息,并在可以的情况下对其进行修复。 如果不确定如何修复它,编辑器可以在查看 PR 时提出建议。
修复语法问题
在代码空间中查看文章时,Markdownlint 会在打开文章时以及键入时自动检查。 如果 Markdownlint 发现语法问题,文档中会用彩色波浪线将其突出显示。
将鼠标移至违规上方以查看更多信息。 若要打开说明规则的网页,请在悬停信息中选择规则的 ID。
如果规则支持快速修复,可以在违规的悬停信息中选择“快速修复...”,然后从上下文菜单中选择应用一个建议的修复。 只需在光标位于突出显示的问题上时按Ctrl+。如果规则支持,即可应用快速修复。
如果规则不支持快速修复,请阅读规则的消息,并在可以的情况下对其进行修复。 如果不确定如何修复它,编辑器可以在查看 PR 时提出建议。
还可以对文章中的所有语法错误进行修复。 为此,请打开命令面板并键入 Fix all supported markdownlint violations in the document。 键入时,命令面板会筛选可用的命令。 选择“修复文档中的所有受支持的 markdownlint 冲突”命令。 当你这样做时,Markdownlint 会更新文档以解决任何可以快速修复的违规。
设置表格格式
若要设置 Markdown 表格的格式,请将光标置于 Markdown 中的表或表上。 打开命令面板并搜索命令 Table: Format Current 。 选择该命令时,它会更新表的 Markdown 以对齐并填充表以提高可读性。
它将转换如下定义的表:
| foo | bar | baz |
|:--:|:--|-:|
| a | b | c |
变成这样:
| foo | bar | baz |
| :---: | :--- | ---: |
| a | b | c |
插入警报
文档使用提示来使信息更引人注意。
若要插入警报,可以打开命令面板并搜索命令 Learn: Alert 。
选择该命令时,会打开上下文菜单。 选择要添加的警报类型。 进行操作时,该命令会在文档中光标所在处插入警报的 Markdown 格式。
将标题调整为句子式大小写
若要更改标题文字的大小写,请突出显示该文字,但不包括开头的 # 符号,这些符号用于设置标题级别。 突出显示文本后,打开命令面板并搜索命令 Change case sentence 。 选择该命令时,它会转换突出显示文本的大小写。
还可以在文档中为任何文本使用文字大小写命令。
打开命令面板
可以使用 VS Code 的 命令面板 运行许多有用的命令。
若要在 UI 中打开命令面板,请在顶部菜单栏中选择“视图”。 然后选择“命令面板...”在上下文菜单中。
若要使用键盘打开命令面板,请按下适用于您的操作系统的键组合:
- Windows 和 Linux: Ctrl+Shift+P
- macOS: Cmd+Shift+P
预览你的贡献
若要预览你的贡献,请打开命令面板并搜索该 Markdown: Open Preview 命令。 选择该命令时,VS Code 将打开活动文档的预览。 预览的样式与 Learn 平台匹配。
注释
网站相对链接和交叉引用链接在预览版中不起作用。
重新排列内容
若要限制文档中段落的行长度,请将光标放在段落上。 然后打开命令面板并搜索 Reflow Markdown 命令。 选择该命令时,它会将当前段落的行长度更新为配置的长度。 对于存储库,长度为 99 个字符。
对块引号使用此命令时,请确保重新排列的块引号中的段落被空白行包围。 否则,命令会将每个段落重排在一起。
谨慎
编辑文章时不要使用此命令。 这些文档中的行不得超过 80 个字符。 存储库目前无法按文件夹或文件名配置不同的行长度,因此重排不适用于文章文档。
查看文档中的所有问题
若要查看文档中的所有语法和样式规则冲突,请打开问题视图。
若要在 UI 中打开问题视图,请在顶部菜单栏中选择“视图”。 然后在上下文菜单中选择“问题”。
若要使用键盘打开问题视图,请按下您的操作系统的键组合:
- Windows 和 Linux: Ctrl+Shift+M
- macOS: Cmd+Shift+M
问题视图显示打开的文档的所有错误、警告和建议。 选择一个问题以在文档中自动跳转到该问题。
可以按类型或文本匹配筛选问题。
更新 ms.date 元数据
若要更新文章的 ms.date 元数据,请打开命令面板并搜索命令 Learn: Update "ms.date" Metadata Value 。 选择该命令时,它会将元数据更新为当前日期。
其他资源
本文中所述的任务和命令不包括使用 VS Code 或已安装的扩展可以执行的所有作。
有关使用 VS Code 的详细信息,请参阅以下文章:
有关已安装的扩展的详细信息,请参阅其文档: