下面的代码是从nest g res users
生成的。
在VS Code中添加BadRequestException
时,重构功能(Ctrl + .
)可以正常工作,但自动完成功能不能。它不会自动完成名称,需要使用Ctrl + .
添加import语句。
VS Code refactoring feature
VSCode autocompletion feature
相同的自动完成功能在PyCharm 2023.1.2中工作正常。它会自动完成名称并添加import语句。
PyCharm autocompletion feature
我认为我的VSCode可以正确识别node_modules路径,因为重构特性工作得很好。但我不知道为什么自动完成功能不起作用。:(
我已经在我的VS代码中启用了以下功能。
- 内置“TypeScript和JavaScript语言功能”
- 插件“npm Intellisense”。
- 插件“IntelliCode”。
有什么建议可以在VS Code中更好地使用JS/TS自动完成功能?
目前,我在VS Code中使用"typescript.suggest.enabled": true
。
这是我的npm list
。
@nestjs/cli@9.5.0
@nestjs/common@9.4.3
@nestjs/core@9.4.3
@nestjs/mapped-types@2.0.0
@nestjs/platform-express@9.4.3
@nestjs/schematics@9.2.0
@nestjs/testing@9.4.3
@types/express@4.17.17
@types/jest@29.5.1
@types/node@18.16.12
@types/supertest@2.0.12
@typescript-eslint/eslint-plugin@5.60.0
@typescript-eslint/parser@5.60.0
eslint-config-prettier@8.8.0
eslint-plugin-prettier@4.2.1
eslint@8.43.0
jest@29.5.0
prettier@2.8.8
reflect-metadata@0.1.13
rxjs@7.8.1
source-map-support@0.5.21
supertest@6.3.3
ts-jest@29.1.0
ts-loader@9.4.3
ts-node@10.9.1
tsconfig-paths@4.2.0
typescript@5.1.3
重现问题
系统信息
- Windows 11家庭版
- Visual Studio Code 1.79.2
- npm 9.5.1
已安装全局包
- @nestjs/cli@9.5.0
- 联系我们
- typescript@5.1.3
命令
// Select npm for package manager
> nest new project
> cd project
// Select REST API and generate CRUD entry points
> nest g res users
> code .
在文件project/src/users/users.controller.ts
中:
...
@Get(':id')
findOne(@Param('id') id: string) {
// Here is the problem, cannot find `BadRequestException`
if (+id > 1) {
throw new BadReq<autocomplete>
}
return this.usersService.findOne(+id);
}
...
1条答案
按热度按时间vq8itlhq1#
为了找到问题的原因,我尝试了一些方法。
首先,我试图在MacOS Ventura上重现这个问题,但问题没有发生。
接下来,我在一个新的Windows示例上尝试了这个方法,但它也无法重现这个问题。
所以我回到我的开发环境,完全删除了VS Code并重新安装了它。这一点用都没有。
最后,我删除并重新安装了npm。之后,问题消失了。
**我不知道问题的原因是什么。但在某些情况下,重新安装npm可以解决VS Code上的自动完成问题。