2016-10-14 17 views
1

コードをデバッグできている間にtypescriptコードを別のフォルダにコンパイルするにはどうすればよいですか?Visual StudioコードでTypescriptをデバッグし、出力フォルダを別にする

は、私は、ファイルmyapp.tsで最初console.logにブレークポイントを設定したいと仮定します

class HelloTS { 
    public static main(): number { 
     console.log('Hello TS'); 

     console.log("about to exit now") 
     return 0; 
    } 
} 

HelloTS.main(); 

と、次のtsconfig.json

{ 
    "compilerOptions": { 
     "target": "es5", 
     "module": "commonjs", 
     "sourceMap": true 
    } 
} 

ブレークポイントがある限りmyapp.tsmyapp.js、およびmyapp.js.mapとして正常に動作します同じフォルダにあります。

ただし、ソース(src/)と出力(dist/)のフォルダを別々に作成すると、ブレークポイントが機能せず、エラーも発生しません。

私は次の設定をしていますが、正常にコンパイルできますが、デバッグはできません。

.vscode/tasks.json

{ 
    "version": "0.1.0", 
    "command": "tsc", 
    "isShellCommand": true, 
    "args": [ 
     "-p", ".", 
     "--rootDir", "src/", 
     "--outDir", "dist/"  
    ], 
    "showOutput": "silent", 
    "echoCommand": true, 
    "problemMatcher": "$tsc" 
} 

.vscode/launch.json

{ 
    "version": "0.2.0", 
    "configurations": [ 
     { 
      "name": "Launch", 
      "type": "node", 
      "request": "launch", 
      "program": "${workspaceRoot}/src/myapp.ts", 
      "stopOnEntry": false, 
      "args": [], 
      "cwd": "${workspaceRoot}", 
      "preLaunchTask": null, 
      "runtimeExecutable": null, 
      "runtimeArgs": [ 
       "--nolazy" 
      ], 
      "env": { 
       "NODE_ENV": "development" 
      }, 
      "console": "internalConsole", 
      "sourceMaps": true, 
      "outFiles": [ 
       "**/*.js", 
       "**/*.js.map" 
      ] 
     }, 
     { 
      "name": "Attach", 
      "type": "node", 
      "request": "attach", 
      "port": 5858, 
      "address": "localhost", 
      "restart": false, 
      "sourceMaps": true, 
      "outFiles": [], 
      "localRoot": "${workspaceRoot}", 
      "remoteRoot": null 
     }, 
     { 
      "name": "Attach to Process", 
      "type": "node", 
      "request": "attach", 
      "processId": "${command.PickProcess}", 
      "port": 5858, 
      "sourceMaps": true, 
      "outFiles": [] 
     } 
    ] 
} 

答えて

0

私はあなたのlaunch.jsonoutFiles属性があるべきだと思う:

{ 
    ... 

    "outFiles": [ "${workspaceRoot}/dist/**/*" ] 

    ... 
}, 
関連する問題