<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Swift Package Manager Projects on Noctule</title><link>https://noctule.dev/docs/swiftpm/</link><description>Recent content in Swift Package Manager Projects on Noctule</description><generator>Hugo</generator><language>en-us</language><copyright>© 2025 &amp;ndash; 2026 by [Joachim Ansorg](https://j-a.dev)</copyright><atom:link href="https://noctule.dev/docs/swiftpm/index.xml" rel="self" type="application/rss+xml"/><item><title>Creating a Swift Package Manager Project</title><link>https://noctule.dev/docs/swiftpm/create/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://noctule.dev/docs/swiftpm/create/</guid><description>&lt;h1 id="creating-a-swift-package-manager-project"&gt;Creating a Swift Package Manager Project&lt;a class="anchor" href="#creating-a-swift-package-manager-project"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;To create a new Swift PM project, open the wizard with &lt;kbd&gt;&lt;samp&gt;File → New Project&amp;hellip; → Swift Package&lt;/samp&gt;&lt;/kbd&gt;.
Under the hood, Noctule executes 

 &lt;kbd&gt;swift package init&lt;/kbd&gt; 
 to create the new project.
The wizard provides a user interface to configure the settings passed to this command.&lt;/p&gt;
























 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 

 
 
 
 
 
 

 
 
 
 
 
 

 
 
 
 
 
 

 
 
 
 
 
 








 
 
 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
 
 
 

 
 
 
 
 
 
 


&lt;figure &gt;
&lt;picture class="zoom"&gt;

&lt;source type="image/webp" media="(prefers-color-scheme: dark)" srcset="https://noctule.dev/webp/projects/new_swift_project_dark_400.21ef4dff9c10dad37e05053b72e8019c.webp 400w,/webp/projects/new_swift_project_dark_700.1772f3851ee95bdf820253ef7733fc85.webp 700w,/webp/projects/new_swift_project_dark_1400.8538923e43e5649d2f5097ad08b7f093.webp 1400w,/webp/projects/new_swift_project_dark_1800.f08d4f79f1dd0cb21538c87834b4acd4.webp 1800w" sizes="100vw"&gt;


&lt;source type="image/png" media="(prefers-color-scheme: dark)" srcset="https://noctule.dev/png/projects/new_swift_project_dark_400.b3a99a9b63666ab60b06522a2793a78e.png 400w,/png/projects/new_swift_project_dark_700.b026794885ef15c14a0bcb79e90e9f51.png 700w,/png/projects/new_swift_project_dark_1400.6a2ea6ba60442eb4402908cfa54980a0.png 1400w,/png/projects/new_swift_project_dark_1800.bd8607c65a03aa735ee46cd1172bb4db.png 1800w" sizes="100vw"&gt;

&lt;source type="image/webp" srcset="https://noctule.dev/webp/projects/new_swift_project_400.16d44c51f5283173f0d6c6c7b5ecd7b2.webp 400w,/webp/projects/new_swift_project_700.0a9984408eb629ebf491c772def6c731.webp 700w,/webp/projects/new_swift_project_1400.11fc68395418f4ff231f543e4acb7c2e.webp 1400w,/webp/projects/new_swift_project_1800.53ad994345b136d8edb337231a36503c.webp 1800w" sizes="100vw"&gt;
&lt;source type="image/png" srcset="https://noctule.dev/png/projects/new_swift_project_400.a99464538a4f6489597dafe868b5ea69.png 400w,/png/projects/new_swift_project_700.70827043fff88f1303bd4f9853007fe3.png 700w,/png/projects/new_swift_project_1400.8cb8ad45aaf4c2f0df1737d8cbdc937a.png 1400w,/png/projects/new_swift_project_1800.519c300df9e56a4733946e4c42ede2fc.png 1800w" sizes="100vw"&gt;
&lt;img src="https://noctule.dev/png/projects/new_swift_project_400.a99464538a4f6489597dafe868b5ea69.png" alt="" /&gt;
&lt;/picture&gt;


