2016-03-03 208 views
0

試圖使用Microsoft VS代碼來開發node.js應用程序。 我從決定是否值得努力學習這個新的IDE(對我來說是新的)開始。所以現在我不問node.js完成而是我自己的對象。Visual Studio代碼JavaScript代碼完成

我讀過關於爲不同包添加代碼完成的問題,但我的問題更基本。

我無法獲得我自己的JS對象的代碼完成。 可以說我有這個簡單的目的:

function User() { 
    this.name = ''; 
} 

var me = new User(); 
me. ???? 

試圖讓用戶的name屬性實例它有後時是該對象的屬性沒有代碼完成。

這是我做錯了或是一個基本問題?

要清楚。我正在爲JS對象中構建的node.js類獲取代碼完成。

它內置了一些非常棒的東西,但我找不到解決這個基本問題的方法。

10x

+0

VSCode似乎只能自動填充作爲代碼語法的一部分聲明的關鍵字,而不是其運行時狀態。爲了解釋,'User.state'作爲'this.name ='''是一個運行時動作的結果而存在。相比之下,'me'由於'var me'而在語法上存在,並且不能「有條件地存在」或可能在其他點被刪除。您可以通過爲常用代碼創建TypeScript定義文件來解決此問題(您不一定需要在TypeScript中使用100%) – Katana314

+0

10x @ Katana314 :-) – Erez

回答

2

似乎VSCode沒有檢測到這種模式。如果您使用ES6類:

class User { 
    constructor() { 
     this.name = ''; 
    } 
} 
var me = new User(); 
me. // now proposes name 
+0

非常酷...... 10x – Erez

+1

我發佈了一個問題到[vscode/typescript](https://github.com/Microsoft/TypeScript/issues/7370) –