在Visual Studio Code中进行Swift编码

17

有没有可能在Windows上使用Visual Studio Code编写Swift代码并进行预览?在Swift编程指南中我看到需要iOS系统,但我目前只有Windows。

我能否在Windows上编写Swift代码?

3个回答

12

是的,你可以在Windows上编写Swift代码。请查看RemObjects Silver,它提供了一个在Visual Studio 2015中使用的Swift编译器。Visual Studio Express是免费的,但我不知道它是否与Silver兼容。

Swift本身只是一种语言。为了构建iOS应用程序,需要使用类似Foundation和UITouch之类的框架(可以用任何语言编写,在这种情况下:C、Objective-C和C++)。苹果已经开源了许多Foundation类并将它们移植到Linux,但有很多东西没有完全实现,或者Linux中存在OS X中不存在的错误。没有官方的Windows移植版。我怀疑苹果会不会开源UITouch。

Silver可以针对.NET(我想扩展到跨平台的兄弟Mono)、Java或Sugar(供应商的专有框架)。如果你想在Windows上使用Swift,是的,你可以,但不要期望在Windows上构建iOS应用程序。如果你真的想进行iOS开发,请购买一台Mac电脑,即使是$500的Mac Mini也可以走很长的路。如果你只想玩Xcode,请组装一个Hackintosh或虚拟机,这样你就可以运行OS X。


2020年6月更新:在WWDC 2020上,苹果宣布Swift 5.3将扩展支持Windows和更多Linux平台:

Swift 5.3是一个旨在包括显着质量和性能增强的版本。此外,这个版本将扩展Swift可用和受支持的平台数量,特别是添加了对Windows和其他Linux发行版的支持。

有官方支持的Swift在Windows 10上运行。它可以与Visual Studio 2019(而不是VS Code)一起使用。 在Windows上安装Swift


RemObjects Silver 不是 Swift。我认为他们只是支持 Swift 语法。 - hfossli
Swift只是一种编程语言。RemObjects是一种编译器,可以将Swift代码转换为Windows二进制文件。那么你的观点是什么? - Code Different
他们是否支持完整的Swift规范,还是只支持其中的一个子集?如果只支持子集,那在我看来就不是Swift了。 - hfossli
它们是否始终保持最新的Swift版本,以便您可以使用可用的最新版本?这将始终是一场追赶游戏... - hfossli

12

Swift for windows安装在c:\swift目录下

安装vs code插件code-runner

设置vs code - 文件 - 首选项 - 设置 - 用户设置

{
   "code-runner.executorMap": {
        "swift": "C:\\swift\\setPath.bat && cd $dir && swiftc -swift-version 4 $fileName -o $fileNameWithoutExt.exe && $fileNameWithoutExt.exe",
    },
}

打开 .swift 文件。 运行代码 (Ctrl+Alt+N)


当触发安装程序时,没有选择安装文件夹的选项。我在“Program Files”或“Program Files(x86)”中看不到Swift。有任何想法它可能默认安装在哪里? - Andy Res
什么是 setPath.bat 文件? - Haseeb Mir

2

如果Ramil的回答对您不起作用...

那么在VSCode的settings.json文件中,请使用以下内容:

{
    "code-runner.executorMap": {
        "swift": "cd $dir && C:\\Swift\\bin\\swiftc.exe -swift-version 4 $fileName -o C:\\Swift\\RuntimeEnv\\$fileNameWithoutExt.exe && C:\\Swift\\bin\\run.bat && C:\\Swift\\RuntimeEnv\\$fileNameWithoutExt.exe",
    },
}

此外,为了在编译后更美观地运行代码:

在 C:\Swift\bin 目录下找到 run.bat 文件,将其中的

if %SFW_ARGC% == 0 (
  echo Run a program in the Swift runtime environment
  echo.
  echo Usage: run ^<swift-compiled-exe-file^>
)

使用简单的“echo”命令。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接