我已經找遍了,我仍然有問題在VS代碼中調試TypeScript。我已經閱讀this線程,但仍然無法打到放置在TypeScript文件中的斷點,點擊.js文件中的斷點都可以正常工作。VS代碼:「斷點被忽略,因爲生成的代碼沒有找到」錯誤
所以這裏是我設置的最簡單的「hello world」項目。
app.ts:
var message: string = "Hello World"; console.log(message);
tsconfig.json
{ "compilerOptions": { "target": "es5", "sourceMap": true } }
launch.json
{ "version": "0.2.0", "configurations": [ { "name": "Launch", "type": "node", "request": "launch", "program": "${workspaceRoot}/app.js", "stopOnEntry": false, "args": [], "cwd": "${workspaceRoot}", "preLaunchTask": null, "runtimeExecutable": null, "runtimeArgs": [ "--nolazy" ], "env": { "NODE_ENV": "development" }, "externalConsole": false, "sourceMaps": true, "outDir": null } ] }
我通過運行tsc --sourcemap app.ts
命令生成了js.map文件。
當我在console.log(message);
行上設置一個斷點並從「調試」選項卡啓動程序(F5)時,斷點呈灰色顯示「由於生成的代碼未找到而忽略斷點(源圖問題? )「。我重視我所觀察的截圖:
我缺少什麼?
編輯:
嗨,我仍然堅持這一點。我設法制作了一個樣例項目,但是在我試圖將該項目複製到硬盤上的其他位置之後,中斷點再次變成灰色,未被擊中。我在這個測試項目中所做的不同之處是通過編譯TypeScript文件並使用tsc app.ts --inlinesourcemap
我將上述示例項目上傳到GitHub,因此您可以看看它here。
我改變了「計劃」:「 $ {workspaceRoot} /app.js「改爲」program「:」$ {workspaceRoot} /app.ts「,但.ts文件中的斷點仍未被命中,只有.js文件中的命中符被命中。 –
你可以按照我在下面的帖子中給出的答案:http://stackoverflow.com/questions/35606423/visual-studio-code-debug-node-js-through-typescript/35608348#35608348從檢查地圖中的路徑開始.js文件。它應該可以幫助您查明問題。 – Amid
從該線程運行示例項目時(https://github.com/7brutus7/stackoverflow)我在.ts文件中得到了一個斷點。不幸的是,我完全失去了該項目的工作原理,而不是我的採樣器項目。 –