前端面试:vscode配置和eslint规则一样的格式化

213 阅读2分钟

写这个配置之前需要安装三个插件(切记只装这三个美化工具 不要装beautiful之类的其他插件 会冲突)

ESLint
Vetur
Prettier - Code formatter

Windows为例 打开文件 -首选项-设置 搜索eslint
在这里插入图片描述 点击这个在setting.json中编辑 进到我们的配置页

全选配置项删除替换成这个:

{
"editor.lineNumbers": "on", //开启行数提示
"editor.quickSuggestions": { //开启自动显示建议
"other": true,
"comments": true,
"strings": true
},
"prettier.useTabs": true,//使用制表符缩进
"editor.tabSize": 2, //制表符符号eslint
"editor.formatOnSave": true, //每次保存自动格式化
"prettier.semi": true, //去掉代码结尾的分号
"prettier.singleQuote": true, //使用单引号替代双引号
"prettier.trailingComma": "none", //去除对象最末尾元素跟随的逗号
"javascript.format.insertSpaceBeforeFunctionParenthesis": true, //让函数(名)和后面的括号之间加个空格
"vetur.format.defaultFormatter.html": "js-beautify-html", //格式化.vue中html
"vetur.format.defaultFormatter.js": "vscode-typescript", //让vue中的js按编辑器自带的ts格式进行格式化
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"eslint.run": "onSave",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"prettier.printWidth": 200,//指定代码长度,超出换行
"prettier.requireConfig": true,//需要prettier.requireConfig格式化
"prettier.useEditorConfig": false,
"eslint.validate": [
//开启对.vue文件中错误的检查
 "javascript",
"javascriptreact",
"html",
"vue"
 ],
"terminal.integrated.rendererType": "dom",
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}

微调后的配置:

{
	"editor.lineNumbers": "on", //开启行数提示
	"editor.formatOnSave": false, //每次保存自动格式化
	"editor.tabSize": 2, //制表符符号eslint
	"editor.quickSuggestions": {
		//开启自动显示建议
		"other": true,
		"comments": true,
		"strings": true
	},
	"editor.codeActionsOnSave": {
		"source.fixAll.eslint": true
	},
	"eslint.run": "onSave",
	"eslint.validate": [
		//开启对.vue文件中错误的检查
		"javascript",
		"javascriptreact",
		"vue"
	],
	//在vue文件里设置html关联
	"emmet.syntaxProfiles": {
		"vue-html": "html",
		"vue": "html"
	},
	"prettier.requireConfig": true, //用prettier格式化代码
	"prettier.useTabs": true, //使用制表符缩进
	"prettier.semi": true, //去掉代码结尾的分号
	"prettier.singleQuote": true, //使用单引号替代双引号
	"prettier.trailingComma": "none", //去除对象最末尾元素跟随的逗号
	"prettier.printWidth": 200, //需要prettier.requireConfig格式化
	"prettier.useEditorConfig": false,
	"javascript.format.insertSpaceBeforeFunctionParenthesis": true, //让函数(名)和后面的括号之间加个空格
	"vetur.format.defaultFormatter.html": "js-beautify-html", //格式化.vue中html
	"vetur.format.defaultFormatter.js": "vscode-typescript", //让vue中的js按编辑器自带的ts格式进行格式化
	"vetur.format.defaultFormatterOptions": {
		//选择哪种方式进行格式化并且该方式的格式化要写在对象里 写对象外无效
		"js-beautify-html": {
			// #vue组件中html代码格式化样式
			"wrap_attributes": "auto", //也可以设置为“auto”,效果会不一样
			"wrap_line_length": 200,
			"end_with_newline": false,
			"semi": false,
			"singleQuote": true
		},
		"prettier": {
			//这行为js的格式化方式
			"singleQuote": true,
			"semi": true,
			"trailingComma": "none",
			"useTabs": true,
			"printWidth": 200,
			"useEditorConfig": false
		}
	},
	"[vue]": {
		"editor.defaultFormatter": "octref.vetur"
	},
	"[javascript]": {
		"editor.defaultFormatter": "esbenp.prettier-vscode"
	},
	"[typescript]": {
		"editor.defaultFormatter": "esbenp.prettier-vscode"
	},
	"[jsonc]": {
		"editor.defaultFormatter": "esbenp.prettier-vscode"
	}
}