node.js在vscode的配置

文章目錄

    • 概要
    • 1. 使用和webstrom一樣的快捷鍵
    • 2. 讓vscode的主題變成webstrom
    • 3. 如何在 Node.js 環境下寫代碼
      • 3.1 使用 ESLint配置規則
      • 3.2 配置.vscode/settings.json
    • 4. Prettier安裝
    • 5. 其它問題解決

概要

node.js在webstrom編輯器中可以完美使用代碼提示、錯誤提示等功能,但是在vscode中編輯node.js有一堆問題,為了使vscode有和nodejs一樣的功能,我嘗試了各種配置,現分享出來。

1. 使用和webstrom一樣的快捷鍵

對于熟悉JetBrains產品的coder來說,當你切換到vscode工具時,會發現快捷及其難用,就算我記住了,長時間不用vscode又會忘記該命令,實在受不了我就尋找一勞永逸的方案。

結果發現了vscode有款插件,可以直接讓你在vscode使用JetBrains快捷鍵命令: IntelliJ IDEA Keybindings
在這里插入圖片描述

2. 讓vscode的主題變成webstrom

沒啥好講的,還是借助vscode插件: Webstorm IntelliJ Darcula Theme,上圖:

在這里插入圖片描述

3. 如何在 Node.js 環境下寫代碼

在vscode寫node.js代碼時,會出現沒有錯誤提示的問題,所以寫代碼就是就很不爽,不能及時發現潛在bug,這個問題困擾我半天,經過一頓搜索發現解決方案:

3.1 使用 ESLint配置規則

  • 要檢查哪些文件?
  • 使用什么 JavaScript 語法版本?
  • 哪些全局變量是合法的?
  • 開啟/關閉哪些代碼規范規則?

使用 ESLint配置規則需要先安裝 ESLint

npm install eslint --save-dev

安裝完后編寫配置規則

  • 需要在項目的根目錄下新建一個eslint.config.js
  • eslint.config.js 是 ESLint v9 及以上版本推薦使用的新格式配置文件 (推薦使用)

規則如下:

//eslint.config.js文件
const eslintPlugin = require('@eslint/js');module.exports = [eslintPlugin.configs.recommended,{files: ['**/*.js'],languageOptions: {ecmaVersion: 2017,sourceType: 'commonjs',globals: {require: 'readonly',module: 'readonly',__dirname: 'readonly',console: 'readonly', // 這里告訴 ESLint console 是已定義的全局變量process: 'readonly', // 允許使用 process 全局變量},},rules: {strict: 'off', // 關閉 strict 規則'no-undef': 'error','no-unused-vars': 'error',eqeqeq: 'error','no-console': 'off', // 關閉 no-console 規則,允許使用 console'no-debugger': 'error','no-var': 'error','prefer-const': 'error',},ignores: ['eslint.config.cjs'], // 忽略自己},
];

解釋:

這個配置的作用是:

  • 檢查所有 .js 文件的語法和風格
  • 使用 Node.js 環境(CommonJS、ES2017)
  • 強制使用現代 JavaScript 語法
  • 合理配置全局變量,避免誤報
  • 提高代碼規范性(比如禁用 var、禁止未使用變量)
  • 忽略自身配置文件,避免循環報錯

3.2 配置.vscode/settings.json

這是 VS Code 編輯器的本地設置文件 ,用于控制編輯器的行為,比如:

  • 是否在保存時自動修復 ESLint 錯誤
  • 是否啟用 ESLint 插件
  • 使用哪個 JavaScript/TypeScript 版本高亮
  • 是否啟用智能提示等
`.vscode/settings.json文件`
{"javascript.validate.enable": false, // 禁用內置 JS 驗證"typescript.validate.enable": true, // 禁用 TS 驗證"editor.showUnused": true,"editor.defaultFormatter": "esbenp.prettier-vscode","editor.formatOnSave": true,"prettier.singleQuote": true,"prettier.trailingComma": "all","prettier.printWidth": 120,// ? 啟用 ESLint 插件對 JS 文件檢查"eslint.validate": ["javascript"],// ? 啟用 ESLint 自動修復"editor.codeActionsOnSave": {"source.fixAll.eslint": "explicit"},// ? 自動識別項目根目錄"eslint.workingDirectories": [{ "mode": "auto" }],// ? 強制插件使用項目本地 ESLint(9.x)"eslint.useESLintClass": true,// 顯示標尺(刻度線)"editor.rulers": [80, 120]
}

這段配置讓 VS Code 更加適合使用 ESLint + Prettier 的開發環境,能實現:

  • 保存時自動格式化和修復
  • 使用項目自己的 ESLint(而不是全局的)
  • 高亮未使用變量
  • 配置 Prettier 的代碼風格

4. Prettier安裝

自動格式化代碼插件:Prettier - Code formatter
在這里插入圖片描述

5. 其它問題解決

在這里插入圖片描述
在.vscode/settings.json文件中加上:

{"javascript.validate.enable": false, // 禁用內置 JS 驗證"typescript.validate.enable": true, // 禁用 TS 驗證
}

即可解決。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/86140.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/86140.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/86140.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android14音頻子系統-Audio HAL分析

文章目錄 1)概述2)HAL的打開流程3)HAL庫的實現(Qualcomm)4)tinyalsa5)數據結構6)代碼流程 1)概述 1、回顧HAL、tinyalsa與linux driver的關系 2、與AudioFlinger的關系 3、 1、如何判斷當前…

