# สร้างโปรเจค Vue.js กับ VS Code
#Dev#Vuejs#Settings#Vscodeมาเริ่มสร้างโปรเจค Vue.js พร้อมกับตั้งค่า VS Code แบบที่คิดว่าดีกันดีกว่าโดยสิ่งที่เราจะได้นั้น
- การ Dev แบบไม่ต้องจัดฟอร์แมตโค้ดเอง โค้ดเรียบร้อย แม้ว่าจะ Dev กันทีละหลายคน
- โปรแกรมจะแก้โค้ดให้เอง (แต่บางกรณีมันก็ไม่แก้ให้นะ)

# ติดตั้ง NPM และ Vue CLI กันก่อน
- สำหรับติดตั้ง Node/NPM คลิก (opens new window)
- ติดตั้ง Vue CLI ผ่าน Command
npm install -g @vue/cli
- จากนั้นก็ลองสร้างสักโปรเจคนึง
vue create sample
พอรันคำสั่งแล้วก็จะพบกับหน้าจอช่วยสร้างโปรเจค ในที่นี้ผมเคยสร้างโปรเจคมาก่อนแล้วก็ได้ทำการเซฟการตั้งค่าเอาไว้ด้วย ถ้าเราพึ่งเคยสร้างครั้งแรกอาจจะเลือก ‘Manually select features’ ก็ได้ครับ
ซึ่งเมื่อเลือกแล้วจะขึ้นหน้าว่าเราต้องการให้เพิ่มอะไรเข้าไปในโปรเจคของเราบ้าง
- Babel สำหรับ Compile Javascript ของเรา ก็เลือกไป
- TypeScript สำหรับคนที่อยากเขียนเป็น TypeScript แทน Javascript
- Progressive Web App ถ้าอยากใช้ก็เลือกได้ครับ เพิ่มเติม
- Router ปลั๊กอินพื้นฐานที่ควรมี สำหรับการทำเว็บแบบ Single Page Application
- Vuex ปลั๊กอินที่ใช้จัดการ State ของ Application ของเรา
- CSS Pre-processors สำหรับคนที่จะใช้ภาษาอย่าง SASS, SCSS, LESS ในการเขียนแทน CSS
- Linter / Formatter ตัวช่วยที่จะทำให้โปรเจคของเรามีระเบียบ ถ้าเขียนโค้ดหลายๆคนโปรเจคจะมีลักษณะเดียวๆกัน
- Unit Testing สำหรับทำเทส
- E2E Testing สำหรับทำเทสแบบเสมือนมีคนใช้จริง

เมื่อเลือกเสร็จแล้วจะถึงการตั้งค่าแต่ละปลั๊กอินแบบละเอียด

การตั้งค่า Linter เลือกหนึ่งในสองอันนี้
- Airbnb เพิ่มเติม (opens new window)
- Standard เพิ่มเติม (opens new window)


อันนี้เป็นการเลือกว่าจะให้พวก Config ของ Plugin ต่างๆไปอยู่ที่ไหน แบบแรกคือแยกไฟล์ออกมาเลย ส่วนแบบที่สองคือโยน Config ไว้ใน package.json

สุดท้ายจะถามว่าให้บันทึกการตั้งค่าแบบนี้ไว้ใช้ทีหลังไหม ก็แล้วแต่เลยครับ

ตั้งค่าเสร็จแล้วก็รอไปยาวๆ หลังจากเสร็จแล้วให้ไปที่โฟลเดอร์ของโปรเจคแล้วทำการติดตั้ง
npm install --save-dev eslint-config-prettier eslint-plugin-prettier
# ติดตั้ง VSCode และ Extension
- ถ้ายังไม่มี VSCode ก่อนครับ คลิก (opens new window)
- ทำการเปิดโปรแกรมขึ้นมาไปที่เมนู Extension ด้านซ้าย ค้นหา ‘vue extension pack’ แล้วเลือก ‘Vue.js Extension Pack’ ของ ‘Muhammad Ubaid Raza’ แล้วทำการติดตั้ง

ทีนี้ไปที่เฟืองซ้ายล่างแล้วเลือก Settings -> Workspace Settings แล้วกดด้านไอค่อนขวาบนสุดที่เป็นรูป {} แล้วทำการแปะ Settings ลงไป
{
"editor.insertSpaces": true,
"editor.tabSize": 2,
"eslint.validate": [
{
"language": "vue",
"autoFix": true
},
{
"language": "javascript",
"autoFix": true
},
{
"language": "javascriptreact",
"autoFix": true
}
],
"eslint.autoFixOnSave": true,
"vetur.validation.template": false,
"[scss]": {
"editor.formatOnSave": true
},
"[json]": {
"editor.formatOnSave": true
},
"[jsonc]": {
"editor.formatOnSave": true
},
"vetur.completion.tagCasing": "initial",
"path-intellisense.extensionOnImport": true,
"path-intellisense.mappings": {
"@": "${workspaceRoot}/src"
}
}
ทำการเพิ่มไฟล์ .prettierrc
ที่นอกสุดของโฟลเดอร์โดยมีเนื้อหา
{
"singleQuote": true,
"semi": true // true ถ้าอยากให้โค้ดเราใส่ ; ลงท้าย และ false ถ้าไม่อยาก
}
แก้ไฟล์ .eslintrc.js
ในอนาคตอาจเปลี่ยนเยอะ เพิ่มเท่าที่ใช้ก็ได้
module.exports = {
root: true,
env: {
node: true,
},
extends: [
'plugin:vue/essential',
'@vue/airbnb',
'plugin:prettier/recommended', // Add this
'prettier', // Add this
'prettier/vue', // Add this
],
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'semi': 'off', // Add this
},
parserOptions: {
parser: 'babel-eslint',
},
plugins: ['prettier'] // Add this
};
ปิด VS Code แล้วเปิดใหม่เสียหนึ่งที ก็พร้อมที่จะทำงานแล้วจ้า 🤣