유형 스크립트-eslint를 사용하여 VSCode 편집기에 유형 스크립트 오류가 표시되지 않음
문제는 (MacOS용 VSCode에서) eslint 및 @typescript-eslint를 사용하여 편집기에 유형 스크립트 오류를 표시할 수 없다는 것입니다.
이 스크린샷에 표시된 것처럼 Eslint 오류는 표시되지만 유형 오류는 표시되지 않습니다(tsx 파일)
여기서 사용되지 않은 변수에 대한 문제가 표시되지만 호출 시 유형 오류는 표시되지 않습니다. 터미널에서 실행하면 오류가 발생합니다.
Eslint 확장이 내 VSCode 편집기에 설치되었습니다. 여기 내 .eslintrc가 있다:
{
"parser": "@typescript-eslint/parser",
"extends": [
"plugin:@typescript-eslint/recommended",
"react-app",
"prettier",
"prettier/@typescript-eslint",
"prettier/react"
],
"plugins": [
"import",
"prefer-object-spread",
"prettier",
"react",
"@typescript-eslint"
],
"env": {
"browser": true,
"es6": true,
"node": true
},
"globals": {
"alert": true,
"document": true,
"localStorage": true,
"navigator": true,
"window": true,
"HTMLElement": true
},
"rules": {
"prettier/prettier": "error",
"import/extensions": 0,
"import/no-extraneous-dependencies": [
"error",
{
"devDependencies": true,
"optionalDependencies": false,
"peerDependencies": false
}
],
"import/no-unresolved": 0,
"import/prefer-default-export": 0,
"prefer-object-spread/prefer-object-spread": 2,
"react/destructuring-assignment": 0,
"react/jsx-filename-extension": [1, { "extensions": [".ts", ".tsx"] }],
"react/no-array-index-key": 2,
"react/prefer-stateless-function": 0,
"react/prop-types": 0,
"react/require-default-props": 0,
"@typescript-eslint/explicit-function-return-type": 0,
"@typescript-eslint/explicit-member-accessibility": 0,
"@typescript-eslint/camelcase": 0,
"@typescript-eslint/interface-name-prefix": 0,
"complexity": ["error", 8],
"max-lines": ["error", 200],
"max-depth": ["error", 3],
"max-params": ["error", 4]
}
}
모든 VSCode 확장을 제거하고, VSCode를 제거하고, 컴퓨터를 재부팅하려고 했지만 아무 것도 작동하지 않았습니다. 내 VSCode 버전은 1.46.0이다
VSCode에는 내장형 스크립트 링터가 없습니다.
JS 및 TS 린트 오류에 대해 시장에서 ES 린트 익스텐션을 설치하십시오. 이미 설치되어 있고 나중에 typescript가 도입된 경우에는 ESLint 확장을 다시 설치하고 VSCode를 다시 시작하십시오
VSC의 확장 패널에서 "@builtin"을 입력하고 "기능" 섹션에서 "TypeScript 및 JavaScript Language Features"를 찾습니다. 사용할 수 없습니다. 이를 활성화하고 VSC를 다시 시작합니다. 의 매트 비어너가 제안한 바와 같이.
프로젝트에 파일을 추가해야 합니다. 잘 될 것입니다. 이런 거
{
"exclude": ["node_modules", "node_modules/**/*"],
"compilerOptions": {
"baseUrl": "./",
"lib": ["es5", "es6", "dom", "es2018.promise"],
"target": "es6",
"module": "commonjs",
"moduleResolution": "node",
"outDir": "./build",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": false,
"strict": true,
"strictPropertyInitialization": false,
"skipLibCheck": true,
"suppressImplicitAnyIndexErrors": true
}
}
참고: 글로벌이 아닌 이것으로 Typescript를 설치했습니다.
나는 네 단계로 그것을 가능하게 한다:
- 1: ESLint를 확장으로 설치합니다
- 2: VScode 설정:
(mac 사용자(cmd+shift+p), Windows 사용자(Ctrl+Shift+P)를 차례로 입력한 다음 설정을 선택합니다
선택: 사용자 설정 열기(JSON)
json 파일이 열리며 다음 행을 추가했습니다:
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
]
당신은 JSON 파일이 어떻게 될 수 있는지 알고 있을 것이고 마지막 항목에는 쉼표가 없습니다.
- 3: TS 서버를 다시 시작합니다
나는 다시 한다(cmd+shift+p) 그리고 유형 스크립트를 쓴다
- 4: ESLint 서버를 다시 시작합니다
최종 결과는 다음과 같습니다:
CMD+shift+M을 눌러 문제 패널을 표시합니다
'개발하자' 카테고리의 다른 글
호스트를 지정할 때 Fast API/uvicorn이 작동하지 않음 (0) | 2023.06.06 |
---|---|
svelte에서 변수가 변경되었을 때 console.log('yes')는 어떻게 합니까? (0) | 2023.06.05 |
노드와 포드 사이의 트래픽을 암호화하도록 Kubernetes를 구성하는 방법은 무엇입니까? (1) | 2023.06.04 |
유형 스크립트에서 'JSX' 유형에 속성이 없다고 불만을 제기합니다.React.createClass를 사용할 때 '내재 요소'? (0) | 2023.06.04 |
서버 없이 파일://에서 Svelte 앱 실행 (0) | 2023.06.03 |