3

Использование кода Visual Studio, когда я установил точку останова в моем .ts-файле, он не попал. (И не красный, когда я отлаживаю).Контрольные точки кода Visual Studio в машинописных текстах

Однако, если я установил точку останова в скомпилированном JS, то он меняет меня на ts-файл при прохождении кода. И тогда все точки останова в моем .ts-файле начинают работать.

Есть ли способ, чтобы получить .TS контрольные точки файлов просто работать (без необходимости сначала установить один в моих скомпилированных .js файл

ПРИМЕЧАНИЕ: Я посмотрел на этот вопрос: Setting breakpoints in Typescript Jasmine tests with Visual Studio Code и именно моя проблема. Однако ответ на этот вопрос состоял в том, чтобы перейти на VS Code 0.10.9 и TypScript 1.8.2. Я на VS Code 1.8.1 и TypScript 2.1.4.

+0

Вы включили 'sourceMap' на tsconfig.json? – BrunoLM

+0

@BrunoLM - Да. И они, похоже, работают в некоторой степени. Или же точка останова, которую я поставил в файле JavaScript, не сможет заменить меня на файл машинописного файла. – Vaccano

+0

Думаю, у меня такая же проблема. Я предлагаю создать простой проект и попытаться воспроизвести вашу проблему. FYI. Имеется опция ['trace: "all"' (https://code.visualstudio.com/docs/editor/node-debugging), которую вы можете добавить в конфигурацию запуска (она находится в документах, но не отображается в intellisense), что помогло мне немного. Моя проблема, похоже, является ошибкой vsc относительно файлов TS в подкаталогах. Я поднял проблему [здесь] (https://github.com/Microsoft/vscode-node-debug/issues/127). –

ответ

1

Трудно точно знать, что вам нужно чтобы изменить, не видя особенностей вашей установки. Тем не менее, вот некоторые идеи для вас and a demo project. Существует также хороший разговор in this GitHub issue. следующая - минимальная настройка проекта TypeScript, которая работает на моей машине.

.vscode/launch.json Установите program, prelaunchTask, outFiles и sourceMaps свойства.

{ 
    "version": "0.2.0", 
    "configurations": [ 
     { 
      "type": "node", 
      "request": "launch", 
      "name": "Launch Program", 
      "program": "${workspaceRoot}/index.ts", 
      "cwd": "${workspaceRoot}", 
      "preLaunchTask": "tsc", 
      "outFiles": [ 
       "${workspaceRoot}/**/*.js" 
      ], 
      "sourceMaps": true 
     } 
    ] 
} 

.vscode/settings.json Скажите Visual Studio код для использования версии машинописи, что мы установили в нашем node_modules вместо того, чтобы использовать глобальную установку машинописи.

{ 
    "typescript.tsdk": "./node_modules/typescript/lib" 
} 

.vscode/tasks.json Определить команду tsc -p . оболочки, которая является prelaunchTask, что мы определили в launch.json.

{ 
    "command": "tsc", 
    "isShellCommand": true, 
    "args": ["-p", "."] 
} 

index.ts

console.log('foo'); 
console.log('bar'); // a breakpoint here gets hit. 

package.json Установите машинопись локально, чтобы дать нам больше контроля над версией, которую мы используем.

{ 
    "devDependencies": { 
    "typescript": "^2.1.4" 
    } 
} 

tsconfig.json Скажите компилятору генерировать карты источника.

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