多种软件轻松打开Step文件的实用指南
turboc2中的快捷键
希望这些对你有所帮助~
Turbo C 2.0使用指南
Turbo C 2.0是Borland公司1987年推出的C语言编译器,具有编译速度快、代码优化效率高等优点,所以在当时深受喜爱。Turbo C 2.0提供了两种编译环境:一种是类似于UNIX环境的命令行,包含一个TCC编译器和一个MAKE实用程序;一种是集成开发环境,由编辑器、编译器、MAKE实用程序和RUN实用程序,还有一个调试器组成。在这里,我就向大家简单介绍一下集成环境的使用方法。
进入Tc,您可以看到类似下面这样的屏幕。按F10到菜单,将光标移到Options,打开下拉菜单(或可以按Alt+o打开Options下拉菜单),选择Directories,第一行是include文件目录,是你的TC.EXE,所在的目录,假如你的TC.EXE是在C:TC20下那么就是c: c20include;同样,第二行是library目录,设成c: c20lib第三行为输出.EXE和.OBJ文件的目录,如果为空则输出到c: c20目录下;第四行为Tc的目录,这里设为c: c20;第五行是建立PICK文件,默认是TCPICK.TCP,该文件的作用是每次只要键入tc即可在启动TC时自动加载上次编辑的文件。完了以后一定要Save Options。否则下次你还要在设置保存时覆盖原来的就可以了.好了,设置完这些目录以后,您就可以开始进行基本的开发工作了。
Turbo C 2.0基本使用指南(二)
现在我们来讲一下各菜单项的功能。
File菜单:
File菜单中都是些一般编辑器中常有的功能,如Load、Save等,相信没有必要再讲了,我们就省点口水吧。
Edit菜单:
Edit菜单的作用是从菜单切换到编辑栏。其实大可不必这么麻烦,只要按ESC键就可以了。
Run菜单:
Run菜单中的命令用于运行程序。
RUN命令不用讲了,当然是用来运行编译好的程序的啦。
Program Reset可以终止当前运行的程序,释放分配的内存空间。这在进行调试时退出程序的方法.
Go To Cursor使程序执行到光标所在处。
Trace Into单步执行程序,并且进入函数(必须是同一源文件中定义的函数)。
Step Over单步运行程序,但不进入函数。
User Screen返回到DOS界面,按任意键可返回。
Compile菜单
Compile菜单用于编译.OBJ文件和连接生成.EXE可执行文件。
Compile To OBJ编译生成OBJ目标文件。
MAKE EXE File编译、连接一步完成,生成EXE可执行文件。
Link EXE File连接OBJ文件以生成EXE可执行文件。
Build all无条件编译所有文件,无论过时与否。
Primary C File可在编译过程中发现错误是重新载入文件(.H .C)。
Get Info可获得以下信息:
源文件
与当前文件相联系的目标文件
当前源文件名
文件大小
程序退出码
可用空间
Project菜单
Project菜单提供与工程有关的命令。
Project Name给你的工程起个好听的名字。
Break Make On设定终止MAKE的缺省条件,通常为ERRORS。
Auto Dependencies自动依赖检查。就是说让MAKE自动检查盘中是否有相应.C和.H文件。
Clear Project清除工程文件名,重置消息窗口。
Remove Messages将错误消息从消息窗口中清除。
Turbo C 2.0使用指南(三)
6. Options菜单
前面我们已经使用过options菜单,可想而知这里主要设置一些集成环境的参数。
Compiler
Model内存模式,不同的内存模式将使用不同类型的指针。
Define宏定义,可用分号“;”划分多重宏定义。
Code Generation代码生成,控制编译器生成怎样的代码。
Optimization优化,可按用户的需要优化程序的代码。
Source源代码,控制编译器如何处理源代码。
Errors错误,让用户可以控制编译器如何处理和响应诊断信息。
Names,我也不知道是用来干嘛的。
Linker
Map File Menu选择映射文件的类型。
Intialize Segments段初始化
Default Libraries设置缺省库表。
Graphics Libraries打开自动查找BGI图形库。
Warn Duplicate symbols打开可使连接器警告在目标及库文件里出现的相同字符。
Stack Warning抑制连接器产生No Strack消息。
Case-sensitive Link是否区别大小写。
Environment
Message Tracking消息跟踪,编译时会跟踪编辑器里的语法错误。
Keep Messages告诉TC是否保存消息窗口内的消息。
Config Auto Save设置为ON时,TC将自动保存对TC所做的设置;否则必须使用Options->Save Options才将改动保存。
Brackup Files打开则会在保存文件时建立备份文件。
Tab Size设置制表符大小,缺省为缩进8个字节。
Zoomed Windows设置窗口为全屏幕。这样的话,编辑窗口或消息窗口都将变成整个屏幕的大小,只有活动窗口是可见的。用F6可以互相切换。
Screen Size设置屏幕大小。
Directories目录设置。(看者云:前面不是已经设置好了吗?少废话了!)
Arguments在用run->run运行程序时,可在这里加上参数。
Save Options更改好设置以后,一定要在这里保存一下。除非将Options->Environment-> Config Auto Save置为ON。
Retrieve Options这个命令可以重新加载以前保存的配置文件。
Turbo C 2.0使用指南(四)
7. Debug菜单
Debug菜单命令用来完成调试工作。
Evaluate可以测试甚至修改一个变量或表达式的值。注意:表达式不能包含函数调用和宏。
Call Stack用来跟踪当前函数的调用关系,他弹出一个包含调用栈的窗口。
Find Function顾名思义,就是查找函数定义。只有在运行调试时可用。
Refresh Display刷新屏幕。如果编辑屏被你的程序改写了,可以用它恢复。
Display Swapping控制是否在程序运行是切换屏幕。
Source Debugging打开源代码调试。
8. Break/watch菜单
Break/watch菜单用来设置/删除断点或监视项。
Add Watch添加监视项。可以监视一个变量或表达式的值。
Delete Watch删除监视项。
Edit Watch编辑你所监视的表达式。
Remove All Watches删除所有监视项。
Toggle Breakpoint设置或删除断点。如果设置了断点,程序运行到这一行就会停下来。
Clear All Breakpoints清除所有断点。
View Next Breakpoint按设置顺序移到下一个断点处。
Turbo C 2.0集成环境的所有菜单命令已经介绍完了,下面我们将通过一个实例来看看在Turbo C下如何创建你的程序。
Turbo C 2.0使用指南(五)
现在让我们来看看怎样在TurboC中创建程序。我们可以键入tc或tc test进入TC集成环境。在编辑窗中输入我们的程序代码,例如下面这段:
/* just for a testing */
/* print a string "Hello,world!" */
int main(void)
{
char str[]="Hello,world!";
void showstr(char *p);
showstr(str);
return 0;
}
void showstr(char *p)
{
printf(p);
}
代码输入完后按F2来存盘。要进行编译最简单的是按F9用MAKE实用程序,编译并且连接生成EXE文件。此时如果程序中有错误,编译器会在底下的消息窗口给出错误信息(关于错误信息的意思,以后我会再写一篇),光标移到消息条上,按ENTER或F6可回到编辑窗再修改程序。
我们可以通过设置断点和监视项来调试程序。将光标移到第5行,按ctrl+F8即可在这里设置断点。将光标移到第7行的str上,按ctrl+F7可添加监视项监视str的值。
然后按ctrl+F9运行程序。由于刚才在第5行设置了断点,程序运行到第6行就会暂停,要再按一次F9才继续。从watch窗口中,我们可以看到str: "Hello,world!",这是str当前的值。如果str的值改变,这里的显示也会跟着改变。
我们还可以按F8或F7单步执行程序。我们来让程序运行到第7行,这时你就可以发现F8和F7的区别了。F8将执行完第7行的指令后,光条直接移到了第8行,也就是说它跳过了函数showstr()。而F7会从第7行跳到第10行而进入函数showstr()内部。请注意,F7只能进入当前编辑文件中定义的函数,而且不能进入库函数。
当然还有再复杂的用法,但我就不是很会了。
希望这些对一些新手有用。
stable diffusion实战技巧
实战技巧#
本指南快速介绍如何合理调整参数以达成目的效果。AI 处理细节与多人物时,若逐一处理则光影结构易乱。修图或重画为佳,但绘制背景与制作预览同样实用。
核心逻辑包括缩小预选数据范围、调节提示词在消极与积极之间的方向,并利用部分语法控制提示词效果强度与起效过程。
灵感表#
角度包括人物、表情、头发、眼睛、衣着、状态、姿势、镜头位置、场景、广狭选择、光影、背景主体、人物事件地、数据限定、绘画类型、评价限定、联想元素、3D/2D、事件、缩写词、SFW/NSFW、出品公司、作品品牌。
画作焊接!#
使用在线工具 PaintHua-无限外延画布,连续焊接作品,操作便捷。启动命令加--api参数,打开网页即可使用。
GitHub并不支持任意模型图像外延,因它们非Inpaint模型(Stable Diffusion有专用Inpaint模型)。
遏制风格污染#
在生成时,将主体作为重点而非风格。在WebUI中,将style改为[style:10],直到第10个step渲染提示词。[x:10]告诉稳定扩散渲染提示词直到10步,基本图像形成后,风格不污染主体,像是对现有图像进行IMG2IMG。
尺寸选择#
尺寸影响主题选择,代表类别(如竖屏人物、横屏风景、小分辨率表情包)。提升画质可采用成熟技术如waifu2x。
视角#
推荐使用Danbooru含有的术语。引用于日本Wiki,作者不明。参数解释包括极端特写、头像、证件照、半身、无腿、无脚、全身等。
噪声#
分类包括粗糙、波浪、模型训练不均匀、冲突、彩虹混乱。处理方式视具体问题调整step、权重或分辨率。
尺寸问题#
大尺寸输出扭曲需开启Highres Fix选项或使用小分辨率+超分方法。
动漫风格#
使用anime coloring使作品像动漫截图。提供32种风格化prompt介绍。
优化作品#
审视目标标签,移除冲突消极提示以提升效果。调整顺序与语义偏移防范。
彩虹混乱图、波浪噪点图#
问题源于生成分辨率低或权重设置高。需适当提升step或风格提示改善。
抠图#
抠过的图背景变黑,建议填色后操作。粗糙噪声需提升step。
分割线#
加入comic、2koma、3koma、4koma collage等消极提示可改善。
跨领域术语#
核心逻辑缩小数据范围,使用摄影、绘画术语控制效果。使用运动名词创造特效。
迭代草图#
草图优化AI绘画,注意不是二次元。初次迭代步骤少,Denoising 0.3-0.4。最后迭代增加步骤,不超过0.8。
多人物/宽幅单人物#
推荐草图+IMG2IMG,宽幅画作单人物生成需打草图、色彩涂抹。多人物使用草稿或3D排列。
手掌修复#
使用inpaint,将手相关提示放在前面,调整降噪(0.25以下)。全分辨率修复,仅提示手部问题。
同人物&差分#
使用Img2Img,准备色彩3D母本模型,确保一致性。采用多提示词限制内容,挑选可用作品。
复刻#
需相同seed、参数及尺寸,微调模型几乎无法复刻。自欺式复刻:降噪至0.3以下。
背景设计#
处理饱和度高的照片,使用anime coloring增强动漫风格。
图标制作#
提供链接。
表情包生成#
使用积极词汇,效果很好。提供高质量表情包prompt。
消极词汇#
明确列出避免的负面描述。尺寸要求正方形。
立绘制作#
分享StableDiffusion/NOVELAI辅助角色立绘设计指南。链接提供。
修改画作#
使用WebUI改画或手动添加元素。注意IMG2IMG与Inpaint区别。保持尺寸接近原图,裁切后调整大小。
Masked Content#
确定修复前放置到遮罩区域的内容,AI参考内容与偏离度调整。
变动元素#
通过抠图、贴图或PS辅助解决。AI可嫁接其他成图解决问题。
基于原图微调#
使用Inpaint去除/替换,描线、打色块,选择较低去噪强度,使用Img2Img Inpaint修复,调整直至满意,超分去除纹理。
修复绘画技巧#
使用PS软件增删元素,AI可接受其他成图嫁接。提供不同参数效果对比图。
ImageJ实用技巧——Sholl Analysis(二)(插件篇)
在进行Sholl Analysis时,处理未追踪的神经元是常见的需求。本文将指导您如何进行这一过程,以及分享一些关键技巧和注意事项。
首先,了解Sholl Analysis插件的位置:它位于Fiji的Neuroanatomy插件目录中,需通过更新站点安装。Sholl Analysis作为ImageJ的一个独立插件,可以通过菜单“Analyze-Sholl-Deprecated-Sholl Analysis…”访问,或在搜索框中直接搜索。
对于2D神经元,确保将其转换为8位图像是必要的步骤。直接运行Sholl Analysis插件时,会提示图像格式不匹配。为此,需要对原始进行阈值设定或二值化处理,通过“Image-Adjust-Threshold”或“Process-Binary-Make Binary”实现。
在进行阈值设定或二值化后,使用“Image-Adjust-Threshold”或“Process-Binary-Make Binary”操作,确保神经元与背景得到有效分离。这一步骤对于后续分析至关重要,因为它确保了计算同心圆与神经元交点时的准确性,避免了与背景的交点计算。
接着,使用直线工具在中设定起始点(胞体)和终止点(最大半径),以便为Sholl Analysis插件提供引导信息。完成设定后,打开Sholl Analysis,进入初始化设定界面。
在界面中,调整参数时,只需关注红框内的选项。特别注意的是“Radius step size”(同心圆步长),选择零值将产生连续的同心圆。确保步长小于最大半径,并根据需要进行调整。同时,勾选“Create Intersections mask”和“Overlay sampling shells and intersection points”选项,以获得直观的分析结果。
点击“ok”后,Sholl Analysis将生成一系列图表,其中包含关键信息:
交点数据表格与拟合图像:表格数据可导出为.csv文件,用于后续图表制作。分支状况曲线展示交点数随距离圆心距离的变化。
Sholl Intersection Mask:颜色变化代表分支变化。
Overlay Sampling Shell and Intersection Points:同心圆与神经元交点一目了然,步长为10 pixels。
在执行Sholl Analysis过程中,请留意以下注意事项:
选择合适的步长:避免过大以减小误差,但当背景包含过多小杂质时,适当增加步长有助于减少与背景的交点。
减少非特异性相交点:通过调整阈值或使用笔刷工具擦除背景中的小点,以减少背景干扰。
选择合适的方法:若背景过高,建议先手动追踪神经元,再进行Sholl Analysis,以完全去除背景的非特异性交点。
若在使用ImageJ时遇到问题,可以私信或发邮件至“zhaoyc9@163.com”寻求帮助。更多教程和资源可关注专栏。
希望本文提供的指南能帮助您高效地完成神经元Sholl Analysis过程,实现准确的数据分析。
效率工具评测系列:如何搞定一个网页或文档的超长截图?
有时,我们想保留一个网页截图,用于转发或者作为资料归档。网页页面内容太长时,使用普通的截图工具无法一次性截图,有许多小伙伴的操作是一屏一屏的截取然后再自己拼接成一张长长长图,这样不仅浪费时间还容易遗漏或出错。这里有几种方法可以立即搞定!
桌面浏览器的「长截图」
360浏览器:点击右上角「三条横杆」,点击「保存网页为」即可。
也可以在键盘上直接按下快捷键「Ctrl+M」,然后选择保存的「类型」点击确定,即可完成网页长截图。
Firefox:使用Firefox浏览器可以在右上角看到同一个「裁剪」的图标,点击选择需要截图的区域即可。
如果没有在浏览器右上角看到「裁剪」图标,可以先点击如图的按钮然后选择「屏幕截图」,就会在右上角最后看到「裁剪」图标。
Chrome:如果使用Chome浏览器时,会发现不能直接截图。火箭君有个极客方法,希望能帮助大家。
打开Chome浏览器,按下F12,PC使用快捷键 Ctrl+Shift+P,(Mac 就使用Command+Shift+P)。
在弹出的窗口输入「screenshot」,可以看到三个截图选项:选择对应的截屏方式即可,亲测有效, 如果找不到 screenshot 相关命令,请更新到最新版的 Chrome即可。
手机端长截图应用Tailor
、最智能的长截图工具。用它制作长图实在太easy了。
Step1: 打开需要截图的软件,滚动页面,然后直接截图。
不过要注意的是,每次截图的时候要做到两张图直接保有一定的重复部分。
Step2: 打开Tailor, 完成
截完图之后,打开Tailor,刚才的截图自动变成为了一张长图。不需要你选择,不需要你排顺序,不需要你拖拽,Tailor傻瓜式的帮你搞定了拼出了一张长图。
另外第一次安装Tailor后,它还能一次性搜索你相册中可能需要拼出长图的,并一一展示给你看。
Picsew
Picsew是一款长截图和创图拼接应用。
其它App
有些App可以滚屏截图,但不是很稳定,我们决定再观望一下,如果合适的话,我们会在以后的文章里分享给大家。
最后,如果我们不是执着于把网页截取为的话,办法还有很多。
最常见的其它办法可以有:
桌面端打印网页为 PDF
这些额外的网页保存手段,目前在主流的手机或桌面端几乎都能被支持(手机可以通过「共享」或「发送到……」选项)
注释:以上是作者原文。
在工具之外,如果你对效率方法感兴趣,推荐阅读 ⬇️
效率方法论
译知识管理和生产力工具的「安慰剂」?
项目管理方法论:是时候抛弃对「个人项目管理」cult 的盲目崇拜了译
知识管理方法论:「信息囤积症」的速救指南
知识管理系统:什么是 Zettelkasten 笔记法?传说中「卡片盒子法」?译
效率方法论:进入「心流」的实用技巧,不考虑一下吗?
译在过去12年里,我的生产力App就是一个简单的 txt 文件
译如何做一个行之有效「待办事项」清单
效率工具箱
除了待办、日历等工具,最常见的效率工具可能便是可以作为知识库的编辑器·文档·笔记软件。
已有选择很多,如何选择合适的工具?
目前,离线本地文档、在线文档的主要代表便是 Obsidian、Notion.
访问:➡️ Obsidian
访问:➡️ Notion
具体参见
Notion 免费开源替代
这类工具理念很好,不过多数完成度不是很高。建议测试,看是否能满足自己的需求。
国产替代 FlowUs
核心功能:块编辑器+多维表格。
其他功能⬇️
➡️ 访问: FlowUs 息流 - 新一代生产力工具 ⬅️
具体介绍如下
最后,关于组件世界 ⬇️
组件世界 Widget Store
一个服务于Notion 类产品、双链笔记类产品等文本编辑器的可嵌入式小组件库。
访问 ⬇️
组件世界/WidgetStore
深入浅出西门子人机界面目录
深入浅出西门子人机界面目录介绍全面
本文将带你深入了解西门子人机界面(HMI)的全面知识,从基础概念到高级功能,逐章节解析,让你轻松掌握。
第1章 SIMATIC HMI概述
本章首先对SIMATIC HMI进行概述,介绍其产品特点和应用领域。
第2章 WinCC flexible安装
详述了WinCC flexible的安装流程,包括系统要求、安装步骤以及常见问题解决方案。
第3章 WinCC flexible入门
从首次使用到常用操作,本章全面介绍了WinCC flexible的基本操作,帮助用户快速上手。
第4章 组态项目
本章详细讲解了如何创建和管理项目,包括单设备项目、多设备项目、版本转化和项目文件管理。
第5章 画面组态
深入探讨了画面的基本概念、创建、属性设置、对象组态等,为用户提供直观的操作指南。
第6章 建立通讯
讲解了计算机与HMI设备、HMI设备与控制器(PLC)之间的通讯设置,以及项目调试。
第7章 组态报警
全面解析了报警系统的配置方法,从报警类型、组态方法到显示与记录设置,一应俱全。
第8章 用户管理
介绍了用户管理的原理、编辑器使用、安全设置以及数据的导入导出,确保系统高效运行。
第9章 组态报表
详细阐述了报表系统的构建,包括常规属性、配方报表、报警报表、项目报表的组态。
第10章 配方组态
讲解了配方的定义、结构、数据传输以及组态和编辑流程,为自动化过程提供支持。
第11章 数据记录与趋势
介绍数据记录和趋势分析方法,包括存储位置、创建数据记录、组态历史与实时趋势。
第12章 VB Script脚本组态
提供VBS脚本的使用教程,包括编辑、函数与过程的创建、对象操作和调试技巧。
第13章 多语言项目组态
讲解多语言项目的构建方法,包括语言结构、文本翻译、编辑器使用和项目导出。
第14章 全集成自动化应用
介绍全集成自动化概念及其与WinCC flexible、STEP 7的集成方法,以及网络路由、变量组态等。
第15章 高级选件
分析了WinCC flexible的高级功能选件,如FDA验证Audit、Sm@tAccess和Sm@rtService,提供专业解决方案。
第16章 WinCC flexible 移植
提供WinCC flexible的移植指南,帮助用户在不同环境间高效迁移。
附录
包含补充信息、术语解释、FAQ等,为读者提供更多实用资源。
扩展资料
本书主要介绍了西门子公司的现场操作员面板及其组态软件WinCC flexible 2007中国标准版。内容涉及实际工程中可能应用的各个方面,包括组态变量、传送和下载、安装与调试、用户管理、多语言组态、趋势和数据记录、报警组态、生成报表、脚本编程、远程访问和控制、全集成自动化应用等,在内容讲解上,本书尽可能做到了细致和详尽,并且辅以各种简单的例程,使读者能够在短时间内掌握WinCC flexible。随书光盘不仅包含书中用到的各种例程和常见问题汇总,还提供了Wincc flexible 2007中国标准版这一组态软件及用户手册。
如何使用 Xcode 的 FileMerge 工具比较文件
经常被忽视的 Xcode FileMerge 应用程序可让您发现两个文件之间的更改。以下是使用该工具发现差异的方法。
大多数 Apple 软件开发人员都熟悉 Apple 的集成开发环境 (IDE)?
Xcode
但是,Xcode?
中
捆绑了几个实用程序应用程序,这些应用程序经常被忽视。
这些是:
辅助功能检查器创建 ML文件合并仪器现实作曲家专业版其中一些应用程序(如 Reality Composer Pro 和 Create ML)是新的,但一个实用程序?
FileMerge
已经存在了几十年,并且是 OpenStep 的一部分——OpenStep?是史蒂夫·乔布斯的另一家公司 NeXT 在 1990 年代初创建的原始开发人员工具。苹果在1997年收购了NeXT,其软件和操作系统(NeXTStep)变成了今天的macOS、iOS和Xcode。
Xcode 的“应用程序”文件夹中的应用程序。事实上,Xcode 的 FileMerge 是当今为数不多的从原始 NeXTStep 中幸存下来的应用程序之一,它几乎没有变化。
FileMerge最初是作为开发人员比较和合并源文件的工具而创建的,但它也可以在大多数纯文本(.txt)文件上运行良好。
NeXTStep 中的原始 FileMerge 应用程序。访问 FileMergeFileMerge 位于 Xcode 应用程序包中名为“Contents”的文件夹中名为“Applications”的子文件夹中。因此,Xcode bundle 中 FileMerge 的路径为:
Xcode.app/Contents/Applications/FileMerge.app
有两种方法可以访问 FileMerge:您可以通过从 Xcode 中的 Xcode-Open Developer Tool-FileMerge 菜单中进行选择,也可以在 Finder 中打开 Xcode App 捆绑包本身,打开 /Contents/Applications 子文件夹,然后将 FileMerge 拖到 Dock 以创建快捷指令。
要打开 Xcode 的捆绑包,请在 Finder 中按住 Command 键并单击?Xcode 图标,同时按住 Mac 键盘上的?Command?键,然后从生成的弹出菜单中选择“显示包内容”:
在 Finder 中打开 Xcode App 捆绑包。术语“包”和“捆绑包”在 macOS 中是同义词。捆绑包只是设置了特殊位的文件夹,用于告诉 Finder 它们包含可执行代码。
您还可以按住 Command 键将?FileMerge 应用程序从 Xcode 的“应用程序”文件夹拖到 Finder 的桌面上,方法是按住 Mac 键盘上的这些键,单击 Xcode 应用程序文件夹中的应用程序图标,然后拖到桌面。这将在桌面上创建指向 FileMerge 的别名快捷方式。
从 Xcode 的“打开开发工具”菜单中打开 FileMerge。如果 Xcode 图标本身位于 Finder 的 Dock 中,您可以按住 Command 键并点按它,然后从弹出式菜单中选择“打开开发工具”-“文件合并”菜单项以打开“文件合并”。这与直接从 Xcode 中打开它的效果相同。
这些方法中的任何一种都可以打开 FileMerge 只是不要从 Xcode 捆绑包中删除应用程序本身,否则可能会损坏 Xcode 应用程序的完整性。
从 Dock 打开 FileMerge。使用 FileMerge一旦 FileMerge 打开,它的界面就变得轻而易举了:你会看到一个带有两个级别的小窗口,一个用于要比较的原始文件(“左”),另一个用于较新的文件(“右”),它们应该是相同的,但包含一些与原始文件相比的变化。这两个文件都应该是纯文本文件来比较差异,但您可能会发现 FileMerge 也适用于其他一些有限类型的文本文件。
FileMerge 无法处理大多数编码的文本文件,因此最好在纯文本上使用它。如果您尝试将编码文件与 FileMerge 进行比较,您可能会收到一条警告,警告您“文件不是 ASCII”,并询问您是否要继续。
如果您选择继续,它将比较文件,但您只会看到通常毫无意义的编码比较:FileMerge 不知道如何解码大多数文件。
ASCII
是美国信息交换标准代码
的首字母缩写词,是一种古老的基于罗马的语言文本的 8 位编码。此后,ASCII 已被?
Unicode
取代,这是一种 16 位文本编码,因为它支持其他语言(例如亚洲和阿拉伯语)中的多字节字符,这些语言具有更大的字符集和特殊字符。尽管 Unicode 现在是当今计算机上文本编码的全球标准,但在日常使用中,您仍然可能会遇到一些较旧的 8 位 ACSII 文件。
下面是 FileMerge UI:
FileMerge 的主窗口。您可以使用 macOS 的标准“打开”工作表单击“左”和“右”按钮,也可以将这两个文件从 Finder 拖到 FileMerge 窗口右侧的左右图像池中。做任何一个都有相同的效果。
在 FileMerge 中设置这两个文件后,您将看到它们在磁盘上的文件路径显示在“左”和“右”按钮旁边的两个编辑字段中。
现在,您可以比较文件了。我们将用一个微不足道的例子来演示。
比较文件在 FileMerge 界面中设置文件后,单击主窗口右下角的“比较”按钮。这将运行 FileMerge 的比较并打开一个包含两个文件的新差异 (diff) 窗口,突出显示每个文件中的更改。
在差异窗口中,原始文件显示在左侧,更改后的(新)文件显示在右侧。更改由彩色条带表示,这些条带随更改文件中文本更改的部分而变化。
FileMerge 的差异窗口。当您滚动浏览文件的文本时,FileMerge 会显示这些非常巧妙的条带,以动画方式显示文本的哪些部分已更改。较大的部分滚动速度较慢,因此相反的文件可以赶上。
如果较新的文件插入了文本块,则会突出显示整个文本块,但其插入点会以相同的颜色显示在另一个文件中,并且从包含插入文本的一侧伸出一条细带。当您滚动差异窗口时,波段会平滑移动,因此您可以看到更改的内容。
对于单行更改或仅更改几行,差异窗口会突出显示具有相似波段但只有几行高的更改行。
差异窗口的中心是一列,其中包含箭头,指示两个文件中的哪个文件包含更改。箭头可以向两个方向运行:向左和向右。您可以通过单击每个更改箭头所在的
中心
列中的更改条带来选择任何单个文本更改。
要选择更改,您必须单击中间列 单击差异窗口左侧或右侧窗格中的更改带不会执行任何操作。每个更改箭头上方都有一个数字,指示文件顶部的更改编号。
如果要比较的文件是任何标准编程语言的源代码文件,则差异窗口还会在左右差异窗格的顶部显示一个弹出菜单。每个菜单都包含文件中的所有函数或方法名称 从任一菜单中选择方法名称将跳转到文件中的该方法。
使用 Ancestor 和 Merge在 FileMerge 窗口的底部,您会注意到一个小注释:“放大窗口以指定祖先和/或合并路径”。
如果单击并向下拖动 FileMerge 窗口的底部,您将看到一个附加界面:
使用“祖先/合并”窗格。此 UI 允许您做的是添加额外的第三个文件以进行三向合并。要隐藏 Ancestor/Merge UI,只需单击并拖动回 FileMerge 窗口底部。
合并更改打开差异窗口后,FileMerge 通过更改带显示两者之间的差异,您可以选择处理每个更改的方式:您可以忽略每个更改,也可以将较新的文本复制到相反的文件(合并),或者您可以删除特定的更改。
您可以使用差异窗口右下角的“操作”弹出菜单来执行这些操作。
菜单上的可能选项包括:
选择左边选择正确选择两者(左边在前)两者兼而有之(首先正确)两者都不选如果选择前两个选项中的任何一个,则将对左侧或右侧的文件进行更改。选择这些选项中的任何一个将决定哪个文件将接收更改。
如果选择“同时选择”选项中的任何一个,则更改将根据左侧或右侧文件中的更改添加到两个文件中。
如果选择“两者都不选”,则该更改的箭头将从中心列中删除,指示将忽略该更改。
无论您从弹出菜单中选择哪个操作,都会进行更改 并且差异窗口中中心列中的箭头会更新以反映新的现实。
另外,请注意,UI 中没有“更改”按钮 当您从弹出菜单中选择操作时,会立即进行更改,而不会出现任何进一步的警告或用户交互。
保存对磁盘的更改使用“操作”菜单在差异窗口中进行所有更改后,您仍然必须将更改保存到磁盘以便保存它们。
与普通的文本编辑器不同,当您从“文件”菜单中选择“文件-保存合并”时,FileMerge 不会自动保存对原始文件所做的更改。这样您的原始文件就可以完好无损地保留,以防您以后想按原样使用它们。
相反,当您选择“文件”-保存合并“时,系统将始终提示您使用标准的”保存“面板,以便您决定要执行的操作 如果您单击与原始左文件相同位置的”保存“按钮,则如果要替换原始文件,则将提升您。如果单击“替换”,原始文件将被覆盖。
或者,如果要将同名的原始文件保存在其他位置,可以导航到该文件,然后单击“保存”按钮,也可以将文件重命名为其他名称,并将其保存在与原始文件相同的位置 这将创建一个具有您选择的名称的新文件。
File-Save Merge As?实际上与 Save 相同,但您需要为文件指定一个新名称,以便创建一个新文件。
使用差异窗口中的“操作”菜单进行更改后,如果您尝试关闭窗口或退出 FileMerge,系统将提示您保存合并。如果您尝试在不保存的情况下关闭差异窗口,系统会提示您是否要保存。
您可以从警报中取消,也可以单击“不保存”以放弃更改。
如果单击警报中的“保存”按钮,则与从“文件”菜单中选择“文件-保存合并”相同。
无论如何,一旦保存了合并,生成的文件现在将包含您在差异窗口中所做的所有更改。如果您没有显式覆盖原始文件,则该文件将保持不变。
目录比较您还可以使用 FileMerge 比较包含文件的两个
文件夹
(目录)。为此,请使用上述技术,但在左/右界面中选择两个文件夹,而不是两个文件。
FileMerge 中的基本文件夹比较功能是检查文件集,以查看它们是否相同、任一文件夹中的文件是否已更改,或者文件是否已添加到任一文件夹或从任一文件夹中删除。
当您点击两个文件文件夹上的“比较”按钮时,FileMerge 会浏览两组文件 比较两个文件夹中包含的所有文件。
生成的文件夹比较窗口显示每个文件夹中文件集之间的差异:
目录比较结果窗口。如果两个文件夹都包含两个同名的文件,则这些文件名将在左侧显示为灰色。如果文件出现在一个文件夹中,但未出现在另一个文件夹中,则其名称将以斜体显示。
单击左窗格中的任何文件名都会在窗格的左下角显示该文件的状态。
您可以在名为“排除”的右窗格下设置要排除的文件夹更改选项。
下面是两个弹出菜单:第一个包含用于查看和比较文件的项目。从此菜单中选择一个项目将执行类似于差异窗口中的“操作”菜单的操作。
另一个名为“合并”的弹出菜单包含用于在两个比较的文件夹之间移动或合并文件的选项。您可以合并文件,选择仅使用左侧或右侧文件,完全删除文件,以及从列表中删除无法比较的任何文件。
“查看”和“合并”项目可能会令人困惑,并且它们违反了 Apple 的人机界面指南,因为当未单击它们时,它们会显示本应是菜单标签的内容:当您单击其中任何一个时,标题“查看”或“合并”会从任一菜单中消失,然后在您松开鼠标时重新出现。
请谨慎使用“合并”菜单。
使用“合并”菜单后,窗口左下角的小状态消息将更新,以反映已更改的内容。请记住,此窗口主要用于在两个比较的文件夹之间合并或移动文件。
在 FileMerge 中搜索、重新比较和重置在 FileMerge 中运行文件比较后,您可以通过滚动查看上述差异窗口中的任何差异,或者您可以使用屏幕顶部 FileMerge 菜单栏中的“查找”菜单。
FileMerge 中的查找可能性包括:
转到下一步转到上一页转到线/差找到查找下一个查找上一页使用选择进行查找跳转到所选内容下一个/上一个选项允许您跳转到下一个或上一个差异、差异窗口左侧或右侧的更改或下一个冲突。冲突是两个几乎相同的文本块,它们都包含更改 因此无法进行精确比较。
您需要自行手动解决冲突。
如果在差异窗口中选择某些文本,然后选择“查找”-“使用所选内容进行查找”,则“文件合并”将打开“查找”窗口,但它会自动将所选文本插入到“查找”搜索字段中。
比较完成后,您可以通过关闭差异窗口,然后选择“文件”“比较文件”将 FileMerge 重置为其原始状态,这将重新打开 FileMerge 主窗口,但上次选择的文件路径仍然完好无损。
您还可以选择“文件”-“重新比较文件”以再次运行上一个比较。如果您对文件进行外部编辑、保存文件,然后希望在更改后重新比较它们,这将非常有用。
FileMerge 设置如果您从 Mac 屏幕顶部的 FileMerge 菜单栏中选择 FileMerge-Settings,您将看到一个 FileMerge 首选项窗口,该窗口允许您为 FileMerge 的工作方式设置各种行为:
自动换行文本显示更改编号显示合并方向在滚动条中显示更改突出差异字体目录比较选项用于比较的过滤器要忽略的文件要在“文件合并首选项”中保存更改,只需进行更改并关闭窗口即可。
“文件合并设置”窗口。几十年来,FileMerge 一直是 macOS 开发者工具的中流砥柱,但它非常有用,一旦您了解了它的工作原理,您可能会发现自己每天都在使用它。它的界面让人回想起软件小巧、简单、快速且易于使用的时代。
相关文章
发表评论