文章目录

    • 概要
    • 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 作为大语言模型应用开发框架,文本分割器是其核心组件之一,本文以此作为切入点,详细介绍文本分割的作用、策略、以及常见的文本切割器应用。考虑到篇幅过长,故拆分为上、中、下三篇,后续会在中篇介…