&lt;/figure&gt;
&lt;h2 id="options"&gt;Options&lt;a class="anchor" href="#options"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;dl&gt;
&lt;dt&gt;Name&lt;/dt&gt;
&lt;dd&gt;The name of the project. It&amp;rsquo;s used by the IDE and also serves as the default value for the package name input.&lt;/dd&gt;
&lt;dt&gt;Location&lt;/dt&gt;
&lt;dd&gt;The parent directory for the new project directory.&lt;/dd&gt;
&lt;dt&gt;Swift Toolchain&lt;/dt&gt;
&lt;dd&gt;Defines the default Swift toolchain for the new project.
It is also used to execute the &lt;code&gt;swift&lt;/code&gt; command to create the new project.&lt;/dd&gt;
&lt;dt&gt;Swift SDK&lt;/dt&gt;
&lt;dd&gt;Defines the default SDK for the new project. By default, no SDK is configured and Swift&amp;rsquo;s defaults are used.&lt;/dd&gt;
&lt;dt&gt;Package Type&lt;/dt&gt;
&lt;dd&gt;The type of package to create. It&amp;rsquo;s passed as the value for &lt;code&gt;--type&lt;/code&gt; of &lt;code&gt;swift package init&lt;/code&gt;.&lt;/dd&gt;
&lt;dt&gt;Package Name&lt;/dt&gt;
&lt;dd&gt;The name of the package. If defined, it&amp;rsquo;s passed as the value for &lt;code&gt;--name&lt;/code&gt; of &lt;code&gt;swift package init&lt;/code&gt;.&lt;/dd&gt;
&lt;dt&gt;Enable support for Swift Testing&lt;/dt&gt;
&lt;dd&gt;Whether to enable support for Swift Testing.
If enabled, &lt;code&gt;--enable-swift-testing&lt;/code&gt; is passed to &lt;code&gt;swift package init&lt;/code&gt;.
Otherwise, &lt;code&gt;--disable-swift-testing&lt;/code&gt; is passed.
This option is grayed out if the selected Swift toolchain does not support it.&lt;/dd&gt;
&lt;dt&gt;Enable support for XCTest&lt;/dt&gt;
&lt;dd&gt;Whether to enable support for XCTest.
If enabled, &lt;code&gt;--enable-xctest&lt;/code&gt; is passed to &lt;code&gt;swift package init&lt;/code&gt;.
Otherwise, &lt;code&gt;--disable-xctest&lt;/code&gt; is passed.
This option is grayed out if the selected Swift toolchain does not support it.&lt;/dd&gt;
&lt;/dl&gt;</description></item><item><title>Opening a Swift Package Manager Project</title><link>https://noctule.dev/docs/swiftpm/open/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://noctule.dev/docs/swiftpm/open/</guid><description>&lt;h1 id="opening-a-swift-package-manager-project"&gt;Opening a Swift Package Manager Project&lt;a class="anchor" href="#opening-a-swift-package-manager-project"&gt;#&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;You can simply open the directory containing the &lt;code&gt;Package.swift&lt;/code&gt; file in your IDE.&lt;/p&gt;
&lt;p&gt;If you would like to work on several Swift projects at the same time, then open the parent directory containing all the projects.&lt;/p&gt;
&lt;p&gt;Noctule will detect all &lt;code&gt;Package.swift&lt;/code&gt; files inside the directory hierarchy and pass these directories to the Swift language server.&lt;/p&gt;
&lt;blockquote class='book-hint tip'&gt;
&lt;p&gt;To work with a project on Windows WSL, the SourceKit-LSP server must be launched on the WSL system.
Open the project from the WSL filesystem, e.g. &lt;code&gt;\\wsl.localhost\Ubuntu\projects\my-project&lt;/code&gt;.
Noctule detects Swift toolchains managed by Swiftly, which are located on the WSL Linux system, and launches the LSP server inside the WSL system.&lt;/p&gt;</description></item></channel></rss>