前端與 Spring Boot 后端無感 Token 刷新 - 從原理到全棧實踐

🌷 古之立大事者,不惟有超世之才,亦必有堅忍不拔之志 🎐 個人CSND主頁——Micro麥可樂的博客 🐥《Docker實操教程》專欄以最新的Centos版本為基礎進行Docker實操教程,入門到實戰 🌺《RabbitMQ》…

【AI智能體】新手教程-通過 Chat SDK 搭建網頁在線客服

通過扣子搭建的智能體可以一鍵發布為 Chat SDK,快速部署到你的自建網站中,作為在線智能客服面向網站的用戶提供 AI 答疑服務。本文檔介紹通過 Chat SDK 搭建網頁版在線客服的詳細操作步驟。 場景說明 網站作為企業和組織與用戶互動的重要平臺&#xff…

flask靜態資源與模板頁面、模板用戶登錄案例

案例代碼 import flask# template_folder 模板文件夾(靜態頁面 html頁面渲染) # static_folder 靜態資源文件夾主要存放的是類似靜態數據、音頻、視頻、圖片等 app flask.Flask(__name__, static_folderstatic, template_foldertemplate)app.route(/) def index():# render_t…

【工具教程】識別PDF中文字內容,批量識別文字并保存到Excel表格中的操作步驟和方法

在日常辦公和文件管理中,我們常常會遇到需要處理大量 PDF 文件的情況。有時,為了更好地管理和查找這些文件,需要根據 PDF 文件中特定區域的文字內容對文件進行重命名。例如,在企業檔案管理中,合同文件可能需要根據合同…

重生學AI第十三集:初識神經網絡之Conv2d

終于該學習神經網絡的搭建了,開心,嘻嘻 學習神經網絡離不開torch.nn,先把他印在腦子里,什么是torch.nn?他是Pytorch的一個模塊,包含了大量構建神經網絡需要的類和方法,就像前面學習的torch.utils&#xf…

學習C++、QT---07(C++的權限、C++的引用)

每日一言 你解決的每一個難題,都是在為未來的自己解鎖新技能。 權限的講解 這邊呢我們利用銀行的一個案例來講解權限的奧秘 權限指的是public、private 、protected 就是這三種權限,因此有這一張表進行分清他們之間的區別和聯系 但是我們在平時的話會因…

全球化短劇平臺全棧技術架構白皮書:多區域部署、智能分發與沉浸式體驗的完整解決方案

一、全球化基礎架構深度設計 全球網絡基礎設施構建 采用多活數據中心部署模式,在北美(弗吉尼亞)、歐洲(法蘭克福)、亞太(新加坡)建立三大核心樞紐節點 構建混合CDN網絡,整合AWS Clo…

深入剖析 LGM—— 開啟高分辨率 3D 內容創作新時代

