Emacs indents my code like this:
var myArray = [
1,
2,
3,
4,
5,
];
Instead of like this:
var myArray = [
1,
2,
3,
4,
5,
];
How can I prevent this?
Mx version gives me: GNU Emacs 23.1.1 (x86_64-pc-linux-gnu, GTK+ Version 2.18.3) of 2010-03-26 on crested, modified by Debian
I'm not able to update my emacs version, unfortunately.
It looks like you are using java-mode
to edit JavaScript code. While Java and JavaScript share enough syntax that this will probably work okay, it is better to use a dedicated JavaScript mode¹.
Emacs includes js-mode
from version 23.2 , which is a reasonably good mode for basic JavaScript editing. If you can upgrade Emacs this is likely your easiest option. You may also be able to install js-mode
(or its predecessor espresso-mode
) on Emacs 23.1. Here is the latest version .
Alternatively, you can use a third-party mode like js2-mode
, which actually includes a full JavaScript interpreter. There is also js3-mode
, which claims to be
A chimeric fork of js2-mode and js-mode
Both js2-mode
and the version of js-mode
built into my Emacs 24.4 indent your sample code exactly as you want:
var myArray = [
1,
2,
3,
4,
5,
];
¹Unfortunately, there is still enough confusion out there that it's worth stating that Java and JavaScript are completely different languages. You probably already know this; I think Emacs actually defaulted to java-mode
for JavaScript code for a while.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.