2015-05-20 16 views
12

Sono un neofita del dattiloscritto e sto provando l'ultimo RC di Visual Studio 2015.Visual Studio 2015 RC non crea sourcemap durante il salvataggio del file Typescript

Al momento compila automaticamente il file dattiloscritto e crea il file js sottostante (ben al di sotto del file .ts quando lo si espande) quando salvi il file ts. Tuttavia, non vi è alcun file di sourcemap, quindi non ho mai trovato alcun breakpoint nel dattiloscritto in Visual Studio durante il debug (indipendentemente dall'utilizzo di IE o Chrome canary).

C'è un modo per abilitarlo in modo che generi i file sourcemap su save? Da ricerca intorno sembra un sacco di opzioni del compilatore che utilizzate per essere in essenziali web che si sono spostati o non sono disponibili (ancora?):

Screenshot of old options-dialog

risposta

6

Ho trovato un'alternativa se si va ad aggiungere un nuovo file al progetto, c'è un'opzione di file di configurazione dattiloscritto. Quindi, se si aggiunge un 'tsconfig.json' si ottiene le stesse impostazioni:

{ 
    "compilerOptions": { 
    "module": "amd", 
    "noEmitOnError": true, 
    "noImplicitAny": false, 
    "removeComments": false, 
    "sourceMap": true, 
    "target": "es5" 
    } 
} 

Credo che questo è meglio come sarebbe potenzialmente consentire a più configurazioni per diverse applicazioni dattiloscritto in cartelle differenti. Per il mio progetto l'ho appena inserito nella radice per essere applicato a livello globale.

16

ho scoperto che scaricando il progetto e la modifica il file 'xproj', se aggiungo il seguente codice XML nel nodo di progetto (prima che il gruppo di proprietà contenente 'VSToolsPath'):

<PropertyGroup> 
    <TypeScriptTarget>ES5</TypeScriptTarget> 
    <TypeScriptCompileOnSaveEnabled>true</TypeScriptCompileOnSaveEnabled> 
    <TypeScriptNoImplicitAny>false</TypeScriptNoImplicitAny> 
    <TypeScriptModuleKind>AMD</TypeScriptModuleKind> 
    <TypeScriptRemoveComments>false</TypeScriptRemoveComments> 
    <TypeScriptOutFile></TypeScriptOutFile> 
    <TypeScriptOutDir></TypeScriptOutDir> 
    <TypeScriptGeneratesDeclarations>false</TypeScriptGeneratesDeclarations> 
    <TypeScriptSourceMap>true</TypeScriptSourceMap> 
    <TypeScriptMapRoot></TypeScriptMapRoot> 
    <TypeScriptSourceRoot></TypeScriptSourceRoot> 
    <TypeScriptNoEmitOnError>true</TypeScriptNoEmitOnError> 
</PropertyGroup> 

Questo risolto il problema ei file .map sono stati generati su Save (ordinatamente sotto i file js). Questo mi permette di colpire i miei breakpoint di dattiloscritto in Visual Studio (solo con IE, sfortunatamente).

Un altro effetto collaterale vantaggioso è che ora posso esportare moduli (a causa dell'impostazione 'TypeScriptModuleKind' => AMD).

+2

Hai fatto la cosa giusta. C'è una UI per questo sotto le proprietà del tuo progetto nella scheda Build TypeScript. Se stai utilizzando un tipo di progetto senza progetto (come un progetto web), le impostazioni predefinite sono nelle opzioni della lingua TypeScript nelle impostazioni di Visual Studio. – NYCdotNet

+1

Non sono riuscito a vedere nulla sulle proprietà del progetto (opzioni molto sparse in un progetto Web .NET5 al momento) o opzioni di Visual Studio. Non so se è solo perché la sua release candidate o la mia installazione è iffy. – MIP1983

+1

Non riesco a vedere nessuna di queste opzioni né lo sviluppo di un'app ASP.NET 5 in Visual Studio 2015 RC. Grazie per la soluzione con xproj - salvata la mia giornata! :) –

0

ho trovato un'altra soluzione per i progetti di 4x NET entro https://github.com/Microsoft/TypeScript/issues/5001:

Commutazione certa regolazione a caso sulla scheda dattiloscritto Costruire (con "generare mappe di origine" abilitato) nelle proprietà del progetto aggiunto nuove linee di configurazione dattiloscritto al progetto file, (finalmente) risultante nelle mappe sorgente generate sia su salvataggio che su (progetto) build.

Problemi correlati