Xcode Swift自动格式化

安装SwiftFormat

SwiftFormat 是一款用来格式化Swift代码的命令行工具。

直接用Homebrew安装

brew install swiftformat

然后安装 SwiftFormatXcode 插件:

brew install --cask swiftformat-for-xcode
open "/Applications/SwiftFormat For Xcode.app"

这一步可能会出错,可以直接在Github下载对应的Xcode插件

下载好了之后解压双击打开运行

右上角可以选择Swift版本

然后在系统偏好设置中的扩展中找到SwiftFormat for Xcode

在Xcode Source Editor 一项打勾

重启XcodeEditor选项中最下面一行Swift Format就可以手动选择Format File来格式化文件,但是这样还是不够方便

配置自动化脚本

在Mac中找到自动操作app

新建一个快速操作

工作流程收到填 没有输入 ,位于找到Xcode.app

搜索Apple Script添加,将以下代码添加进去

on run {input, parameters}
tell application "System Events"
tell process "Xcode"
set frontmost to true
if menu item "Format File" of menu of menu item "SwiftFormat" of menu "Editor" of menu bar 1 exists then
click menu item "Format File" of menu of menu item "SwiftFormat" of menu "Editor" of menu bar 1
end if
click menu item "Save" of menu "File" of menu bar 1
end tell
end tell
return input
end run

该脚本将执行以下操作:

检查XcodeEditor菜单下是否存在“SwiftFormat”>“Format File”菜单项。

如果存在,则自动触发 Format File菜单点击,来格式化代码。

最后,自动点击 Save 菜单,保存文件修改。

最后Command + s 保存

它会自动保存在 ~/Library/Services/ 目录下。重新打开Xcode,会在 Xcode -> Services 菜单下看到它

然后再配置键盘快捷键

打开 系统偏好设置 -> 键盘 -> 快捷键,选择 左侧 App快捷键 这一项,添加一个新的快捷键,应用程序选择 Xcode,添加Command + s 快捷键,名字和保存的快速操作名字一样

现在在Xcode快捷键保存的时候就可以自动格式化文件

但是报错了,Xcode要获取权限才能控制

系统设置->隐私与安全性->辅助功能中勾选Xcode

大功告成!

Xcode Swift自动格式化的更多相关文章

  1. Xcode + Swift 制作动态原型

    转载: Xcode + Swift 制作动态原型 为什么是 Xcode 和 Swift 我们尝试过的动态原型设计工具,Origami, Form, Hype, FramerJS,Pixate 等,但都 ...

  2. Cleave.js – 自动格式化表单输入框的文本内容

    Cleave.js 有一个简单的目的:帮助你自动格式输入的文本内容. 这个想法是提供一个简单的方法来格式化您的输入数据以增加输入字段的可读性.通过使用这个库,您不需要编写任何正则表达式来控制输入文本的 ...

  3. Eclipse保存文件时自动格式化代码

    实现效果:Ctrl+S会自动格式化并保存代码. 应用上图所示效果之后,在每次对Eclipse保存的时候都会实现自动格式化代码. 1. Fomated All lines,格式化该文件的所有代码:还是 ...

  4. 关于eclispe保存代码自动格式化的设置

    最近在项目开发,上级要求所有开发人员,代码必须格式和(Ctrl+Shift+F),但是还是会偶尔忘记格式化,今天看了有一种保存之后eclipse可以自动格式代码的设置 1.请大家在eclipse设置下 ...

  5. visual studio粘贴html代码.会自行添加一些未知代码(自动格式化)

    比如我们要粘贴这样一段代码到VS这里 <option {if empty($param.is_active)}selected=selected{/if}>请选择</option&g ...

  6. Eclipse中对Python代码自动格式化!

    在Eclipse中使用PyDev发现无法进行代码格式化,使用通常的"Ctrl+Shift+F"快捷键,没有任何变化,难道不能对python代码格式化了吗? 通过下面设置,就可以每次 ...

  7. JAVA_eclipse 保留Java文件时自动格式化代码和优化Import

    Eclipse 保存Java文件时自动格式化代码和优化Import Eclipse中format代码的快捷方式是ctrl+shift+F,如果大家想保存 java文件的时候 自动就格式化代码+消除不必 ...

  8. @JsonFormat 日期格式自动格式化

    通常日期格式都是以时间戳的形式存放在数据库里,当前端页面通过接口查询时,我们会将一个对象的某些属性查出来返回给页面. 例如,某个类里面有个属性 Timestamp create_time 给这个对象实 ...

  9. PyCharm配置autopep8,自动格式化Python代码

    1. 关于PEP 8 PEP 8,Style Guide for Python Code,是Python官方推出编码约定,主要是为了保证 Python 编码的风格一致,提高代码的可读性. 官网地址:h ...

  10. Intellij IDEA 代码格式化/保存时自动格式化

    这里介绍使用google style 一.安装插件 1.settings -> plugins 选择 Browse repositories… 2.搜索google-java-format 和 ...

