2016-06-28 5 views
2

최신 1.2 버전의 vscode와 1.8의 typescript를 실행하고 있습니다. 나는 가능한 모든 조합의 launch.json을 시도해 보았습니다. 'node'와 'chrome'유형 모두를 생각할 수 있지만 아직 vscode 자체 내의 모든 필드를 채우는 조합은 찾지 못했습니다. 대부분 프로그램을 시작할 수 있지만 vscode 자체에서는 디버깅이 수행되지 않습니다. vscode에서 타이프 스크립트 (typcript) 전자 프로그램을 디버깅하는 작업 예제가 있는지 궁금합니다. 아니면 불가능한가요?vscode의 typescript 전자 프로그램 디버그

도움이 될 것입니다.

갱신

지금 전자의 디버그 출력을 제공 vscode 내 콘솔이

- 아직하지만 변수 또는 기타 출력 -이 내 현재 launch.json입니다 :

{ 
    "version": "0.2.0", 
    "configurations": [ 
     { 
      "name": "Debug", 
      "type": "chrome", 
      "request": "launch", 
//   "program": "${workspaceRoot}/src/main.ts", 
//   "program": "${workspaceRoot}/bin/main.js", 
//   "stopOnEntry": false, 
//   "args": [], 
//   "cwd": "${workspaceRoot}", 
      "sourceMaps": true, 
//   "preLaunchTask": "build", 
//   "externalConsole": false, 
//   "outDir": "${workspaceRoot}/bin", 
      "runtimeExecutable": "${workspaceRoot}/node_modules/electron-prebuilt/dist/electron.exe", 
      //"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd", 
      // Optional arguments passed to the runtime executable. 
      "runtimeArgs": [ 
//    "--enable-logging", 
//    "--nolazy", 
       "--remote-debugging-port=9222", 
       "--host-rules='MAP * 127.0.0.1'", 
       "${workspaceRoot}" 
//   ], 
      ] 
      // Environment variables passed to the program. 
//   "env": { 
//    "NODE_ENV": "development" 
//   } 

     } 
} 

답변

0

이 나를 위해 일합니다. 나는 타이프 스크립트를 사용하지 않는다.

{ 
"version": "0.2.0", 
"configurations": [ 
    { 
     "name": "Launch Electron", 
     "type": "node", 
     "request": "launch", 
     "program": "${workspaceRoot}/index.js", 
     "stopOnEntry": false, 
     "args": [], 
     "cwd": "${workspaceRoot}", 
     "preLaunchTask": null, 
     "runtimeExecutable": "${workspaceRoot}/node_modules/electron-prebuilt/dist/electron.exe", 
     "runtimeArgs": [], 
     "env": {}, 
     "externalConsole": false, 
     "sourceMaps": false, 
     "outDir": null 
    } 

내가 "실행 전자"를 선택, 내가 디버그 영역으로 이동, 내 "하는 index.js"에 브레이크 포인트를 넣을 수 있습니다, F5를 쳐서 내 중단 점 hit.I는 vscode (1.2.1을 실행하고있다) on Windows 10,

+1

는 것을 않는 소스지도와 타이프 라이터를 생성 할

electron | - src (source files) | - dist (built files) 

gulpfile.js 작업 메인 프로세스와 렌더러 프로세스를 디버깅 하시겠습니까? 내 문제는 주요 프로세스 만 다루었다는 것입니다. – ehiller

+0

@ehiller, 아니요, 렌더러 프로세스를 디버깅하지 않습니다. – Deilan

5

헤드 뱅이와 Github 티켓 몇 시간이 지나면 주 프로세스와 렌더러 프로세스를 모두 디버그하고 타이프 스크립트를 사용하는 방법을 발견했습니다.

내 응용 프로그램은 다음과 같이 구성되어

: VS 코드에 대한

gulp.task('electron:transpile:ts',() => { 
var ts = require('gulp-typescript'); 
var project = ts.createProject('./tsconfig.json'); 
var tsResult = project.src() 
    .pipe(sourcemaps.init()) 
    .pipe(project()); 

return tsResult.js 
    .pipe(sourcemaps.write('.', { 
     sourceRoot: './' 
    })) 
    .pipe(gulp.dest('./dist')); 
}); 

launch.json :

{ 
"version": "0.2.0", 
"configurations": [ 
    { 
     "name": "Debug main process", 
     "type": "node", 
     "request": "launch", 
     "program": "${workspaceRoot}/src/main.ts", 
     "stopOnEntry": false, 
     "args": [], 
     "cwd": "${workspaceRoot}/dist", 
     "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd", 
     "runtimeArgs": [ 
      "--enable-logging" 
     ], 
     "env": {}, 
     "sourceMaps": true, 
     "outFiles": [ 
      "${workspaceRoot}/dist/**/*.js" 
     ], 
     "internalConsoleOptions": "openOnSessionStart", 
     "console": "integratedTerminal", 
     "preLaunchTask": "build" 
    }, 
    { 
     "name": "Debug renderer process", 
     "type": "chrome", 
     "request": "launch", 
     "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron.cmd", 
     "runtimeArgs": [ 
      "${workspaceRoot}/dist", 
      "--enable-logging", 
      "--remote-debugging-port=9222" 
     ], 
     "webRoot": "${workspaceRoot}/dist", 
     "sourceMaps": true, 
     "internalConsoleOptions": "openOnSessionStart" 
    } 
] 
} 
+1

webpack을 사용 중이고 소스 맵핑이 작동하지 않기 때문에 중단 점을 설정할 수없는 경우를 대비 한 빠른 메모입니다. ' "sourceMapPathOverrides": : 내 경우, 일부 매핑 재 지정을 설정했다 { "웹팩 : ///./*": "$ {workspaceRoot}/렌더러/*" }, ' 렌더러는 렌더러 코드에 대한 소스 코드가 들어있는 디렉토리입니다. '.scripts' debug 명령을 사용하여 어떻게 매핑이 설정되었는지 확인하십시오. –

+0

렌더러 프로세스 추가하기 launch config가 나를 위해 일했습니다! 공유해 주셔서 감사합니다 :) – misaka