-->

Utility to auto insert semicolons in javascript so

2019-03-18 06:05发布

问题:

The question is pretty self explanatory.

I'm working with code from multiple developers. Some of whom are inconsistent in their use of semicolons, and I just want them after every line for consistency (and to prevent any masking of errors).

I use Aptana to format my source code, but it won't add semicolons for you AFAIK.

Thanks.

回答1:

Ah ... just discovered YUI compressor has a preserve semicolons options that will actually add the semicolons to the appropriate lines. Then it's just a matter of sending the minified, unmunged version back thru the aptana formatter.

If someone comes up with a simpler solution, please post.



回答2:

I use this online formatter: http://jsutility.pjoneil.net/ (go to Format Tab, paste your code and click on: "format Javascript statements").

As you can see, there is an option to the right: "replace missing semicolons"

Sometimes, that formatter will report "too many errors" and won't do anything. If that is the case, compress your code with this utility: http://refresh-sf.com/yui/ (which will also add semicolons) and then, you can go back to the formatter to uncompress it.



回答3:

I found Google's Closure-Linter, which seems to be Google's version of JSLint, to work extremely well.

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

The webpage above not only explains how to install it on your computer, but at the bottom it explains how to run fixjsstyle which adds almost all missing semicolons as well as some other little things.



回答4:

I would recommend you to encourage your developers to use JSLint to improve the overall quality of your code.

This tool will look for problems in your code based on a set of rules, and of course, it will detect missing semicolons.

And since you are using Aptana, is fairly easy to install the JSLint Eclipse Plugin.



回答5:

I use fixmyjs. It's available as a CLI and as a plugin for some editors.

It automatically fixes some JavaScript errors in a non-destructive way. The semicolon fix is one of the available auto corrections.



回答6:

I'm a Flash developer, and I stumbled across this while running a Google search. For fellow AS (a JS cousin) devs, if you're using Adobe Flash Professional (I'm using CS5), when you're editing an actionscript file, click "Tools" and "AutoFormat". The program will take care of the rest.

(Again, this answer is for ActionScript developers, as this is a common issue for us as well. Please don't downvote for irrelevance to JS.)



回答7:

JSCS is a linting tool that has a fix option to automatically fix linting issues including missing semicolons.



回答8:

I think a very important question here is "why?". Seriously, if it's not causing any problems (which it doesn't), then who cares? Yes, I agree that semicolons in Javascript should be required, but they're not, so it's not going to cause any errors. If you feel strongly about this (as I would too), educate your fellow developers about why they should care and solve the problem, rather than employ a hacky script to alter their code.