考虑此JavaScript代码的格式:
$("#dataTable").jqGrid({
url: base + "products-all",
datatype: "json",
jsonReader: {repeatitems: false, id: "ref"},
colNames:["ID","Product name","Price"],
colModel:[
{name:"id",index:"id", width:40, align:"right", classes:"grid-col"},
{name:"name",index:"name", width:600, align:"left", classes:"grid-col", editable:true, editoptions:{size:25}},
{name:"price",index:"price", width:100, align:"right", classes:"grid-col", formatter:'currency', formatoptions:{decimalSeparator:".", thousandsSeparator: ",", decimalPlaces: 2, prefix: "$ "}}
],
rowNum:5,
rowList:[5,10,20],
height:114,
shrinkToFit: true,
sortname: 'id',
sortorder: "asc",
pager: "#pagingDiv",
viewrecords: true,
caption: "Products"
});
我应该如何在Eclipse中配置JavaScript格式化程序(即Preferences
> JavaScript
> Code Style
> Formatter
)以确保此代码看起来可以接受是否应用了自动格式化( SHIFT + CTRL + F )?我可以让Eclipse将JSON对象的每个字段放在一个新行上,但结果看起来会很混乱。我也可以在每个字段后禁用插入换行符,然后整个对象将在一行中。
是否可以在JSON对象中禁用任何插入/删除换行符?如果不可能,我应该如何处理此代码的自动格式化?
我还有另一个例子:
jQuery("#dataTable").jqGrid(
'navGrid',
'#pagingDiv',
{},
{reloadAfterSubmit:false},
{reloadAfterSubmit:false},
{reloadAfterSubmit:false},
{sopt:['cn','bw','eq','ne','lt','gt','ew']}
);
这是一个方法调用。通常,所有方法参数都应该在同一行中。但在这里,我希望每个论点都在一个新的界限上。如何让此代码通过自动格式化?
更新
我使用 Eclipse Kepler for Java EE Developers 。我认为我的JavaScript编辑器是 JavaScript开发工具插件的一部分,而后者又是 Eclipse Web Developer Tools 包的一部分。
答案 0 :(得分:8)
如果您不想每次都按SHIFT
+ CTRL
+ F
,那么您只需要转到首选项 - > Javascript - >编辑器 - >保存操作
然后选中“格式化源代码”框。
答案 1 :(得分:7)
这个问题没有用,因为即使jQuery也不会被正确验证/格式化!
Eclipse中的JavaScript-Plugin几年后就出现了错误和邪恶。
它不会因为浏览器的无法控制而改变(即有些人需要;
,有些人不需要,有些人有JSON-Notation,有些人不会这样做!我投票支持从Eclipse中删除javascript来清理Eclipse。
答案 2 :(得分:2)
这些选项位于Eclipse首选项中。
要达到它,请按照此说明。
窗口菜单>> 偏好>> 网络>> JavaScript >>的格式化强>
这将为您提供Javascript的活动格式化配置文件。
选择要更改的配置文件并对其进行编辑或制作新的配置文件。 这将为您提供一个新窗口,它将为您提供定义代码格式样式所需的所有选项。
您也可以使用HTML,Java和其他代码执行相同操作。
答案 3 :(得分:2)
类似的问题对Eclipse中的Java(而非JavaScript)代码格式化程序有一个答案here。两个最受欢迎的答案建议使用// @formatter:off
代码和Never join already wrapped lines
选项。不幸的是,Eclipse的默认JavaScript编辑器(我认为它是 JavaScript开发工具 / Eclipse Web开发人员工具的一部分)中没有这些功能。
可能的解决方法是安装Aptana Studio plugin并使用其JavaScript编辑器。此编辑器具有// @formatter:off
功能(有关详细信息,请参阅here)。我没有找到类似Never join already wrapped lines
选项的内容。 Aptana Studio是一个具有许多功能的插件,为了获得新的JavaScript编辑器而安装它可能并不实用。 Aptana Studio允许您编辑JavaScript文件,但如果您在JSP文件中嵌入任何JavaScript代码,它将无济于事。
另一种可行的解决方法是有选择地使用代码格式:您可以选择一个代码块并按 SHIFT + CTRL + F 来格式化仅限特定区块。
如果您正在阅读这篇文章,那么您可能还有另外一个JavaScript代码格式问题:当启用自动换行时,Eclipse会混淆JavaScript代码。可以通过在Maximum line width
字段中添加一个较大的数字来禁用它,如this answer中的解释。