2016-12-29 172 views
10

我喜歡vim和想用它做web開發,雖然我很努力建立我.tern_project文件,我需要做的自動完成正確的庫保管。我對JavaScript相對來說比較新,但到目前爲止,使它更容易學習。搞清楚Vim的自動完成功能的JavaScript庫與TernJS在.tern_project文件

我找不到很多例子,我試圖讀取documentation,但我不知道它有幫助。到目前爲止,我.tern_project文件看起來像這樣:

{ 
    "libs": [ 
    "browser", 
    "ecma6" 
    ], 
    "plugins": { 
    "requirejs": { 
     "baseURL": "./", 
     "paths": {} 
    } 
    } 
} 

我真的不知道是什麼插件做,但我留在了現在,在庫的ecma6真的幫了我所有的陣列方法(即。 forEach等)。現在我的問題是如何添加像console.table()自動完成的東西?

我需要哪個庫添加到.tern_project文件?

而且,我願意爲更好的Web開發環境的建議。

+1

完成(「自動」或不)是**不是**學習/探索工具,你有這方面的文檔。 – romainl

回答

21
  • 在這一點上,你所有的都是tern的默認完成!你.tern_project不會對完井是燕鷗暗示任何影響,因爲燕鷗的配置文件是.tern項目;它短跑沒有強調。所以首先重命名它。

    .tern項目是一個JSON配置文件,告訴燕鷗什麼完工量應該通過兩個特性表明:插件


  • 插件沒有從他們告訴燕鷗也建議這些完井你除了庫指定太大的不同。

    例如在.tern項目文件你選擇使用requirejs插件。所以如果你使用requirejs library這是一個模塊加載器,並且有助於編寫客戶端模塊化代碼,那麼它將完成其他模塊的變量,函數和方法。


  • 控制檯是一個節點的全局。並完成節點的東西,你應該添加節點插件。所以你.tern項目文件應該是這樣的:

    { 
        "libs": [ 
        "browser", 
        "ecmascript" 
        ], 
        "plugins": { 
        "node": {} 
        } 
    } 
    

    注意,我已經代替ecma6使用ecmascript。在以前的版本中燕鷗有ecma5ecma6庫,但在最新版本的這兩個在一個名爲lib中得到了結合:ecmascript。可燕鷗的

列表

  • 瀏覽器
  • 的ECMAScript
  • jQuery的
  • 反應
  • 強調

你總是可以從可用燕鷗的tern js repository defs directory

名單得到庫的更新列表插件

  • CommonJS的
  • complete_strings
  • doc_comment
  • es_modules
  • 節點
  • requirejs
  • 的WebPack

你總是可以得到的插件從tern js repository plugin directory

的更新列表作爲你的JavaScript技能成長去添加和使用庫和插件打,看看落成你得到。另請注意,您可能有多個.tern-project文件。 Tern將始終向上搜索根目錄並使用最接近的目錄。所以你可以在項目的基礎上配置完成。

+2

很棒的回答。這是我在tern-project文件中看到的最多信息(實際Ternjs.net網站的外部)。謝謝。 – adeluccar