我想对使用 Visual Studio Code 打开的项目强制执行 TS Linting。 文档说您可以提供工作区的扩展建议列表,但是如果我们不使用工作区而只打开项目文件夹怎么办?有没有办法提示打开项目的用户安装TS Lint?
我尝试使用以下内容创建 .vscode\extensions.json:
{
"recommendations": [
"eg2.tslint",
]
}
Run Code Online (Sandbox Code Playgroud)
任何反馈都会有所帮助。
我遇到过几种情况,我试图通过命令行使用命令,但无法识别该命令。我已将其范围缩小到环境变量的问题。在每种情况下,当我使用底层 C# 方法检索变量时,变量存在,但不使用速记 $env:myVariable
例如,如果我像这样检索变量,我将得到一个值。
[Environment]::GetEnvironmentVariable('ChocolateyInstall', 'Machine')
Run Code Online (Sandbox Code Playgroud)
但是,如果我像这样检索变量,则不会返回任何内容
$env:ChocolateyInstall
Run Code Online (Sandbox Code Playgroud)
然后我必须做这样的事情才能让我的命令工作。
$env:ChocolateyInstall = [Environment]::GetEnvironmentVariable('ChocolateyInstall', 'Machine')
Run Code Online (Sandbox Code Playgroud)
我一直无法找到一个很好的解释来解释为什么我必须这样做。我看过这个文档,但对我来说没有什么特别之处。理想情况下,我想安装一个 CLI,然后不必处理检查和分配环境变量以使命令工作。
我们的项目目前正在使用 jest 进行 Angular 测试。我们使用 jest-preset-Angular 并将其配置为在 Visual Studio Code 中以调试模式运行。调试工作正常,只是它首先将 spec.ts 文件转换为 JavaScript。这意味着断点通常不在我想要的位置,因为文件已从 TypeScript 转换为 JavaScript。
如何配置我的项目,以便可以在 Visual Studio Code 中将测试作为 Typescript 进行调试?
我尝试过将 Karma 与 Jest 一起运行,因为在浏览器中进行调试的 Karma 体验要容易得多。然而,测试中存在如此多的 Jest 依赖项,这也是一个挑战。
launch.json
{
"name": "Tests",
"type": "node",
"request": "launch",
"program": "${workspaceRoot}/node_modules/jest-cli/bin/jest.js",
"stopOnEntry": false,
"args": ["-i", "-o"],
"cwd": "${workspaceRoot}",
"preLaunchTask": null,
"runtimeExecutable": null,
"env": {
"NODE_ENV": "test"
},
"console": "integratedTerminal",
"outFiles": ["${workspaceRoot}/dist/**/*"],
"sourceMaps": true
}
Run Code Online (Sandbox Code Playgroud)
包.json
"jest": {
"preset": "jest-preset-angular",
"setupFilesAfterEnv": [
"<rootDir>/setupJest.ts"
],
"moduleDirectories": [
"node_modules",
"./"
], …Run Code Online (Sandbox Code Playgroud)