2016-12-25 59 views
1

我使用Android Studio 2.2.2。我有這樣的代碼:在Android Studio中砍下鏈式方法調用

new StringBuilder ().append ("<script type='text/x-mathjax-config'>").append ("MathJax.Hub.Config({ ").append ("showMathMenu: false, ").append ("jax: ['input/TeX','output/HTML-CSS'], ").append ("extensions: ['tex2jax.js','toMathML.js'], ").append ("TeX: { extensions: ['AMSmath.js','AMSsymbols.js',").append ("'noErrors.js','noUndefined.js'] }, ").append ("});</script>").append ("<script type='text/javascript' ").append ("src='file:///android_asset/MathJax/MathJax.js'").append ("></script>").append ("<span id='math'></span><pre><span id='mmlout'></span></pre>").toString () 

正如你所看到的,它很長,並代表一行。有沒有辦法將其轉換爲這樣的:

new StringBuilder () 
.append ("<script type='text/x-mathjax-config'>") 
.append ("MathJax.Hub.Config({ ") 
.append ("showMathMenu: false, ") 
.append ("jax: ['input/TeX','output/HTML-CSS'], ") 
.append ("extensions: ['tex2jax.js','toMathML.js'], ") 
.append ("TeX: { extensions: ['AMSmath.js','AMSsymbols.js',") 
.append ("'noErrors.js','noUndefined.js'] }, ") 
.append ("});</script>") 
.append ("<script type='text/javascript' ") 
.append ("src='file:///android_asset/MathJax/MathJax.js'") 
.append ("></script>") 
.append ("<span id='math'></span><pre><span id='mmlout'></span></pre>") 
.toString () 

在每一行上面開始與.append(),並只包括其中之一。這更可讀。

注:

  1. 上面的代碼是一個例子,這樣的表現是不是在這裏importatnt。
  2. 我知道我可以去Settings > Editor > General並選擇Use soft wrap in editorUse original line's indent for wrapped parts,但導致一些這樣的事,這是不可讀:

enter image description here

+0

你不能使用StringBuilder,而是使用Freemarker或HTML模板 –

+0

@ cricket_007看起來你建議使用'template engines'。但我想在'Android Studio'中找到一種方法(例如'code reformatting')來爲我做這件事。 – hasanghaforian

+1

編輯器 - 代碼樣式 - Java - 鏈式方法調用。選擇「如果長時間砍倒」和「多行對齊」。或者使用kotlin和它的多行字符串:-)但是你不應該在這裏首先使用StringBuilder。只需使用'+'連接字符串的各個部分即可。獎勵:連接將發生在編譯時而不是運行時。 –

回答

1

編輯器 - 代碼樣式 - 爪哇 - 鏈式方法調用。選擇「如果長時間砍倒」和「多行對齊」。或者使用kotlin和它的多行字符串:-)

但是你不應該在這裏首先使用StringBuilder。只需使用+來連接字符串的各個部分。獎勵:連接將發生在編譯時而不是運行時。

相關問題