以下 VS Code 扩展程序可以为 Fuchsia 提供高效的开发环境:
Fuchsia 专属官方扩展程序
特定于 Fuchsia 的扩展程序支持使用 Fuchsia 软件和系统。Fuchsia 项目目前支持这些扩展程序。
VS Code 版 Fuchsia 扩展程序
VS Code 的 Fuchsia 扩展程序支持调试 Fuchsia 设备、日志记录和语法突出显示。此扩展程序是 Fuchsia 的官方扩展程序,可与源代码树和 SDK 搭配使用。如需了解详情,请参阅 Fuchsia 开发者扩展程序页面。
社区提供的扩展程序
这些扩展程序由 Fuchsia 贡献者开发。列出的扩展程序不受支持,且可能与官方 Fuchsia 开发者扩展程序冲突。建议使用 Fuchsia 开发者扩展程序。
Fuchsia.git 帮助程序
Fuchsia.git Helper 添加了一个“Open in...”(打开方式),使您能够在 OSS 代码搜索中打开文件。
若要使用此扩展程序,请按以下步骤操作:
- 在文件编辑器中右键点击某个文件。
- 选择 Open in OSS Code Search(在 OSS 代码搜索中打开)。
FuchsiAware
FuchsiAware 协助浏览 Fuchsia 工件,例如通过从组件网址链接到组件清单。
构建系统扩展
GN
GN 为 GN 文件添加了语法突出显示功能。
GNFormat
GNFormat 提供 GN 文件格式。
您可能需要使用 GN 二进制文件和 Buildtools 的文件路径来配置 GNFormat。请执行以下操作:
- 在 VS Code 中,运行
CMD/CTRL + P
以启动 Quick Open。 - 在搜索字段中输入
settings
。 - 点击偏好设置:打开设置 (JSON)。
- 添加以下配置并重启 VS Code:
"gnformat.path.gn": "FILE_PATH",
"gnformat.path.buildtools": "BUILD_TOOLS_PATH"
常规工作流扩展程序
使用 Fuchsia 时,常规工作流扩展程序可提供整个高效的工作流。
GitLens
GitLens 提供高度可定制的 Git 历史记录数据洞见,让您能够了解代码演变情况。
特定语言的扩展程序
FIDL 语言支持
FIDL 语言支持以 FIDL 格式提供了语法支持和基于 LSP 的语言功能。
JSON5
在某些情况下,您可以使用以 JSON5 编写的结构化配置来处理 Fuchsia 组件。JSON5 为 JSON5 文件添加了语法突出显示功能。
Rust 分析器
Rust-analyzer 是 Rust 语言的一种语言服务器协议 (LSP) 实现。
如需将 rust-analyzer
与 VS Code 搭配使用,Fucsia 建议:
- 更新到最新的稳定版 VS Code。
- 针对机密代码停用遥测报告。
配置工作流
使用 fuchsia.code-workspace
配置文件将为在 Fuchsia 上使用 rust-analyzer 设置建议的默认值。如果您未使用工作区文件,可能需要将以下设置添加到 settings.json
:
// disable cargo check on save
"rust-analyzer.checkOnSave.enable": false,
"rust-analyzer.checkOnSave.allTargets": false,
// workaround for https://fxbug.dev/42053708
// needed if you see errors about extension host crashing
"rust-analyzer.files.watcher": "server",
此外,您可能需要配置较小的提示并隐藏参数提示,以优化工作区:
// optional: only show summary docs for functions (keeps tooltips small)
"rust-analyzer.callInfo.full": false,
// optional: don't activate parameterHints automatically
"editor.parameterHints.enabled": false,
启用 rustfmt
rust-analyzer
扩展依赖于 rustup
安装程序来调用 rustfmt
,这是一个用于根据样式准则设置 Rust 代码格式的工具。
如需使用 Fuchsia 源代码配置 rustup
,请运行以下命令:
rustup toolchain link fuchsia FUCHSIA_DIR/prebuilt/third_party/rust/HOST_OS
配置 rustup
后,rust-analyzer
扩展支持通过 Fuchsia 的 Rust 样式指南 rustfmt.toml
进行其他配置。
按照配置工作流中的相同步骤,将以下代码段添加到 settings.json
:
// use fuchsia toolchain and fuchsia's rules for rustfmt:
"rust-analyzer.rustfmt.extraArgs": [
"+fuchsia",
"--config-path=FUCHSIA_DIR/rustfmt.toml"
],
Fuchsia SDK 扩展
Bazel
Fuchsia SDK 使用 Bazel 构建系统。Bazel 扩展程序可以直接在 VS Code 中构建和运行组件。