2020 최신 vscode 포맷 코드 에 대한 자세 한 튜 토리 얼
머리말
이전에 vscode 로 포맷 할 때 바 이 두 와 구 글 에서'vscode 포맷 코드'를 검색 한 다음 에 다른 사람 을 직접 복사 했다.세부 적 인 설정 은 줄곧 보지 못 했다.
하지만 최근 개발 프로젝트 에서 같은 그룹의 제출 코드 와 형식 이 일치 하지 않 는 것 을 발견 했다.그래서 이틀 동안 플러그 인의 공식 문 서 를 보고 연 구 를 했 습 니 다.
오늘 연구 결과 가 좀 나 왔 습 니 다.조금씩 설정 할 게 요.이 블 로 그 를 써 서 여러분 과 함께 참고 하 세 요.부족 한 점 은 여러분 의 보충 을 환영 합 니 다.잘못된 점 은 여러분 의 잘못 을 바로 잡 는 것 을 환영 합 니 다.
글 의 내용 은 두 가지 부분 을 포함한다.하 나 는 이론 이 고,다른 하 나 는 나의 settings.json 의 배치 이다.
이론.
참고 글:
VSCode 프로그램 원숭이 무지개 방귀 플러그 인 rainbow fart 체험 편
vscode 설정 vue+vetur+eslint+prettier 자동 포맷 기능
vscode 설정 vue+vetur+eslint+prettier 자동 포맷 기능
코드 포맷 목적:
코드 포맷 의 목적 은 첫째,코드 의 가 독성 을 높이 고 인 코딩 을 편리 하 게 하 며 팀 개발 을 편리 하 게 하기 위 한 것 이다.둘째,형식 으로 인 한 오 류 를 쉽게 찾 고 수정 하 는 것 이다.
팀 개발.인 코딩 습관 이 다 르 기 때 문 입 니 다.
첫 번 째 목적 을 달성 하기 위해 포맷 플러그 인 은 vetur,prettier 등 파일 을 포맷 하 는 플러그 인 이 있 습 니 다.
두 번 째 목적 을 달성 하기 위해 포맷 플러그 인 은 ESlint 등 파일 에 대한 코드 검 사 를 위 한 플러그 인 이 있 습 니 다.
코드 포맷 에 대한 주의사항:
플러그 인 역할
우선 포맷 플러그 인 은 각각 어떤 파일 을 포맷 하 는 데 중심 을 두 는 지 알 고 있 습 니 다.서로 다른 파일 은 서로 다른 형식 규범 이 있 기 때 문 입 니 다.
prettyhtml HTML;
prettier css/less/scss/postcss/ts;
stylus-supremacy stylus;
vscode js;
vetur .vue ;
ESlint: ESlint .vue 。
코드 검사그리고 포맷 된 코드 기호 인 ESlint 코드 를 검사 하도록 주의 하 십시오.
포맷 코드 의 가장 중요 한 것 은 두 가지 입 니 다.하 나 는 포맷 플러그 인 으로 대응 하 는 파일 을 포맷 하 는 것 입 니 다.다른 하 나 는 포맷 된 코드 가 코드 검사 도 구 를 통과 할 수 있 도록 하 는 것 이다.
예 를 들다.
Prettier 플러그 인 은 함수 이름 뒤에 괄호 를 붙 이 는 것 을 지원 하지 않 습 니 다.이 점 은 ESlint 와 충돌 했다.따라서 js 의 포맷 은 prettier 플러그 인 을 사용 하여 포맷 할 수 없 으 며,vscode 자체 의 js 포맷 기능 을 사용 하여 포맷 합 니 다.그렇지 않 으 면 에 스 린 트 가 잘못 보고 한 거 야.강박 증 이 야.
플러그 인 업데이트
마지막 으로 플러그 인 은 플러그 인 이 계속 업데이트 되 기 때문에 인터넷 에서 직접 copy 의 포맷 코드 는 여러 가지 호 환 되 지 않 습 니 다.
예 를 들 어 vscode 의 ESLint 플러그 인 은 특정한 버 전에 서
"eslint.validate"
이 설정 옵션 을 제 거 했 고 인터넷 에서 많은 튜 토리 얼 이 사용 되 었 습 니 다.새 버 전의 ESLint 에 서 는
*.vue
파일 에 대한 검증 을 지원 하기 때문에 이 설정 을 더 이상 진행 할 필요 가 없습니다.저장 할 때 ESLint 오 류 를 자동 으로 복구 하 는 기능 만 추가 하면 됩 니 다.코드 포맷 플러그 인의 공식 문서:
언어 소개
pug: 공식 문서 。pug 는 node.js 플랫폼 을 위 한 HTML 모듈 엔진 입 니 다.
less: 공식 문서 。less 는 CSS 예비 처리 언어 입 니 다.
scss: 공식 문서 。scss(sass)는 세계 에서 가장 성숙 하고 안정 적 이 며 강력 한 전문 적 인 CSS 예비 처리 언어 이다.
postcss: 공식 문서 。postcss 는 js 플러그 인 을 사용 하여 CSS 를 변환 하 는 도구 입 니 다.
stylus: 공식 문서 。stylus 는 node.js 플랫폼 의 CSS 예비 처리 프레임 워 크 입 니 다.
플러그 인 소개
vetur: 공식 문서 。코드 하 이 라이트,emmet 문법 지원,문법 오류 검사,코드 알림,포맷 vue.
vetur 는 prettier 를 통합 하여 vue 파일 의 서로 다른 블록 에 서로 다른 포맷 방안 을 사용 하도록 합 니 다.template 라벨 은 html 포맷 도구,script 태그 호출 JavaScript 포맷 도구,style 탭 은 style 포맷 도 구 를 사용 합 니 다.
ESlint: 공식 문서 。코드 검사.
prettyhtml: 공식 문서 。vue 나 순수한 HTML 템 플 릿 등 일반적인 포맷 도 구 를 제공 합 니 다.
pretties: 공식 문서 。코드 포맷 도 구 는 코드 를 분석 할 수 있 고 사용자 가 설정 한 규칙 으로 규범 화 된 코드 를 포맷 할 수 있 습 니 다.
stylus-supremacy: 공식 문서 。stylus 파일 을 포맷 하 는 node.js 모듈 입 니 다.
나의 settings.json 파일
{
/* :
, ;
。
prettyhtml HTML;prettier css/less/scss/postcss/ts;
stylus-supremacy stylus;
vscode js;
vetur .vue ;
ESlint 。
*/
/* 。
ESlint 。
1. vetur 。 .vue
2. ESlint ESlint 。
3. prettier css; , 。
4. 。
*/
// prettier
"editor.defaultFormatter": "esbenp.prettier-vscode",
"vetur.format.defaultFormatter.html": "prettyhtml",
"vetur.format.defaultFormatter.css": "prettier",
"vetur.format.defaultFormatter.postcss": "prettier",
"vetur.format.defaultFormatter.scss": "prettier",
"vetur.format.defaultFormatter.less": "prettier",
"vetur.format.defaultFormatter.stylus": "stylus-supremacy",
// "vetur.format.defaultFormatter.js": "prettier",
"vetur.format.defaultFormatter.ts": "prettier",
"vetur.format.defaultFormatter.sass": "sass-formatter",
"open-in-browser.default": "Chrome",
// vetur js vscode
"vetur.format.defaultFormatter.js": "vscode-typescript",
// js
"javascript.format.semicolons": "remove",
// , foo () {}
"javascript.format.insertSpaceBeforeFunctionParenthesis": true,
// eslint , 。
"editor.codeActionsOnSave": {
"source.fixAll": true
},
// *.vue vetur
"[vue]": {
"editor.defaultFormatter": "octref.vetur"
},
// *.js vscode
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"vetur.format.defaultFormatterOptions": {
"JS-beautify-HTML": {
// JS-beautify-HTML
"wrap_attributes": "force-aligned"
},
" prettyhtml": {
"printWidth'": 100, // 100
"singleQuote": false, //
"wrapAttributes": false,
"sortAttributes": true
},
"prettier": {
//
"semi": false, //
"singleQuote": true, //
// # prettier eslint
"eslintIntegration": true,
"arrowParens": "always"
}
},
// vscode tabsize
"editor.detectIndentation": false,
// tabsize
"editor.tabSize": 2,
//
"editor.formatOnSave": true,
// 。stylus sass 。
// stylus, Manta's Stylus Supremacy
"stylusSupremacy.insertBraces": false, //
"stylusSupremacy.insertColons": false, //
"stylusSupremacy.insertSemicolons": false, //
"stylusSupremacy.insertNewLineAroundImports": false, // import
"stylusSupremacy.insertNewLineAroundBlocks": false,
// 。
"sass.format.debug": false,
//
"sass.format.deleteEmptyRows": true,
// 。
"sass.format.deleteWhitespace": true,
// scss / css sass。
"sass.format.convert": true,
// : true, 1.
"sass.format.setPropertySpace": true
/* :
//vetur: 、emmet 、 、 、 vue。
vetur prettier, .vue ,
<template> html ,
<script> JavaScript ,
<style> style 。
//ESlint: ESlint .vue 。
//prettyhtml: HTML 。
//prettier: , css/less/scss/postcss/ts
//stylus-supremacy: stylus node.js 。
//js vscode 。
Prettier 。 ESlint 。
//EditorConfig: vscode .editorconfig 。
.editorconfig ,
、 、 。
EditorConfig ,
Prettier
*/
}
총결산2020 최신 vscode 포맷 코드 에 대한 자세 한 튜 토리 얼 을 소개 합 니 다.vscode 포맷 코드 에 관 한 더 많은 내용 은 이전 글 을 검색 하거나 아래 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
React Typescript 스니펫새로운 구성 요소를 생성할 때 동일한 코드를 입력하는 데 지쳤다면 VS Code가 제공하는 멋진 솔루션인 코드 스니펫 🔥이 있습니다. 다음은 Typescript로 React 구성 요소를 만들기 위한 두 가지 스니펫입...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.