一、引言 在當今數字化時代,3D 內容創作的需求如井噴般增長,從游戲開發中絢麗多彩的虛擬世界,到影視制作里震撼人心的特效場景,再到工業設計中精準無誤的產品原型,3D 技術無處不在。然而,傳統 3D 內容創作…

從用戶到社區Committer:小米工程師隋亮亮的Apache Fory成長之路

Apache Fory 是一個基于JIT和零拷貝的高性能多語言序列化框架,實現了高效緊湊的序列化協議,提供極致的性能、壓縮率和易用性。在多語言序列化框架技術領域取得了重大突破,推動序列化技術步入高性能易用新篇章!這一切,都…

【Koa系列】10min快速入門Koa

簡介 koa是基于node開發的一個服務端框架,功能同express,但更小巧簡單。 官方倉庫地址:https://github.com/koajs/koa 創建項目 創建文件夾nodeKoa,執行以下腳本 npm init -y npm i koa npm i nodemon 基礎示例 創建一個服…

IDEA與通義聯合:智能編程效率革命

IDEA與通義聯合:智能編程效率革命 當最強Java IDE遇上頂尖AI助手,會碰撞出怎樣的生產力火花? 思維導圖解讀:智能編程工作流 #mermaid-svg-uTAcSs1kBBmDwGfM {font-family:"trebuchet ms",verdana,arial,sans-serif;font…

Docker 數據持久化完全指南:Volume、Bind Mount 與匿名卷

Docker 數據持久化完全指南:Volume、Bind Mount 與匿名卷 引言 在 Docker 中,容器的文件系統默認是臨時的,容器刪除后數據也會丟失。為了實現數據持久化,Docker 提供了多種存儲方式,主要包括: docker vo…

OSS跨區域復制災備方案:華東1到華南1的數據同步與故障切換演練

1. 引言 對象存儲服務(OSS)已成為現代數據架構的核心組件。隨著業務全球化,跨區域數據災備從“可選”變為“必選”。本文以阿里云OSS為實驗環境,實戰演練華東1(杭州)到華南1(深圳)的…

前端登錄狀態管理:主流方案對比與安全實踐指南

根據目前業內前端登錄狀態管理的主流設計方案,及其演進趨勢進行匯總,生成主要包括如下內容的報告: 登錄狀態保持的基礎原理:從HTTP無狀態問題出發解析技術需求,使用表格對比核心挑戰。主流技術方案對比:詳…

動手用 Web 實現一個 2048 游戲

文章目錄 為什么選擇 2048?關鍵技術點與算法詳解HTML 結構:搭建游戲界面CSS 樣式:美化游戲界面JavaScript 核心邏輯:驅動游戲運行1)數據結構:二維數組表示游戲網格2)核心算法:添加隨…

frp v0.62.1內網穿透搭建和使用

官網:https://gofrp.org/zh-cn/ Github:https://github.com/fatedier/frp 開源項目 frp frp 是一種快速反向代理,允許您將位于 NAT 或防火墻后面的本地服務器公開給 Internet。目前支持 TCP 和 UDP,以及 HTTP 和 HTTPS 協議&…

如何使用 USB 數據線將文件從 PC 傳輸到 iPhone

雖然用 USB 數據線將文件從 PC 傳輸到安卓設備非常容易,但對于 iPhone 用戶來說,情況就不同了。不過,幸運的是,我們找到了三種可靠的方法,可以使用 USB 數據線將文件從 PC 傳輸到 iPhone,讓您輕松完成這項任…

【C++高階三】AVL樹深度剖析

【C高階三】AVL樹深度剖析 1.什么是AVL樹2.AVL樹的實現2.1節點類和基本結構2.2插入2.3旋轉處理2.3.1左單旋2.3.2右單旋2.3.3左右雙旋2.3.4右左雙旋 1.什么是AVL樹 AVL樹也叫二叉搜索平衡樹 因為二叉搜索樹如果插入順序是有序的,那么這棵樹的查找效率將會是O(N)&…

LangChain 文本分割器深度解析:從原理到落地應用(上)

食用指南 LangChain 作為大語言模型應用開發框架,文本分割器是其核心組件之一,本文以此作為切入點,詳細介紹文本分割的作用、策略、以及常見的文本切割器應用。考慮到篇幅過長,故拆分為上、中、下三篇,后續會在中篇介…