随机推荐

  1. PasteForm最佳CRUD实践,实际案例PasteTemplate详解之3000问(二)

    作为"贴代码"力推的一个CRUD实践项目PasteTemplate,在对现有的3个项目进行实战后效果非常舒服!下面就针对PasteForm为啥我愿称为最佳CRUD做一些回答: 哪里 ...

  2. Android :安卓学习笔记之 Handler机制 的简单理解和使用

    目录 Handler机制 1.Handler使用的引出 2.背景和定义 3.作用和意义 4.主要参数 5.工作原理及流程 5.1.对应关系 6.深入分析 Handler机制源码 6.1.Handler ...

  3. 1.1 HELLO 窗口

    跟着教程,开始第一步创建窗口吧!这一节不涉及太多知识. 本节会出现一些名词,我们现在只需要知道它们大概是干什么的就行. ● GLFW:一个专门针对OpenGL的C语言库,通过它提供的接口,我们就可以渲 ...

  4. iOS中xib文件维护使用小结

    最近一直在做项目维护,由于项目比较大,开发时间比较早,早期的很多页面都是用xib拖拽页面控件.简单的页面还好,详情页面也是拖拽搭建,项目维护成本可想而知.闲言少叙,下面说一下不是特别复杂的xib页面维 ...

  5. .NET高级调试 - 3.9~3.11代码审查以及杂项命令

    简介 代码审查就是观察代码,代码形态分为三种C#代码>IL代码>汇编代码.通过代码审查,可以从原始代码的字节流中推测出逻辑详情 高级调试本质上属于逆向分析,更多的是以汇编为主. 反汇编代码 ...

  6. jenkins Publish over SSH 的配置与使用

    一.安装Publish over SSH 插件 二.在Configure System 配置Publish over SSH属性 Passphrase:如果私钥设置了密码就是私钥的密码,私钥没设置密码 ...

  7. 妙用编辑器:把EverEdit变成计算器

    妙用编辑器:把EverEdit变成计算器 应用场景 日常工作过程中,会存在需要计算一些数据的场景,调用系统的计算器当然可以完成这项工作,但是需要来回切换,且系统自带的计算器没有表达式计算功能,真是不方 ...

  8. 初学Linux的可以看看

    Linux常用命令总结 自己简单总结的,希望对大家有帮助吧! 关机/重启 系统信息 文件以及目录 vim文件编辑器 打包压缩 用户和组 权限所有者 RPM YUM mount find 自己简单总结的 ...

  9. Machine Learning Week_1 Model and Cost Function 1-4

    目录 2 Model and Cost Function 2.1 Video: Model Representation unfamiliar words 2.2 Reading: Model Rep ...

  10. Java高并发关于synchronized的8锁讲解

    先了解一个概念:synchronized 锁的是这个方法所在的资源类,就是这个对象,也就是同一时间段不可能有两个线程同时进到这个资源类,同一时间段,只允许有一个线程访问资源类里面的其中一个synchr ...