electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google JavaScript Style Guide代码规范
我的electron教程系列
electron教程(一): electron的安装和项目的创建
electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google JavaScript Style Guide代码规范
electron教程(番外篇二): 使用TypeScript版本的electron, VSCode调试TypeScript, TS版本的ESLint
electron教程(二): http服务器, ws服务器, 子进程管理
electron教程(三): 使用ffi-napi引入C++的dll
electron教程(四): 使用electron-builder或electron-packager将项目打包为可执行桌面程序(.exe)
引言
这一篇将介绍:
1. 如何部署开发环境VSCode.
2. 如何使用vscode调试启动项目.
3. 如何使用ESLint插件来检查代码, 代码风格规范使用Google JavaScript Style Guide(官方英文, 第三方中文翻译).
4. VSCode插件推荐.
安装VSCode
通过VSCode官网下载, 可以安装在任意盘符下任意位置.
安装完成后, 就可以使用VSCode打开并编辑main.js了.
你还可以使用VSCode打开并编辑.html, .json等文件, 甚至是.txt, .md等文件.
使用VSCode调试启动项目
1. 部署node.js+electron环境
按步骤完成electron教程(一): electron的安装和项目的创建所介绍的内容.
2. 创建launch配置文件
在项目根目录, 建立.vscode目录, 在该文件夹内创建launch.json文件, 内容如下:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Electron JS", // 配置方案名字, VSCode左下角可以切换配置方案
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
"program": "${workspaceFolder}/src/main.js", // electron入口
"protocol": "inspector" // 默认的协议是legacy,该协议导致不进入断点
},
]
}
3. 将你的项目复制进VSCode
现在, 启动一个VSCode.
然后, 将整个项目文件夹blogs, 拖动到VSCode的主窗口中, 可以看到, 鼠标位置显示出复制, 如下图所示:

松开鼠标, 复制完成, VSCode界面左边出现blogs目录, 可以直接打开该目录下任意文件:

4. 调试!
在main.js中打一个断点, 然后按下F5, 就会进入断点调试, 一路执行下去, 最终依然会出现electron程序界面.
安装ESLint代码检查工具, Google JavaScript Style Guide
ESLint是一个语法规则和编码规范的检查工具, 它有两个功能:
功能一:
由于JavaScript是动态弱类型语言, 编译器无法进行代码检查(比如类型错误), 以往都需要执行JavaScript代码才能发现语法错误或其他错误. 而ESLint, 可以在我们写代码的时候就提示出语法错误, 对开发人员非常有帮助.
功能二:
ESLint可以导入编码规范, 强制代码符合某种规范, 常见的有: Google开源的JavaScript代码风格规范Google JavaScript Style Guide, 由很多前端开发人员总结的eslint-config-standard, Airbnb开源的的规范.
你可以在上述开源规范上, 做一些自己喜欢的修改, 如果你愿意, 甚至可以自己写一套规范.
1. 安装ESLint
在项目根目录, 执行指令:
npm install --save eslint eslint-config-google
2. 修改配置文件
在项目根目录创建.eslintrc.js文件,将下列内容复制到文件中:
module.exports = {
"extends": ["google"],
"parserOptions": {
"ecmaVersion": 2018
},
"env": {
"es6": true
},
rules: {
"linebreak-style": ["error","windows"],
}
};
上面的配置文件, 主要有以下内容:
1. extends指定了使用google编码规范.
2. parserOptions指定ECMAScript支持的版本,2018指ES2018
3. env为环境变量, 可以预设好的其他环境的全局变量,如brower环境变量, node环境变量, es6环境变量, mocha环境变量等.
4. rules可以添加一些自己的规则, 这些规则会覆盖掉extends中指定的规范. 在这里我指定了linebreak-style使用windows风格换行符CRLF, 而不是Google Style默认的Unix风格换行符LF.
3. 安装VSCode的ESlint插件
在VSCode左侧的Extensions中搜索ESlint,安装ESlint, 如下图:

4. 重启VSCode生效

VSCode插件推荐
1. vscode-icon
整个插件可以改变不同格式文件的图标.
如下图所示, .js, .html, .json等文件, 使用了不同的图标:

在VSCode左侧的Extensions中搜索vscode-icons ,安装vscode-icons, 如下图:

electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google JavaScript Style Guide代码规范的更多相关文章
- electron教程(番外篇二): 使用TypeScript版本的electron, VSCode调试TypeScript, TS版本的ESLint
我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(番外篇一): 开发环境及插件, VSCode调试, ESLint + Google ...
- 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV
这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...
- C++雾中风景番外篇3:GDB与Valgrind ,调试代码内存的工具
写 C++的同学想必有太多和内存打交道的血泪经验了,常常被 C++的内存问题搅的焦头烂额.(写 core 的经验了)有很多同学一见到 core 就两眼一抹黑,不知所措了.笔者 入"坑&quo ...
- 【番外篇】Rust环境搭建+基础开发入门+Rust与.NET6、C++的基础运算性能比较
前言:突然想打算把Rust作为将来自己主要的副编程语言.当然,主语言还是C#,毕竟.NET平台这么强大,写起来就是爽.缘起:之前打算一些新的产品或者新的要开发的东西,由于没有历史包袱,就想重新选型一下 ...
- 《30天自制操作系统》学习笔记--番外篇之Mac环境下的工具介绍
这几天又有点不务正业了,书也没看,一直在搞这个破环境,尝试各种做法,网上各种垃圾信息,浪费了很多时间,说的基本都是废话,不过还是找到了一些,赶紧写下来,不然这个过几天又忘了 首先是环境,我用的是Max ...
- electron教程(三): 使用ffi-napi引入C++的dll
我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(二): http服务器, ws服务器, 进程管理 electron教程(三): 使 ...
- electron教程(一): electron的安装和项目的创建
我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(二): http服务器, ws服务器, 进程管理 electron教程(三): 使 ...
- electron教程(二): http服务器, ws服务器, 进程管理
我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(二): http服务器, ws服务器, 进程管理 electron教程(三): 使 ...
- electron教程(四): 使用electron-builder或electron-packager将项目打包为可执行桌面程序(.exe)
我的electron教程系列 electron教程(一): electron的安装和项目的创建 electron教程(二): http服务器, ws服务器, 子进程管理 electron教程(三): ...
随机推荐
- P1011 圆柱体的表面积
题目描述 输入底面半径 \(r\) 和高 \(h\) ,输出圆柱体的表面积,保留 \(3\) 位小数. 输入格式 输入包含两个实数 \(r,h(1 \le r,h \le 1000)\) 且保证输入的 ...
- P3810 陌上花开 CDQ分治
陌上花开 CDQ分治 传送门:https://www.luogu.org/problemnew/show/P3810 题意: \[ 有n 个元素,第 i 个元素有 a_i. b_i. c_i 三个属性 ...
- 今天IT告告诉我,我电脑上的java jdk属性收费滴!需卸载
敲着代码,IT突然跑来说,你电脑的Jdk版本属于收费版,目前需要卸载!啊哦...手贱!每次有更新我都更新了,Java要收费老早之前耳闻了,但是俺很少做java,一般都在.Net,所以忽略鸟.. 于是G ...
- 读<大道至简>--软件工程实践者的思想有感
初闻其名,<大道至简>,大多人都会觉得这是一本满腹人生哲理的书籍,作者洋洋洒洒的谈论大道理,其实不然,作者以古典文化为引,以作者的所思所想为线,启蒙了我作为一个软件工程初学者的实践思想. ...
- 16.python内置函数
Python 内置函数:https://www.runoob.com/python/python-built-in-functions.html 原文:https://www.cnblogs.com/ ...
- 同时安装了python3.4和python3.5,如何使用pip?
首先我们python3.4 -m pip --version一下 再python3.5 -m pip --version 一下 发现两个pip版本不同,在使用pip3时,使用的其实是python3.4 ...
- web服务器调用Servlet的过程
Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后: Web服务器首先检查是否已经装载并创建了该Servlet的实例对象.如果是,则直接执行第④步,否则,执行第② ...
- 动态规划之用最少的字符操作将字符串A转换为字符串B
1.试用动态规划算法实现下列问题:设A和B是两个字符串.我们要用最少的字符操作,将字符串A转换为字符串B,这里所说的字符操作包括: (1)删除一个字符. (2)插入一个字符. (3)将一个字符改为另一 ...
- 浅谈Java的默认和静态方法
目录 浅谈Java的默认和静态方法 Java新增默认方法有啥用 Java新增的静态方法有啥用 浅谈Java的默认和静态方法 允许在接口中声明默认方法和静态方法,是JDK1.8新增的特性.存在即合理,两 ...
- Nginx 究竟如何处理事件?
在了解了网络事件以及事件分发收集器以后,让我们来了解 Nginx 是怎么样处理事件的? Nginx 事件循环 当 Nginx 刚刚启动时,在等待事件部分,也就是打开了 80 或 443 端口,这个时候 ...