2016-05-04 5 views
1

mein tscongig.json funktioniert nicht wie erwartet. Ich vereinfacht die Situation zu dieser Struktur in meinem Projekt in VS-Code:tsconfig funktioniert nur bei einer einzigen Datei in VS Code

-a.ts 
-b.ts 
-tsconfig.json 
-def.d.ts 

und die TSconfig enthält:

"files": ["def.d.ts"] 

Wenn ich jetzt auf a.ts bin arbeiten, wird die Intellisense Code Vervollständigung von def.d.ts korrekt. Aber wenn ich zum b.ts wechsle, fehlen die Definitionen. Wenn ich den VS-Code mit aktivem b.ts-Fenster neu starte, sind die Definitionen auf b.ts verfügbar, fehlen aber auf a.ts. Mit anderen Worten, es funktioniert nur mit einer Datei, bis ich das ganze Studio mit einer anderen geöffneten Datei neu starte. Es ist normal? Mache ich etwas falsch?

Vielen Dank für Ihre Ideen!

EDIT: Mein Projekt ist kein reguläres TS-Projekt. Es wird verwendet, um beim Schreiben vieler langer Skripte zu helfen. Die gewünschte Situation ist: * .ts-Dateien "sehen" sich nicht gegenseitig, aber intellisense bietet Definitionen von d.ts an, wenn sie .ts-Dateien bearbeiten. Die aktuelle Lösung ist der Verweis auf D.ts in jeder ts-Datei, was funktioniert, aber es ist nicht so sauber.

+0

Warum geben Sie eine bestimmte Datei an? Ich würde sagen, dass es gut ist, mit der Aufnahme aller Dateien zu beginnen (dies geschieht, ohne "Dateien" zu definieren) und ein Ausschluss-Array zu erstellen. Wenn dies nicht zu Ihnen passt, können Sie auch a.ts und b.ts in Ihr Datei-Array einschließen. –

Antwort

0

Was ich anstelle von Dateien tun, ist die Verwendung exclude statt. Alle .ts-Dateien nicht in exclude werden durch die Intellisense verarbeitet:

"exclude": [ 
    "node_modules", 
    "build", 
    "typings/main", //or typings/browser if you want 
    "typings/main.d.ts", 
    //etc, etc 
] 

Auf diese Weise können Sie ausschließen, was intellisense kein Geschäft hat mit und mit dem Rest gehen.

In Ihrem Fall können Sie einfach ein leeres Exclude-Array lassen, vielleicht mit "node_modules", wenn Sie denken, dass Sie in Zukunft NPM-Sachen verwenden werden.