![](/img/trans.png)
[英]JavaScript simulate keyboard button press CTRL + SHIFT + F in PowerPoint
[英]Eclipse Javascript formatter (ctrl-shift-f)
我不喜歡問這個問題,但我老老實實地一直在尋找一種方法來解決這個問題很長一段時間。
這是一個簡單的問題。 我已經使用NetBeans很長一段時間了,但最近轉向Eclipse的原因有幾點我不打算進入。 無論如何,我發現javascript源格式化行為非常奇怪。
這是我自己格式化的javascript代碼示例塊:
function buildDatabase () {
db.transaction(function (tx) {
tx.executeSql('DROP TABLE IF EXISTS calendar');
tx.executeSql('CREATE TABLE IF NOT EXISTS calendar(id UNIQUE, summary, description, location, startdate, enddate)');
}, function (err) {
document.querySelector('#debugLog').innerHTML += '<p><code>' + err.message + '</code></p>';
});
}
非常簡單的東西。 現在,如果我按Ctrl + Shift + F進行格式化(因為坦率地說這個功能節省了很多時間),原因我無法理解它現在看起來像這樣:
function buildDatabase() {
db
.transaction(
function(tx) {
tx.executeSql('DROP TABLE IF EXISTS calendar');
tx
.executeSql('CREATE TABLE IF NOT EXISTS calendar(id UNIQUE, summary, description, location, startdate, enddate)');
},
function(err) {
document.querySelector('#debugLog').innerHTML += '<p><code>'
+ err.message + '</code></p>';
});
}
為什么要將.transaction移動到新行? 它沒有接近80的線寬。看起來真的很亂。 它也與第二個.executeSql一樣,它仍然沒有正確包裝。 這很奇怪。
現在我當然知道Window> Preferences> JavaScript> Code Style,但無論我在這里做什么都修復了這個問題。 我希望有人有更多的Eclipse經驗,知道出了什么問題。
我安裝了Android Dev Tools和PDT。 但是,此行為預先存在這些插件的安裝。
任何幫助將不勝感激,謝謝。
這個問題可以通過訪問來解決
Preferences > JavaScript > Code Style > Formatter
繼續:
Edit...
,請單擊Edit...
Line Wrapping
選項卡。 Maximum line width
字段中,輸入9999 。 Apply
,然后單擊Ok
。 對於具有超過9999個字符的代碼行,問題再次出現,但我可以忍受。
首選項> JavaScript>代碼樣式>格式化程序>行包裝(選項卡)
取消選中 >> prefer包裝外部表達式(將嵌套表達式保留在一行上)
我有同樣的問題。 我做的是安裝Aptana Studio插件並開始使用它附帶的JavaScript編輯器。 它比WTP附帶的好很多。
根據我的經驗,導致這個問題的是長而不易碎的線條。 很煩人。 嘗試將長字符串常量(如“'CREATE TABLE IF NOT EXISTS calendar(id UNIQUE,summary,description,location,startdate,enddate)'”)放入一個單獨的var中,或者如果它真的讓你感到煩惱,你可以把它分開和+結合。
我試過這個:
function buildDatabase() {
var sql1 = 'CREATE TABLE IF NOT EXISTS calendar(id UNIQUE, summary, description, location, startdate, enddate)';
db.transaction(function(tx) {
tx.executeSql('DROP TABLE IF EXISTS calendar');
tx.executeSql(sql1);
}, function(err) {
document.querySelector('#debugLog').innerHTML += '<p><code>'
+ err.message + '</code></p>';
});
}
我也發現了這一點,這也是我大部分回到NetBeans的主要原因之一。
我沒有解決方案,但我可以給你一些對我有用的一般提示,至少在某種程度上。
而不是像這樣解析參數:
calendar(id UNIQUE,summary,description,location,startdate,enddate)
也許試試
calendar(id
UNIQUE,
summary,
description,
location,
startdate,
enddate)
3.最后你可以嘗試在連接字符串時將+放在一個新行上。
就像我說的,我知道這並沒有解決你的問題,但我認為至少它可能會幫助你,直到一個更好的解決方案出現。
祝你好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.