某软不给力,正在做的UWP项目停工了。官方说法是要等到RS2发布新的VOIP架构,再看看是不是给某软面子。虽然Beta用户中发出了几点愤怒的声音,但是木有用。有用的只能是某软的Skype for business UWP版拿下几个大订单,才有说服力。像现在这样鶸的表现,真是让人心寒……

  当然UWP开发入门还会继续写下去,本篇只是偷个懒,把工作中整理的资料放上来。蜀黍我可不是叛徒,我没发过誓不给水果开发APP,某软现在就是最大的果蛆。无奈混口饭吃,让写Swift就写呗,水果一套加上Xcode,咋用咋不爽,跟太阳系最强IDE比实在差距有点大,不得已还得额外安装代码格式检查的工具,安装过程也是学习使用MacOS,Terminal一系列陌生玩意的痛苦经历,风格迥异让我生不如死。特地写此一篇备忘,及供和我一样的iOS鶸参考。

What can SwiftLint do?

  1. Give code style warnings and errors
  2. Auto format swift code file

Installation

  • You can also install SwiftLint by downloading SwiftLint.pkg from the latest GitHub release and running it.

Integrate SwiftLint into an Xcode scheme to get warnings and errors displayed in the IDE.

In project file, just add a new "Run Script Phase" with:

if which swiftlint >/dev/null; then
  swiftlint
else
  echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi

Warnings and errors

Build project , swiftlint will display warnings and errors in Xcode.

We can disable or create some rules in configuration file.

Swiftlint Auto Correct

For formatting code files, you need to input "swiftlint autocorrect" in terminal.

cd documents/projects/MyProject/SomeFolder
swiftlint autocorrect

If you want to lint only one file:

cd documents/projects/MyProject/SomeFolder
swiftlint autocorrect --path SampleCode.swift

Unformatted:

Formatted:

Download Swift Configuration File

You can download swift configuration file in any folder. But the file which name starts with "." will be hidden on MacOS.

So I suggest you create an new file ".swiftlint.yml" in Xcode, under your project root folder.

Input below in terminal

cd documents/projects/yourProjectName
curl https://raw.githubusercontent.com/kevindelord/swift-style-guide/master/.swiftlint.yml > .swiftlint.yml

Press enter button and download. Then you can get lateset .swiftlint.yml and edit in Xcode.

Disable, included or create custom rule in .swiftlint.yml file

  • Disable rules

Add "- rule name" below "disabled_rules:"

disabled_rules:

- trailing_whitespace

  • Included folder

Only check child foder with SwiftLint

included:

- MyProject/NeedCheckFolder

  • Create custom rules

Use Regular Expression (regex) create custom rules

custom_rules:

comments_space:

name: "Space After Comment"

regex: "(^ *//\w+)"

message: "There should be a space after //"

severity: error

multiple_empty_lines:

name: "Multiple Empty Lines"

regex: ".\n(\s*\n){2,}"

message: "There are too many line breaks"

References

https://github.com/realm/SwiftLint

http://kevindelord.io/2016/04/06/integrate-swiftlint/

https://swifting.io/blog/2016/03/29/11-swiftlint/

