2012-09-22 62 views
4

代碼:如何讓IntelliJ IDEA使用多行屬性正確縮進xml標籤?

| - 插入符

<element attr1="1" 
     attr2="2" 
     attr3="3">|</element> 

我所期望的壓制後,看到進入:

<element attr1="1" 
     attr2="2" 
     attr3="3"> 
    | 
</element> 

我居然得到:

<element attr1="1" 
     attr2="2" 
     attr3="3"> 
    | 
     </element> 

IntelliJ IDEA的CE 11.1

謝謝你的任何建議!

+0

看看File-> Settings-> Project Settings-> Code Style-> XML。它在那裏看起來好嗎? – Simon

+0

那裏一切都很好。而Code-> Reformat Code也能正常工作(使代碼看起來像預期的那樣)。 – undles

回答

2

這是3年前發佈的一個已知的bug,please vote

+0

投票:-)那麼,有沒有一種方法來解決它?我發現這個問題很煩人... – undles

+0

你無法修復它,使用重新格式化代碼,直到問題解決。 – CrazyCoder

+0

這是否意味着編寫xml時每個人都感覺不舒服?例如,在編寫android佈局時,我花了很多時間來格式化代碼並移動插入符號。我這種情況爲什麼只有4票(與我的,三年)?或者這個錯誤隻影響我?無論如何,謝謝你的解釋! – undles

0

有趣的是,無論是你報告的輸出也不是你想輸出是符合的,在壓痕的XSLT/XQuery規範的規則,這裏

http://www.w3.org/TR/xslt-xquery-serialization/#xml-indent

其中規定:

空白字符不能被添加到 包含非空白字符的文本節點旁邊。

原因是,在這裏添加空白可能很容易使文檔模式無效。

+0

我沒有看到這個陳述違反了什麼地方,你能舉一個正確格式化輸出的例子嗎? – undles

+0

內容已從'「|」'更改爲'____ | ____「,其中'____」代表空格。根據模式,'「|」'是元素的有效值,但「____ | ____」不是。 –

+0

「|」只是我用於插入符號而不是字符的符號。 – undles