首页 > 其他分享 > Xcode Swift自动格式化

Xcode Swift自动格式化

时间:2023-02-16 21:22:11浏览次数:48  
标签:格式化 menu Xcode 快捷键 SwiftFormat Swift

Xcode Swift自动格式化

安装SwiftFormat

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

直接用Homebrew安装

brew install swiftformat

然后安装 SwiftFormatXcode 插件:

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

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

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

WX20230216-204347_2x

右上角可以选择Swift版本

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

WX20230216-204439_2x

在Xcode Source Editor 一项打勾

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

WX20230216-204719_2x

配置自动化脚本

在Mac中找到自动操作app

WX20230216-204249_2x

新建一个快速操作

WX20230216-204800_2x

工作流程收到填 没有输入 ,位于找到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

WX20230216-205202_2x

该脚本将执行以下操作:

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

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

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

最后Command + s 保存

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

WX20230216-205652_2x

然后再配置键盘快捷键

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

WX20230216-205906_2x

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

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

WX20230216-210140_2x

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

WX20230216-210423_2x

大功告成!

标签:格式化,menu,Xcode,快捷键,SwiftFormat,Swift
From: https://www.cnblogs.com/r1cardo/p/17128359.html

相关文章

  • xcodebuild命令行工具使用详解
    xcodebuild命令行工具使用如何通过命令行编译ios项目?xcodebuild是一个命令行工具,允许你从命令行对Xcode项目和工作区执行编译、查询、分析、测试和归档操作。它对项目中......
  • 正确解决包含汉字的QString串转cv::String并format格式化
    QStringnow=QDateTime::currentDateTime().toString("yyyy-MM-dd_HH-mm-ss-zzz");QStringfileName1=QString::fromUtf8("D:/frame/小区监控图像_");......
  • day09-1-数据格式化
    数据格式化1.基本介绍说明:在我们提交数据(比如表单时),SpringMVC是怎样对提交的数据进行转换和处理的基本数据类型可以和字符串之间自动进行转换,比如:SpringMVC上下文中......
  • 【Python21天学习挑战赛】-迭代器 & f-格式化 & 模块
    学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。文章目录​​迭代器​​​​1、功能:​​​​2、可迭代对象的利弊​​​​3、创建一个迭代......
  • HTML 文本格式化
    HTML文本格式化加粗文本斜体文本电脑自动输出这是 下标 和 上标HTML格式化标签HTML使用标签<b>("bold")与<i>("italic")对输出的文本进行格式,如:粗体 or ......
  • SpringBoot 时间格式化的 5 种实现方法!
    在我们日常工作中,时间格式化是一件经常遇到的事儿,所以本文我们就来盘点一下SpringBoot中时间格式化的几种方法。时间问题演示为了方便演示,我写了一个简单SpringBoot......
  • el-table-column格式化处理时间
    收到的后端数据格式 2022-07-08T08:58:08+0000(国际标准化组织的国际标准——ISO8601)想要展示的数据格式 2023-02-1018:54:26(标准时间)处理方式1:使用:formatter进行......
  • C语言学习:格式化时间
     1#include<io_utils.h>2#include<time_utils.h>3#include<time.h>45intmain(){6long_time_tcurrent_time_in_ms=TimeInMillisecond();7......
  • go格式化输入没有解析到正确的类型,有bug
    packagemainimport( "fmt" "math/rand" "time")funcinit(){ rand.Seed(time.Now().UnixNano())}funcmain(){ target:=rand.Intn(101) count:=0 c......
  • jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
    一、添加AnsiColor插件二、查看插件语法1.打开任意pipline项目配置,找到流水线语法,并点击跳转连接,选择插件,查看帮助三、修改sharelibrary脚本,优化打印方法packag......