我很难将eclipse格式化为我的JavaScript。 在第一个示例中,它的行为与预期的一样(不是第二个URL的长度):
每当我有一个更长的网址时,eclipse就会疯狂地格式化我的代码,我到处都会得到额外的填充,如下例所示:
为什么JavaScript格式化程序的行为如此,我该如何解决?
(以防万一:我没有安装任何格式化程序插件,我只使用Eclipse Juno附带的默认设置)
答案 0 :(得分:11)
问题可以通过访问
来解决Preferences > JavaScript > Code Style > Formatter
以下是步骤:
Edit...
。Line Wrapping
标签。Maximum line width
字段中,输入 9999 。Apply
和Ok
。对于超过9999个字符的代码行,问题再次出现,但我可以忍受它。
答案 1 :(得分:10)
示例中的长网址会影响“$ .ajax(...”和“$(function()...”。
对于“$(function()...”,设置在Preferences / JavaScript / Code Style / Formatter / Line Wrapping / Function Calls / Arguments中。'do wrap'可用。
对于“$ .ajax(...”,它类似于Java格式化程序中的'合格调用'。(首选项/ Java /代码样式/格式化程序/行包装/函数调用)不幸的是,JSDT没有UI为此。(首选项/ JavaScript /代码样式/格式化程序/行包装/函数调用)
这是JSDT 1.4.1(WTP R3.4.1)的一个技巧。
workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.core.prefs
org.eclipse.wst.jsdt.core.formatter.alignment_for_selector_in_method_invocation=16
(因为你有自己的个人资料,可能不需要1-5个)
在首选项中编辑格式化程序设置时,将恢复此黑客攻击。 - (为了防止覆盖,您需要做的就是导出格式化程序配置文件,编辑XML并将'org.eclipse.wst.jsdt.core.formatter.alignment_for_selector_in_method_invocation'更改为0.现在再次保存并重新导入。此更改是永久的。
我认为这不能满足您的需求,我猜想使用其他格式化程序(第三方插件)会更好。
答案 2 :(得分:1)
我找到了一个临时解决方案:
转到
Window -> Preferences -> JavaScript -> Code Style -> Formatter
将活动配置文件设置为JavaScript约定。
点击编辑
在Indentation
标签中,将Tab policy
设置为仅限空格。
将Indentation size
和Tab size
都设置为 3 。
由于您无法覆盖默认配置文件,请更改配置文件名称并保存。
按 Ctrl + Shift + F 并享受。
注意:我不喜欢有3个空格,我宁愿选择好的旧4空格,但这是一个临时解决方案,直到有人找到更好的解决方法。我只想分享。
答案 3 :(得分:0)
以下是我发现的内容:在“行换行>函数调用”中,将“缩进策略”设置为“缩进一个”。这会创建缩进,而不会出现过多的空间(或制表符)。我没有用你的确切代码尝试过,但我看到了类似的问题。