移动应用 活跃维护

vscode-swift

swiftlang/vscode-swift

用于 Swift 的 Visual Studio Code 扩展

1066
Stars 标星
124
Forks 分支
20
Watchers 关注
95
Open Issues
TypeScript
主要语言
Apache-2.0
开源协议
21.9 MB
仓库大小
1 天前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:swiftlang/vscode-swift
git clone https://github.com/swiftlang/vscode-swift.git
git clone git@github.com:swiftlang/vscode-swift.git
README.md main

英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。

Visual Studio Code 的 Swift

此扩展为 Visual Studio Code 添加了 Swift 语言支持,为在所有支持的平台上开发 Swift 应用程序提供无缝体验。它支持以下功能:

  • 代码补全
  • 跳转到定义、查看定义、查找所有引用和符号搜索
  • 错误注释和修复建议
  • 自动生成用于使用 LLDB DAP 调试的启动配置
  • 自动任务创建
  • 项目面板,可快速运行操作并查看依赖关系
  • 测试资源管理器视图

注意
Visual Studio Code 的 Swift 扩展的大多数功能仅适用于使用 Swift 包管理器构建的项目。这些项目在其根文件夹中会有一个 Package.swift 文件。对 Xcode 项目(.xcodeproj)的支持有限。

创建新项目

构建和运行可执行文件

调试可执行文件

运行测试

文档

此扩展的 入门指南 和 官方文档 可在 swift.org 查阅。

该扩展使用 SourceKit LSP 作为 语言服务器,以提供代码补全功能。它还依赖于 LLDB DAP 扩展来启用调试功能。

如需提出新功能建议,可在 swift.org 论坛 的 VS Code Swift 扩展分类 发布帖子。如果遇到功能未按预期工作的问题,可以在 GitHub 仓库 提交问题。

扩展 API

Swift 扩展导出了一个全面的 API,可供其他 Visual Studio Code 扩展使用。该 API 提供对以下内容的访问:

  • Swift 工具链:当前激活的 Swift 工具链,可在全局或每个项目中使用。
  • Swift 项目:活动工作区中所有已知 Swift 项目的列表。
  • SPM 包:Swift 包管理器的目标、产品、依赖项和插件。

该 API 包含一个版本号,遵循 语义化版本控制,并与扩展本身的版本号分开。有关何时增加此版本号的详细说明,请参见 贡献指南。

使用该 API

要在您的扩展中使用该 API,您可以从此存储库下载 src/SwiftExtensionApi.ts 文件,以获取适当的 TypeScript 类型定义。建议从标记发布版本下载,因为 main 分支不保证保持稳定。

示例用法:

import { getSwiftExtensionApi, SwiftExtensionApi } from './SwiftExtensionApi';

// Get the Swift extension API
const api: SwiftExtensionApi = await getSwiftExtensionApi();

// Access workspace context
const workspaceContext = api.workspaceContext;
if (workspaceContext) {
    // Get the toolchain version
    const toolchain = workspaceContext.globalToolchain;
    console.log(`Using Swift ${toolchain.swiftVersion}`);

    // Listen for folder changes
    workspaceContext.onDidChangeFolders((event) => {
        console.log(`Folder operation: ${event.operation}`);
    });

    // Access the in focus folder and its Swift package
    const currentFolder = workspaceContext.currentFolder;
    if (currentFolder) {
        const swiftPackage = currentFolder.swiftPackage;
        const targets = await swiftPackage.targets;
        console.log(`Found ${targets.length} targets`);
    }
}

贡献

Visual Studio Code 的 Swift 扩展是基于最初由 Swift 服务器工作组 创建的扩展。它现在由 swiftlang 组织 维护,原始扩展已被弃用。欢迎贡献,包括代码、测试和文档。有关更多详情,请参阅 CONTRIBUTING.md。

为了明确我们对成员的期望,Swift 采用了 Contributor Covenant 中概述的行为准则。这份广泛认可的文件有效地概括了我们的价值观。欲了解更多信息,请参阅 行为准则。

本站来源与版权声明
  • 本文标题:vscode-swift - 用于 Swift 的 Visual Studio C
  • 本文链接:https://www.cn121.com/mobile/swiftlang-vscode-swift.html
  • 原项目:swiftlang/vscode-swift 版权归原作者 swiftlang 及贡献者所有
  • 收录信息:本站于 2026-10-11 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 Apache-2.0(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。本站对原文仅作排版与图片地址适配, 并保留原项目的 NOTICE 与署名要求。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 swiftlang/vscode-swift。
  • 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出,仅将二级标题译为中文,便于按栏目定位;标题原文可在下方原仓库中查看),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。