方案一
{
"workbench.iconTheme": "vscode-icons",
// -------------------- 配置eslint --------------------
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.format.enable": true,
"eslint.validate": [
"javascript",
"vue",
"html",
"javascriptreact",
"vue-html"
],
// -------------------- 配置eslint --------------------
// 默認(rèn)格式化工具
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[less]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[scss]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[sass]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"javascript.format.insertSpaceBeforeFunctionParenthesis": false,
// -------------------- vetur 配置 --------------------
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"vetur.format.defaultFormatter.html": "js-beautify-html",
"vetur.format.defaultFormatter.js": "prettier",
"vetur.format.defaultFormatterOptions": {
"js-beautify-html": {
"wrap_attributes": "aligned-multiple"
},
"prettier": {
"semi": false,
"singleQuote": true,
"trailingComma": "none"
}
},
// -------------------- koro1FileHeader 配置 --------------------
"fileheader.customMade": {
"Author": "AuthorName",
"Date": "Do not edit",
"LastEditors": "AuthorName",
"LastEditTime": "Do not edit",
"Description": ""
},
"fileheader.cursorMode": {
"description": "",
"param": "params",
"return": ""
},
"fileheader.configObj": {
"createHeader": false,
"autoAdd": false,
"openFunctionParamsCheck": true,
"createFileTime": true,
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"atSymbol": ["@", "@"],
"colon": [": ", ": "]
},
// -------------------- prettier 配置 --------------------
"prettier.useEditorConfig": false,
"prettier.semi": false,
"prettier.singleQuote": true,
"prettier.trailingComma": "none",
"git.confirmSync": false,
"security.workspace.trust.untrustedFiles": "open",
"workbench.settings.applyToAllProfiles": [
],
"editor.fontSize": 18,
"git.autofetch": true,
"Codegeex.License": "",
"editor.tabSize": 2
}
方案二
{
"workbench.iconTheme": "vscode-icons",
// -------------------- 配置eslint --------------------
//autoFixedOnSave 設(shè)置已廢棄,采用如下新的設(shè)置,新版(>1.41.0)配置
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.format.enable": true,
//autoFix默認(rèn)開啟,只需輸入字符串?dāng)?shù)組即可
"eslint.validate": [
"javascript",
"vue",
"html",
"javascriptreact",
"vue-html"
],
// -------------------- 配置eslint --------------------
// 設(shè)置編輯器的默認(rèn)格式化工具
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[less]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[scss]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[sass]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// "[css]": {
// "editor.defaultFormatter": "aeschli.vscode-css-formatter"
// },
// "[scss]": {
// "editor.defaultFormatter": "michelemelluso.code-beautifier"
// },
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
//方法括號(hào)之間插入空格
"javascript.format.insertSpaceBeforeFunctionParenthesis": false,
// -------------------- vetur 配置 --------------------
// vue文件默認(rèn)格式化工具:vetur
"[vue]": {
// "editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
// "editor.defaultFormatter": "octref.vetur"
// "editor.defaultFormatter": "Vue.volar"
},
// 這個(gè)按用戶自身習(xí)慣選擇
"vetur.format.defaultFormatter.html": "js-beautify-html",
// 讓vue中的js按編輯器自帶的ts格式進(jìn)行格式化
// "vetur.format.defaultFormatter.js": "vscode-typescript",
// 讓vue中的js按prettier進(jìn)行格式化 用這個(gè)
"vetur.format.defaultFormatter.js": "prettier",
"vetur.format.defaultFormatterOptions": {
"js": "prettier",
"js-beautify-html": {
"wrap_attributes": "aligned-multiple" //當(dāng)超出折行長(zhǎng)度時(shí),將屬性進(jìn)行垂直對(duì)齊
},
"prettyhtml": {
"tabWidth": 4, // 會(huì)忽略vetur的tabSize配置
"printWidth": 100, //每行100字符
"singleQuote": true, //是否使用單引號(hào)
"semi": false, // 句尾是否加;
"wrapAttributes": false,
"sortAttributes": false
},
//vue中的js生效
"prettier": {
"semi": false, // 句尾是否加;
"singleQuote": true, //是否使用單引號(hào)
"trailingComma": "none" //禁止隨時(shí)添加逗號(hào)
}
},
// -------------------- vetur 配置 --------------------
// -------------------- koro1FileHeader 配置 --------------------
// 頭部注釋
"fileheader.customMade": {
"Author": "AuthorName",
"Date": "Do not edit", // 文件創(chuàng)建時(shí)間(不變)
"LastEditors": "AuthorName", // 文件最后編輯者
"LastEditTime": "Do not edit", // 文件最后編輯時(shí)間
"Description": ""
// "FilePath": "only file name", // 只有文件名
// "custom_string_obkoro1_copyright": "Copyright (C) ${now_year} AuthorName. All rights reserved.",
// "custom_string_obkoro1_date": "Do not edit" // 不帶Date前綴的時(shí)間
},
// 函數(shù)注釋
"fileheader.cursorMode": {
"description": "",
//"custom_string_obkoro1": "",
"param": "params",
"return": ""
},
// 插件配置項(xiàng)
"fileheader.configObj": {
"createHeader": false, // 新建文件自動(dòng)添加頭部注釋,默認(rèn)打開
"autoAdd": false, // 保存自動(dòng)添加頭部注釋,開啟才能自動(dòng)添加,默認(rèn)開啟
"openFunctionParamsCheck": true, //函數(shù)注釋自動(dòng)提取函數(shù)的參數(shù),默認(rèn)開啟
"createFileTime": true, // 默認(rèn)為此文件的創(chuàng)建時(shí)間,設(shè)為false更改為當(dāng)前生成注釋的時(shí)間
"dateFormat": "YYYY-MM-DD HH:mm:ss", // 默認(rèn)時(shí)間格式,修改影響所有時(shí)間字段
// 自定義注釋中的艾特和冒號(hào):
"atSymbol": ["@", "@"], // 所有文件的頭部注釋和函數(shù)注釋的默認(rèn)值 @
"colon": [": ", ": "] // 所有文件的頭部注釋和函數(shù)注釋的默認(rèn)值 :
// 自定義特殊字段名,Date、LastEditTime、LastEditors、Description、FilePath
// "specialOptions": {
// "Date": "since",
// "LastEditTime": "lastTime",
// "LastEditors": "LastAuthor",
// "Description": "message",
// "FilePath": "文件相對(duì)于項(xiàng)目的路徑"
// }
// 函數(shù)參數(shù)配置
// "functionParamsShape": "normal", // 正常
// "functionParamsShape": "no bracket", // 沒有方括號(hào)
// "functionParamsShape": "no type", // 沒有類型
// "functionParamsShape": [ "{", "}"], // 函數(shù)參數(shù)外形自定義,默認(rèn)值 {}
// "functionTypeSymbol": "*", // 參數(shù)沒有類型時(shí)的默認(rèn)值 *
// 函數(shù)設(shè)置不添加參數(shù)和類型 {*}
// "functionParamsShape": "no type", // 沒有類型
// "functionTypeSymbol": "" // 參數(shù)沒有類型時(shí)的默認(rèn)值 *
},
// -------------------- koro1FileHeader 配置 --------------------
// -------------------- prettier 配置(以下配置主要針對(duì).js) --------------------
"prettier.useEditorConfig": false, // 不使用editorConfig配置文件設(shè)置才生效
"prettier.semi": false, // 句尾是否加;
"prettier.singleQuote": true, //是否使用單引號(hào)
"prettier.trailingComma": "none", //禁止隨時(shí)添加逗號(hào)
// -------------------- prettier 配置 --------------------
"git.confirmSync": false,
"security.workspace.trust.untrustedFiles": "open",
"workbench.settings.applyToAllProfiles": [
],
"editor.fontSize": 18,
"git.autofetch": true
}
方案三
{
"workbench.iconTheme": "vscode-icons",
// -------------------- 配置eslint --------------------
//autoFixedOnSave 設(shè)置已廢棄,采用如下新的設(shè)置,新版(>1.41.0)配置
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.format.enable": true,
//autoFix默認(rèn)開啟,只需輸入字符串?dāng)?shù)組即可
"eslint.validate": [
"javascript",
"vue",
"html",
"javascriptreact",
"vue-html"
],
// -------------------- 配置eslint --------------------
// 設(shè)置編輯器的默認(rèn)格式化工具
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[less]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[scss]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[sass]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// "[css]": {
// "editor.defaultFormatter": "aeschli.vscode-css-formatter"
// },
// "[scss]": {
// "editor.defaultFormatter": "michelemelluso.code-beautifier"
// },
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
//方法括號(hào)之間插入空格
"javascript.format.insertSpaceBeforeFunctionParenthesis": false,
// -------------------- vetur 配置 --------------------
// vue文件默認(rèn)格式化工具:vetur
"[vue]": {
// "editor.defaultFormatter": "rvest.vs-code-prettier-eslint"
// "editor.defaultFormatter": "octref.vetur"
// "editor.defaultFormatter": "Vue.volar"
},
// 這個(gè)按用戶自身習(xí)慣選擇
"vetur.format.defaultFormatter.html": "js-beautify-html",
// 讓vue中的js按編輯器自帶的ts格式進(jìn)行格式化
// "vetur.format.defaultFormatter.js": "vscode-typescript",
// 讓vue中的js按prettier進(jìn)行格式化 用這個(gè)
"vetur.format.defaultFormatter.js": "prettier",
"vetur.format.defaultFormatterOptions": {
"js": "prettier",
"js-beautify-html": {
"wrap_attributes": "aligned-multiple" //當(dāng)超出折行長(zhǎng)度時(shí),將屬性進(jìn)行垂直對(duì)齊
},
"prettyhtml": {
"tabWidth": 4, // 會(huì)忽略vetur的tabSize配置
"printWidth": 100, //每行100字符
"singleQuote": true, //是否使用單引號(hào)
"semi": false, // 句尾是否加;
"wrapAttributes": false,
"sortAttributes": false
},
//vue中的js生效
"prettier": {
"semi": false, // 句尾是否加;
"singleQuote": true, //是否使用單引號(hào)
"trailingComma": "none" //禁止隨時(shí)添加逗號(hào)
}
},
// -------------------- vetur 配置 --------------------
// -------------------- koro1FileHeader 配置 --------------------
// 頭部注釋
"fileheader.customMade": {
"Author": "AuthorName",
"Date": "Do not edit", // 文件創(chuàng)建時(shí)間(不變)
"LastEditors": "AuthorName", // 文件最后編輯者
"LastEditTime": "Do not edit", // 文件最后編輯時(shí)間
"Description": ""
// "FilePath": "only file name", // 只有文件名
// "custom_string_obkoro1_copyright": "Copyright (C) ${now_year} AuthorName. All rights reserved.",
// "custom_string_obkoro1_date": "Do not edit" // 不帶Date前綴的時(shí)間
},
// 函數(shù)注釋
"fileheader.cursorMode": {
"description": "",
//"custom_string_obkoro1": "",
"param": "params",
"return": ""
},
// 插件配置項(xiàng)
"fileheader.configObj": {
"createHeader": false, // 新建文件自動(dòng)添加頭部注釋,默認(rèn)打開
"autoAdd": false, // 保存自動(dòng)添加頭部注釋,開啟才能自動(dòng)添加,默認(rèn)開啟
"openFunctionParamsCheck": true, //函數(shù)注釋自動(dòng)提取函數(shù)的參數(shù),默認(rèn)開啟
"createFileTime": true, // 默認(rèn)為此文件的創(chuàng)建時(shí)間,設(shè)為false更改為當(dāng)前生成注釋的時(shí)間
"dateFormat": "YYYY-MM-DD HH:mm:ss", // 默認(rèn)時(shí)間格式,修改影響所有時(shí)間字段
// 自定義注釋中的艾特和冒號(hào):
"atSymbol": ["@", "@"], // 所有文件的頭部注釋和函數(shù)注釋的默認(rèn)值 @
"colon": [": ", ": "] // 所有文件的頭部注釋和函數(shù)注釋的默認(rèn)值 :
// 自定義特殊字段名,Date、LastEditTime、LastEditors、Description、FilePath
// "specialOptions": {
// "Date": "since",
// "LastEditTime": "lastTime",
// "LastEditors": "LastAuthor",
// "Description": "message",
// "FilePath": "文件相對(duì)于項(xiàng)目的路徑"
// }
// 函數(shù)參數(shù)配置
// "functionParamsShape": "normal", // 正常
// "functionParamsShape": "no bracket", // 沒有方括號(hào)
// "functionParamsShape": "no type", // 沒有類型
// "functionParamsShape": [ "{", "}"], // 函數(shù)參數(shù)外形自定義,默認(rèn)值 {}
// "functionTypeSymbol": "*", // 參數(shù)沒有類型時(shí)的默認(rèn)值 *
// 函數(shù)設(shè)置不添加參數(shù)和類型 {*}
// "functionParamsShape": "no type", // 沒有類型
// "functionTypeSymbol": "" // 參數(shù)沒有類型時(shí)的默認(rèn)值 *
},
// -------------------- koro1FileHeader 配置 --------------------
// -------------------- prettier 配置(以下配置主要針對(duì).js) --------------------
"prettier.useEditorConfig": false, // 不使用editorConfig配置文件設(shè)置才生效
"prettier.semi": false, // 句尾是否加;
"prettier.singleQuote": true, //是否使用單引號(hào)
"prettier.trailingComma": "none", //禁止隨時(shí)添加逗號(hào)
// -------------------- prettier 配置 --------------------
"git.confirmSync": false,
"security.workspace.trust.untrustedFiles": "open",
"workbench.settings.applyToAllProfiles": [
],
"editor.fontSize": 18,
"git.autofetch": true,
// 頭部注釋
"fileheader.customMade": {
// Author字段是文件的創(chuàng)建者 可以在specialOptions中更改特殊屬性
// 公司項(xiàng)目和個(gè)人項(xiàng)目可以配置不同的用戶名與郵箱 搜索: gitconfig includeIf 比如: https://ayase.moe/2021/03/09/customized-git-config/
// 自動(dòng)提取當(dāng)前git config中的: 用戶名、郵箱
"Author": "git config user.name && git config user.email", // 同時(shí)獲取用戶名與郵箱
// "Author": "git config user.name", // 僅獲取用戶名
// "Author": "git config user.email", // 僅獲取郵箱
// "Author": "OBKoro1", // 寫死的固定值 不從git config中獲取
"Date": "Do not edit", // 文件創(chuàng)建時(shí)間(不變)
// LastEditors、LastEditTime、FilePath將會(huì)自動(dòng)更新 如果覺得時(shí)間更新的太頻繁可以使用throttleTime(默認(rèn)為1分鐘)配置更改更新時(shí)間。
"LastEditors": "git config user.name && git config user.email", // 文件最后編輯者 與Author字段一致
// 由于編輯文件就會(huì)變更最后編輯時(shí)間,多人協(xié)作中合并的時(shí)候會(huì)導(dǎo)致merge
// 可以將時(shí)間顆粒度改為周、或者月,這樣沖突就減少很多。搜索變更時(shí)間格式: dateFormat
"LastEditTime": "Do not edit", // 文件最后編輯時(shí)間
// 輸出相對(duì)路徑,類似: /文件夾名稱/src/index.js
"FilePath": "Do not edit", // 文件在項(xiàng)目中的相對(duì)路徑 自動(dòng)更新
// 插件會(huì)自動(dòng)將光標(biāo)移動(dòng)到Description選項(xiàng)中 方便輸入 Description字段可以在specialOptions更改
"Description": "", // 介紹文件的作用、文件的入?yún)?、出參? // custom_string_obkoro1~custom_string_obkoro100都可以輸出自定義信息
// 可以設(shè)置多條自定義信息 設(shè)置個(gè)性簽名、留下QQ、微信聯(lián)系方式、輸入空行等
"custom_string_obkoro1": "",
// 版權(quán)聲明 保留文件所有權(quán)利 自動(dòng)替換年份 獲取git配置的用戶名和郵箱
// 版權(quán)聲明獲取git配置, 與Author字段一致: ${git_name} ${git_email} ${git_name_email}
"custom_string_obkoro1_copyright": "Copyright (c) ${now_year} by ${git_name_email}, All Rights Reserved. "
// "custom_string_obkoro1_copyright": "Copyright (c) ${now_year} by 寫死的公司名/用戶名, All Rights Reserved. "
},
// 函數(shù)注釋
"fileheader.cursorMode": {
"description": "", // 函數(shù)注釋生成之后,光標(biāo)移動(dòng)到這里
"param": "", // param 開啟函數(shù)參數(shù)自動(dòng)提取 需要將光標(biāo)放在函數(shù)行或者函數(shù)上方的空白行
"return": "",
}
}