SwiftLint——Swift代码检查及自动格式化工具的更多相关文章

  1. swiftlint swift代码规范检查神器

    一大堆的你为什么要用swiftlint,你为什么要codereview,swiftlint到底在做什么,就不多说了,没意义,他就是帮助你写出规范漂亮代码的神器! 安装 官方提供了三种安装的方式 hom ...

  2. SwiftLint:代码规范检查工具介绍

    Swift-CodeStyle Checker:SwiftLint 介绍: SwiftLint 是一个用于强制检查 Swift 代码风格和规定的一个工具,基本上以 GitHub's Swift 代码风 ...

  3. 使用Xcode HeaderDoc和Doxygen文档化你的Objective-C和Swift代码

    在一个应用的整个开发过程中涉及到了无数的步骤.其中一些是应用的说明,图片的创作,应用的实现,和实现过后的测试阶段.写代码可能组成了这个过程的绝大部分,因为正是它给了应用生命,但是这样还不够,与它同等重 ...

  4. [原创]Java静态代码检查工具介绍

    [原创]Java静态代码检查工具介绍 一  什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...

  5. Cocos2D-ObjC:在RPG游戏中混合Swift代码

    我之前写过一个RPG游戏<<熊猫之魂 SoulOfPanda>> 编译器使用的是SpriteBuilder,很好很强大!全部代码都由Objc完成,现在想尝试一下在其中混入Swi ...

  6. 在Jenkins中使用sonar进行静态代码检查

    要解决的问题 jenkins自动构建完成后,希望能通过sonar静态代码检查生成一份报告,给与开发人员对当前代码的做一个质量评估和修改意见 1.安装并配置sonar服务器 懒得说,跟着官方文档走就行, ...

  7. CSS代码检查工具stylelint

    前面的话 CSS不能算是严格意义的编程语言,但是在前端体系中却不能小觑. CSS 是以描述为主的样式表,如果描述得混乱.没有规则,对于其他开发者一定是一个定时炸弹,特别是有强迫症的人群.CSS 看似简 ...

  8. C#静态代码检查工具StyleCode

    C#静态代码检查工具StyleCode -- 初探 最近我们Advent Data Service (ADS) 在项目上需要按照代码规范进行代码的编写工作,以方便将来代码的阅读与维护. 但是人工检查起 ...

  9. 在 OC 中调用 Swift 代码

    1.在 Objective-C 项目中使用 Swift 代码 1)在 OC 项目中创建 .Swift 文件,文件中的格式为其本有的格式. 2)Xcode 提示是否创建 Objective-C brid ...

随机推荐

  1. OpenSSL密码算法库: MD5示例小程序

    OpenSSL http://www.openssl.org/ OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库.SSL协议库以及应用程序.OpenSSL 的密码算法库包含多种加密算 ...

  2. vmware安装ubuntu12.04嵌套安装xen server(实现嵌套虚拟化)

    环境准备 软件:vmware workstation 9.0    ubuntu-12.04.2-server-amd64(官方下载) 硬件:确认CPU支持虚拟化VM-T vmware设置 vmwar ...

  3. as3 Loader 加载资源后内存泄露无法释放的问题。

    本人用Loader加载外部一个swf.之后unloadAndStop,Flash概要分析发现,内存没有被释放. 网上搜了一大堆文章,要么就是加载bitmapdata之后,自己dispose,要么就是加 ...

  4. Vue API阅读的小细节

    #后面是表达式,下面是参数列表,参数列表每行说明一个参数.每行的参数说明,最后边对应表达式的参数,左边是该参数的类型一类的说明.

  5. DDD~我们应该知道的Model,DomainModel和ViewModel

      回到目录 图在前 目前项目中可能出现的三种Model模式,对于我们现在开发的一个项目,我觉得使用DDD的思想来设计模型比较清晰,使用DDD的思想把模型model分成了如下三种: 下面是我微博中的截 ...

  6. Thrift架构~windows下安装和Hello World及编码引起的错误

    最近开始正式接触Thrift架构,很牛B的技术,它被apache收纳了,属于开源中的一员,呵呵. 概念: Thrift源于大名鼎鼎的facebook之手,在2007年facebook提交Apache基 ...

  7. PHP基础 创建

    注意:1.网页文件放在wamp中的www文件下: 2.www文件下不能出现中文: 网页浏览的方法: 1.没有建立站点:localhost/文件所在位置 2.建立站点: (1)站点-新建站点-打开对话框 ...

  8. C#获取文本文件的编码,自动区分GB2312和UTF8

    C# 获取文本文件的编码,自动区分GB2312和UTF8 以下是获取文件编码的一个类 using System; using System.IO; using System.Text; /// < ...

  9. eclipse提交项目到github

    1.在https://github.com   new repository 2.在eclipse中new project  比如:Test项目 3.右击"Test"->Te ...

  10. 构造persen

    package java1; //人类 public class Person { //属性 成员变量 String name; int age=30; //方法 函数 成员函数 void hello ...