自动在 JavaScript 源代码中插入分号的实用工具?

15
我正在使用多个开发者的代码,其中一些人在使用分号时不太一致,我只想将它们应用到每一行以保持一致性(并防止任何错误遮蔽)。
我使用Aptana格式化我的源代码,但据我所知它不会为您添加分号。

你找到方法了吗?你最终做了什么? - S P
6个回答

8

啊...刚刚发现YUI压缩器有一个保留分号选项,它实际上会将分号添加到适当的行中。然后只需要将经过压缩但未混淆的版本发送回aptana格式化程序即可。

如果有人想出更简单的解决方案,请发布。


1
不幸的是,我失去了注释,虽然我可以在一定程度上保护它们或重新添加,但这样会增加更多的工作量。 - Keith Bentrup
我会查看YUI压缩器的源代码,看看是否有绕过这个问题的方法。 - Keith Bentrup

7
我发现谷歌的Closure-Linter非常好用,它似乎是谷歌版的JSLint。

https://developers.google.com/closure/utilities/docs/linter_howto

上述网页不仅解释了如何在计算机上安装它,而且在底部解释了如何运行fixjsstyle,该工具会添加几乎所有缺失的分号以及一些其他小东西。

2
fixjsstyle 工作得非常完美,我认为应该接受这个答案。 - Maurice Flanagan
1
非常好用,而且在 Mac OS X 上比网页上建议的还要更容易:brew install closure-linter - chbrown
1
现在已经废弃了。 - Max
现在已经不推荐使用了,Closure-Linter仓库于2022年12月29日被归档(现在只读)。所以我猜你的结果可能会有所不同。 - mareoraft

6
我使用这个在线格式化工具:http://jsutility.pjoneil.net/(进入格式选项卡,粘贴您的代码并点击“格式化Javascript语句”)。
如您所见,右侧有一个选项:“替换丢失的分号”。
有时,该格式化程序会报告“错误太多”而无法执行任何操作。如果是这种情况,请使用此实用程序压缩您的代码:http://refresh-sf.com/yui/(它也会添加分号),然后您可以回到格式化程序进行解压缩。

2
不解析版本6+的JS。 - Xeverous

5
我建议您鼓励开发人员使用JSLint来提高代码的整体质量。这个工具会根据一组规则查找代码中的问题,当然,它会检测到缺少分号的情况。而且,由于您正在使用Aptana,安装JSLint Eclipse插件相对容易。请参考以下内容:

我建议您鼓励开发人员使用JSLint来提高代码的整体质量。

这个工具会根据一组规则查找代码中的问题,当然,它会检测到缺少分号的情况。

而且,由于您正在使用Aptana,安装JSLint Eclipse插件相对容易。


6
这并不能回答我的问题。我已经知道JSLint和插件了。我的问题是关于一种自动插入分号的方法。 - Keith Bentrup

2
我使用 fixmyjs。它可以作为命令行(CLI)工具使用,也可以作为一些编辑器的插件使用。
它可以自动修复一些 JavaScript 错误,而且不会对代码结构造成破坏。其中一个可用的自动纠正功能就是分号修复。

0
我是一名Flash开发者,在进行谷歌搜索时偶然发现了这个。对于AS(JS的近亲)开发人员,如果你正在使用Adobe Flash Professional(我使用的是CS5),当你编辑一个actionscript文件时,点击“工具”和“自动格式化”。程序会处理剩下的部分。
(再次强调,这个答案是针对ActionScript开发人员的,因为这也是我们经常遇到的问题。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接