如何一次性格式化Eclipse项目中所有JavaScript文件?
解决Eclipse里JS文件没法用「Source->Format」格式化的问题
先搞明白:「Source->Format」到底管哪些文件?
Eclipse的这个格式化功能不是所有文件都认的,能不能生效主要看这几点:
- 你的文件类型有没有和支持格式化的编辑器绑定(比如JS得用专门的JavaScript Editor,而不是纯文本编辑器)
- Eclipse的内容类型配置里,这个文件是不是被标记成可格式化的源代码
- 如果是批量格式化整个项目/文件夹,还要看格式化器设置里有没有把这个文件类型加入允许列表
你说XML能格式化但JS不行,大概率是JS文件的编辑器关联或者内容类型没配置对,和项目类型的关系其实没那么大——当然项目facet里的JS勾选是基础,你已经确认过这点了,那咱们直接解决问题。
不依赖项目类型的解决办法
办法1:先给JS文件绑定正确的编辑器
- 随便找个.js文件右键,选「Open With」->「JavaScript Editor」(要是没这个选项,说明你得先装JS开发工具插件,后面会说)
- 用这个编辑器打开后再点「Source->Format」,要是能格式化,那就是编辑器关联的问题。可以把它设成默认:
- 打开「Window->Preferences->General->Editors->File Associations」
- 找到
.js类型,把「JavaScript Editor」移到最上面设为默认,以后打开JS文件就自动用这个编辑器了
办法2:批量格式化所有JS文件(不管项目类型)
想一次性搞定所有.js文件?用搜索+批量操作就行:
- 点「Search->File Search」
- 「Containing text」留空,「File name patterns」填
*.js,选好要搜的范围(比如整个工作区) - 搜出来后全选所有结果(Ctrl+A),右键选「Source->Format」—— 这次只会格式化选中的JS文件,不会碰XML或者其他类型
办法3:检查你的自定义JS格式化器配置
- 打开「Window->Preferences->JavaScript->Code Style->Formatter」
- 确认你自己做的格式化器已经设为「Active profile」
- 点「Edit」进配置页,切换到「General」标签,确保「Enable formatting for JavaScript files」是勾上的
- 也可以看看配置里有没有什么规则排除了某些JS文件,比如特定目录或者命名的文件
办法4:确认JS开发工具插件装好了
你用的是Enterprise Java版Eclipse,默认可能没装全JS相关的插件:
- 点「Help->About Eclipse IDE->Installation Details」,在「Installed Software」里搜「JavaScript Development Tools」
- 要是没找到,就去装:
- 打开「Help->Install New Software」,选2019-03对应的更新站点(比如
http://download.eclipse.org/releases/2019-03) - 找到「Web, XML, Java EE and OSGi Enterprise Development」分类下的「JavaScript Development Tools」,安装后重启Eclipse
- 打开「Help->Install New Software」,选2019-03对应的更新站点(比如
额外要查的小细节
- 右键单个.js文件,选「Properties->Resource->Content Type」,确认它被归类为「Text->JavaScript」,要是被当成纯文本的话,格式化功能也不会生效
- 如果是Maven/Gradle项目,有时候构建工具会覆盖Eclipse的配置,可以右键项目选「Maven->Update Project」或者「Gradle->Refresh Gradle Project」刷新一下配置
内容的提问来源于stack exchange,提问作者Cold_Class




