HBuilderX 構成の自動フォーマット、統一されたコード仕様

1 はじめに


  チームワークは小規模企業にとって不可欠な課題であり、プロジェクト開発の進捗を保証するための重要な基礎でもあります。チームとして働き、各個人のスキルを最大限に発揮することによってのみ、チームの生産性を最大限に高めることができます。チームが増えるとコードスタイルの統一が重要になるため、HBuilderXを使って自動整形を設定し、コード仕様を統一します。

2. コードスタイル


  • 全体的なスタイル
    • javascriptESlint一般的には規範に従います
    • html、一般的には規範wxmlに従いますprettyhtml
  • javascriptディテール調整
    • 最後にセミコロンはありません
    • 140文字を超える改行
    • 一重引用符を使用する
    • 末尾のカンマなし
    • セミコロンなしのアロー関数の単一パラメータ
    • 関数宣言では括弧の前のスペースは禁止されています

3. プラグインを準備する


HBuilderX プラグイン

  • eslint-jsjsおよびhtmlのjsコードを検証するために使用されます。
  • eslint-plugin-vueVue の構文チェックと構文ヒント

4. パーソナライズされた構成


1. オープン方法
  • ツール -> プラグインのインストール -> インストールされているプラ​​グイン [プラグイン名] -> 設定

パーソナライズされた構成

2. パーソナライズされた構成、具体的な操作手順は以下の参考資料で構成されています
  • eslint-js.eslintrc.jsがルールを追加しています
// 详细配置教程请参考:http://eslint.cn/docs/user-guide/configuring
module.exports = {
	"plugins": [
		"html"
	],
	"parserOptions": {
		"ecmaVersion": 2018,
		"sourceType": "module",
		"ecmaFeatures": {
			"jsx": true
		},
		"allowImportExportEverywhere": false
	},
	"rules": {
		"no-alert": 0,
		"eqeqeq": ["error", "always"], // 用强等于做判断
		"semi": ["error", "never"], // 结尾不分号
		"no-multi-spaces": "error",
		"quotes": ["error", "single"], // 使用单引号
		"arrow-parens": ["error", "as-needed"], // 简略箭头函数
		"object-curly-newline": ["error", { "multiline": true }], // 在属性内部或属性之间有换行符,就要求有换行符
		"object-curly-spacing": ["error", "always"] // 要求花括号内有空格 (除了 {})
	}
};

  • eslint-vue.eslintrc.jsがルールを追加しています
module.exports = {
	'extends': 'plugin:vue/essential',
	'parserOptions': {
		ecmaVersion: 2018,
		sourceType: 'module'
	},
	'rules': {
		'no-alert': 0,
		'eqeqeq': ['error', 'always'], // 用强等于做判断
		'semi': ['error', 'never'], // 结尾不分号
		'no-multi-spaces': 'error',
		'quotes': ['error', 'single'], // 使用单引号
		'arrow-parens': ['error', 'as-needed'], // 简略箭头函数
		'object-curly-newline': ['error', {
			'multiline': true
		}], // 在属性内部或属性之间有换行符,就要求有换行符
		'object-curly-spacing': ['error', 'always'], // 要求花括号内有空格 (除了 {})
		//在computed properties中禁用异步actions
		'vue/no-async-in-computed-properties': 'error',
		//不允许重复的keys
		'vue/no-dupe-keys': 'error',
		//不允许重复的attributes
		'vue/no-duplicate-attributes': 'warn',
		//在 <template> 标签下不允许解析错误
		'vue/no-parsing-error': ['error', {
			'x-invalid-end-tag': false,
		}],
		//不允许覆盖保留关键字
		'vue/no-reserved-keys': 'error',
		//强制data必须是一个带返回值的函数
		// 'vue/no-shared-component-data': 'error',
		//不允许在computed properties中出现副作用。
		'vue/no-side-effects-in-computed-properties': 'error',
		//<template>不允许key属性
		'vue/no-template-key': 'warn',
		//在 <textarea> 中不允许mustaches
		'vue/no-textarea-mustache': 'error',
		//不允许在v-for或者范围内的属性出现未使用的变量定义
		'vue/no-unused-vars': 'warn',
		//<component>标签需要v-bind:is属性
		'vue/require-component-is': 'error',
		// render 函数必须有一个返回值
		'vue/require-render-return': 'error',
		//保证 v-bind:key 和 v-for 指令成对出现
		'vue/require-v-for-key': 'error',
		// 检查默认的prop值是否有效
		'vue/require-valid-default-prop': 'error',
		// 保证computed属性中有return语句
		'vue/return-in-computed-property': 'error',
		// 强制校验 template 根节点
		'vue/valid-template-root': 'error',
		// 强制校验 v-bind 指令
		'vue/valid-v-bind': 'error',
		// 强制校验 v-cloak 指令
		'vue/valid-v-cloak': 'error',
		// 强制校验 v-else-if 指令
		'vue/valid-v-else-if': 'error',
		// 强制校验 v-else 指令
		'vue/valid-v-else': 'error',
		// 强制校验 v-for 指令
		'vue/valid-v-for': 'error',
		// 强制校验 v-html 指令
		'vue/valid-v-html': 'error',
		// 强制校验 v-if 指令
		'vue/valid-v-if': 'error',
		// 强制校验 v-model 指令
		'vue/valid-v-model': 'error',
		// 强制校验 v-on 指令
		'vue/valid-v-on': 'error',
		// 强制校验 v-once 指令
		'vue/valid-v-once': 'error',
		// 强制校验 v-pre 指令
		'vue/valid-v-pre': 'error',
		// 强制校验 v-show 指令
		'vue/valid-v-show': 'error',
		// 强制校验 v-text 指令
		'vue/valid-v-text': 'error',
		'vue/comment-directive': 0
	}
};

  • キーtab補完
工具 -> 设置 -> `编辑器配置`里选中 `tab键自动插入代码助手选中项`

キー補完

  • インデントの長さを 2 に設定します
工具 -> 设置 -> 常用配置 -> 制表符长度 改为 2

インデント

  • 代入を分割すると中括弧がラップされない
工具 -> 设置 -> 插件配置 -> 自定义`jsbeautify`格式化规则的`jsbeautifyrc.js`中将 "brace_style"选项添加"preserve-inline"

代入を分割すると中括弧がラップされない

参考文献

おすすめ

転載: blog.csdn.net/qq_29088015/article/details/117229218