You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> TL;DR: a great IDE for hassle-free Swift development, install it [from the marketplace](https://marketplace.visualstudio.com/items?itemName=swiftstream.swiftstream).
10
9
11
10
Swift was released in 2014, and I fell in love with it at first sight. In 2016, its source code was open-sourced on GitHub under the Apache 2.0 license, and a fascinating rush began to use it for pretty much anything beyond macOS and Objective-C.
@@ -20,7 +19,6 @@ You might have heard before that Swift is worth trying, but I'm guessing you ran
20
19
21
20
**My mission is to bring the light**: to bypass all the complexities of environment setup and bring you straight to the enjoyable part – working with code.
22
21
23
-
> [!NOTE]
24
22
> There's a good phrase, "**let's give it some love**", and that's exactly what I decided to do.
25
23
26
24
To achieve this in 2024, I chose the path of creating an IDE designed to work exclusively inside Docker containers. The goal was one-click setup for a fully-configured environment that stays consistent over time.
@@ -81,7 +79,6 @@ Either way, you'll reach the same installation screen in VSCode where you need t
81
79
<imgwidth="800"height="333"alt="Swift Stream IDE's page in the VSCode Marketplace"src="https://github.com/user-attachments/assets/f76ea3a5-6c86-497a-8c8b-f4676169a852" />
82
80
83
81
84
-
> [!NOTE]
85
82
> Unfortunately, VSCodium lacks the Dev Containers extension, which means Swift Stream IDE won't work "out of the box" there.
86
83
87
84
### Getting Started
@@ -94,14 +91,12 @@ Once the extension is installed, you need to switch to it. In the left sidebar,
94
91
95
92
When you select `Start New Project`, you'll be prompted to enter a project name, a local directory path, and select a project type (stream).
96
93
97
-
> [!TIP]
98
94
> The concept is that **Swift Stream IDE** supports multiple streams.
99
95
> Simply select the one you need.
100
96
101
97
<imgwidth="777"height="537"alt="The new project creation screen in Swift Stream IDE"src="https://github.com/user-attachments/assets/0765f219-56f9-4792-945c-3933b10bf32d" />
102
98
103
99
104
-
> [!TIP]
105
100
> On Windows, launch VSCode in WSL2 mode and create your project there.
106
101
> This will prevent any filesystem-related issues.
107
102
@@ -111,7 +106,6 @@ Each stream comes with its own specific options, which we'll discuss later.
111
106
112
107
By selecting **Open Existing Project**, you can open an existing project. After opening, you'll need to perform an additional setup by clicking the **Setup** button.
113
108
114
-
> [!WARNING]
115
109
> Only open a folder that contains a `Package.swift` file.
116
110
117
111
<imgwidth="355"height="184"alt="A prompt in Swift Stream IDE indicating that additional setup is required"src="https://github.com/user-attachments/assets/b5b3982b-6f5d-43d7-a765-a5094f6efcc9" />
@@ -121,7 +115,6 @@ You'll be prompted to select your project type, which is crucial for properly co
121
115
<imgwidth="366"height="173"alt="Selecting the type of an existing project in Swift Stream IDE for environment configuration"src="https://github.com/user-attachments/assets/7e0b27c8-70d8-4940-99c2-92d26fcf9fbc" />
122
116
123
117
124
-
> [!NOTE]
125
118
> If the project is old and wasn't originally created in Swift Stream IDE, some manual configuration might be needed. You can create a new empty project in the IDE for reference and transfer the environment settings from it.
126
119
> Also, if you run into any issues, feel free to reach out in our [Telegram](https://t.me/+t9zXkfjoKNNlY2Ri) or [Discord](https://discord.com/invite/Wh3n86ttRB), we're here to help you get things working.
127
120
@@ -145,7 +138,6 @@ The VSCode window will then reload into container mode and automatically begin d
145
138
146
139
<imgalt="The container environment setup process in VSCode"src="https://github.com/user-attachments/assets/2813b827-fd28-4e52-a3f6-c4f88ec7f523" />
147
140
148
-
> [!NOTE]
149
141
> When creating other projects with the same Swift version, you won't need to download anything again, as **everything is cached in Docker Volumes and reused**.
150
142
> Accordingly, creating a second identical project will be nearly instantaneous.
151
143
@@ -176,7 +168,6 @@ The benefits of this approach are clear:
176
168
- It's easy to track installed dependencies and remove them all at once if you want to start fresh.
177
169
- Containers reuse already installed dependencies, meaning that after the initial setup for the first project, subsequent projects are created instantly.
178
170
179
-
> [!NOTE]
180
171
> **Nothing is installed on your host machine, your system remains clean.**
181
172
182
173
The IDE's graphical interface provides a convenient one-click method for switching between Swift versions. This action automatically edits the [devcontainer.json](https://code.visualstudio.com/docs/devcontainers/create-dev-container) file, and all you need to do is approve the container rebuild. You can also edit this file manually. If the new language version is already cached in the Docker Volumes, the rebuild will take just a few seconds.
0 commit comments