Eclipse JavaScript格式化程序疯狂(即:填充太多)

时间:2013-03-01 12:13:27

标签: javascript eclipse code-formatting

我很难将eclipse格式化为我的JavaScript。 在第一个示例中,它的行为与预期的一样(不是第二个URL的长度):

Behaving good

每当我有一个更长的网址时,eclipse就会疯狂地格式化我的代码,我到处都会得到额外的填充,如下例所示:

Behaving bad

为什么JavaScript格式化程序的行为如此,我该如何解决?

(以防万一:我没有安装任何格式化程序插件,我只使用Eclipse Juno附带的默认设置)

4 个答案:

答案 0 :(得分:11)

问题可以通过访问

来解决
Preferences > JavaScript > Code Style > Formatter

以下是步骤:

  1. 创建新的个人资料(因为您无法编辑已建成的个人资料),如果您还没有,请点击Edit...
  2. 打开Line Wrapping标签。
  3. Maximum line width字段中,输入 9999
  4. 点击ApplyOk
  5. 对于超过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)的一个技巧。

  1. 启动Eclipse
  2. 打开首选项/ JavaScript /代码样式/格式化程序
  3. 点击“新建”
  4. 根据需要输入配置文件名称,在列表框中选择“Eclipse [内置]”(或JavaScript约定),取消选中“立即打开编辑对话框”(无需编辑),然后单击“确定”
  5. 关闭首选项并退出Eclipse
  6. 使用文本编辑器打开以下文件 workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.core.prefs
  7. 找到以下行并将16更换为0 org.eclipse.wst.jsdt.core.formatter.alignment_for_selector_in_method_invocation=16
  8. 保存
  9. 启动Eclipse
  10. (因为你有自己的个人资料,可能不需要1-5个)

    在首选项中编辑格式化程序设置时,将恢复此黑客攻击。 - (为了防止覆盖,您需要做的就是导出格式化程序配置文件,编辑XML并将'org.eclipse.wst.jsdt.core.formatter.alignment_for_selector_in_method_invocation'更改为0.现在再次保存并重新导入。此更改是永久的。

    我认为这不能满足您的需求,我猜想使用其他格式化程序(第三方插件)会更好。

答案 2 :(得分:1)

我找到了一个临时解决方案:

  1. 转到 Window -> Preferences -> JavaScript -> Code Style -> Formatter

  2. 将活动配置文件设置为JavaScript约定。

  3. 点击编辑

  4. Indentation标签中,将Tab policy设置为仅限空格

  5. Indentation sizeTab size都设置为 3

  6. 由于您无法覆盖默认配置文件,请更改配置文件名称并保存。

  7. Ctrl + Shift + F 并享受。

  8. 注意:我不喜欢有3个空格,我宁愿选择好的旧4空格,但这是一个临时解决方案,直到有人找到更好的解决方法。我只想分享。

答案 3 :(得分:0)

以下是我发现的内容:在“行换行>函数调用”中,将“缩进策略”设置为“缩进一个”。这会创建缩进,而不会出现过多的空间(或制表符)。我没有用你的确切代码尝试过,但我看到了类似的问题。