VS Code extension to enforce Swift style and conventions via SwiftLint. You can use SwiftLint installed globally or via the Swift Package Manager.
You can install SwiftLint globally using Homebrew or Mint. For a local setup you can use the Swift Package Manager.
# Using Homebrew
$ brew install swiftlint
# Using Mint
$ mint install realm/SwiftLint
# Manually
$ git clone https://github.com/realm/SwiftLint.git
$ swift build -c release
Add the package to your dependencies in Package.swift
:
// swift-tools-version:4.2
import PackageDescription
let package = Package(
name: "Komondor",
products: [ ... ],
dependencies: [
// My dependencies
.package(url: "https://github.com/orta/PackageConfig.git", from: "0.0.1"),
// Dev deps
.package(url: "https://github.com/orta/Komondor.git", from: "0.0.1"),
+ .package(url: "https://github.com/realm/SwiftLint.git", from: "0.37.0"),
],
targets: [...]
)
Config | Type | Default | Description |
---|---|---|---|
swiftlint.enable |
Bool |
true |
Whether SwiftLint should actually do something. |
swiftlint.onlyEnableOnSwiftPMProjects |
Bool |
false |
Requires and uses a SwiftLint as SwiftPM dependency. |
swiftlint.onlyEnableWithConfig |
Bool |
false |
Only lint if config present. Requires swiftlint.configSearchPaths . |
swiftlint.path |
String |
swiftlint |
The location of the globally installed SwiftLint (resolved with the current path if only a filename). |
swiftlint.additionalParameters |
[String] |
[] |
Additional parameters to pass to SwiftLint. |
swiftlint.configSearchPaths |
[String] |
[] |
Possible paths for SwiftLint config. This disables nested configurations! |
swiftlint.autoLintWorkspace |
Bool |
true |
Automatically lint the whole project right after start. |
Short Title | Command |
---|---|
SwiftLint: Lint workspace | swiftlint.lintWorkspace |
SwiftLint: Fix workspace | swiftlint.fixWorkspace |
SwiftLint: Fix document | swiftlint.fixDocument |
SwiftLint: Fix all known issues | source.fixAll.swiftlint |
To automatically fix all issues within a document on save, add the following to your .vscode/settings.json
:
{
"editor.codeActionsOnSave": {
"source.fixAll": true
}
}
vscode-swiftlint is available under the MIT license.