VSCode搭建开发环境--从PyCharm到拥抱vscode

VSCode搭建开发环境

  • 前言
  • 安装扩展
  • 全局配置文件
  • 单个项目的配置
  • 快捷键

前言

最近自己的PyCharm Professional的License过期了,导致没有一个好的开发IDE,于是开始拥抱免费的Visual Studio Code啦。

当然,不可否认的是PyCharm对于开发Python来说还是非常好用的,特别是Professional版本。

由于本人不仅写Python,也写一些前端代码,PyCharm或者WebStorm来写前端都导致电脑很卡,特别吃内存。

于是趁此机会拥抱vscode,一方面因为免费,另外vscode有很多扩展(Extensions),能支持多语言的开发,非常方便。

vscode官网下载

vscode主要是安装扩展,然后就是各种配置项,以满足个人的自定义需求。

安装扩展

在这里插入图片描述
推荐可以安装如下扩展:

  • Python 导入Python项目会自动识别,IDE会主动推荐安装扩展;
  • autoDocstring 用于自动生成注释文档的,支持很多风格文档的定义;
  • Flake8 或者 pylint 用于代码风格检查;若两个都安装了,开启一个使用即可;
    • 该插件依赖系统命令,Mac系统可使用brew安装 brew install flake8 或者 brew install pylint
    • 否则无法生效,或者pip安装,然后按照相关配置说明配置命令行路径,推荐全局安装;
  • Prettier 可用于格式化代码
  • GitLens 用于git管理
  • ESLint 前端代码检查
    • 依赖eslint命令,推荐全局安装;
    • 也可在项目当前目录下通过package.json配置安装;

以上所有插件都可以通过界面配置,当然也可以通过command + , 快捷方式打开:
在这里插入图片描述
在这里插入图片描述
其中git扩展还提供了自己的UI管理界面:command + shift + p 打开搜索:
在这里插入图片描述
例如我取消了类上面git blame相关的信息提示:
在这里插入图片描述

全局配置文件

在这里插入图片描述
在这里插入图片描述
全局配置文件通过json编辑,这里给出配置示例,至于含义可自行搜索一下:

settings.json

{
  // 开启自动保存
  "files.autoSave": "afterDelay",
  "[markdown]": {
    "diffEditor.ignoreTrimWhitespace": true
  },
  // 设置Google风格的文档
  "autoDocstring.docstringFormat": "google-notypes",
  "python.diagnostics.sourceMapsEnabled": true,
  // python代码检查的设置
  "pylint.args": ["--disable=C0111", "--max-line-length=120"],
  "flake8.args": ["--max-line-length=120", "--exclude=migrations", "--ignore=E203,E503,W503"],
  // 排除在ide内不展示的目录
  "files.exclude": {
    "**/__pycache__": true,
    "**/.idea": true,
    "**/vendor": true
  },
  // 自动化格式代码配置,看需要根据语言打开
  "[javascriptreact]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "emmet.includeLanguages": {
    "javascript": "javascriptreact"
  },
  "prettier.arrowParens": "avoid",
  "prettier.printWidth": 512,
  "[jsonc]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "eslint.workingDirectories": ["./frontend"],
  "git.openRepositoryInParentFolders": "always",
  "[python]": {
    "diffEditor.ignoreTrimWhitespace": true,
    "editor.formatOnType": true,
    "editor.wordBasedSuggestions": "off"
  },
  // 用于出现中文
  "editor.unicodeHighlight.allowedLocales": {
    "zh-hans": true
  },
  // git blame 的格式显示
  "gitlens.blame.format": "${author|12} ${message|30?} ${agoOrDate|14-}",
  // git blame不显示头像
  "gitlens.blame.avatars": false,
  // 自动去掉行末的空格
  "files.trimTrailingWhitespace": true,
  "[json]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "gitlens.codeLens.enabled": false,
  // 不自动根据打开的文件定位到菜单
  "explorer.autoReveal": "focusNoScroll",
  // 菜单文件树目录的缩进
  "workbench.tree.indent": 16
}

keybindings.json

// 将键绑定放在此文件中以覆盖默认值
[
    {
        "key": "shift+cmd+u",
        "command": "-workbench.action.output.toggleOutput",
        "when": "workbench.panel.output.active"
    },
    {
        "key": "shift+cmd+u", // 切换大写
        "command": "editor.action.transformToUppercase"
    },
    {
        "key": "cmd+u",  // 切换小写
        "command": "editor.action.transformToLowercase"
    }
]

单个项目的配置

放在项目根目录下,新建文件夹.vscode , 里面可以用于放配置文件覆盖全局配置。
.vscode/settings.json

{
	// 设置前端目录路径
    "eslint.workingDirectories": [
        "./frontend"
    ],
   	// 设置python后端目录路径
    "python.analysis.extraPaths": [
        "./backend"
    ],
    "flake8.cwd":"${workspaceFolder}/backend"
}

另外 .vscode/launch.json 文件可用于配置启动命令相关。

快捷键

详见 Macos系统下vscode快捷键说明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/689377.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【产品研发】NPDP价值作用概述

导读:本文结合个人实践和思考对NPDP的价值和作用做了概述说明,对于产品经理而言掌握NPDP的知识体系并且应用到实际工作中,这是非常有必要的。走出以往狭隘的产品研发工作认知,以开放心态学习国际化产品创新开发流程将极大提升产品…

mysql工具----dbForgeStudio2020

dbForgeStudio2020,除了基本的操作外,还具有可调试mysql存储过程的功能,是一个不可夺得的mysql软件工具。 本文的软件将简单介绍软件的安装方式,仅供学习交流,不可做它用。 1.安装软件,安装后&#xff0c…

Flutter vscode环境如何进行真机测试

目录 1. 准备工作 1.1 安装Flutter和VS Code 1.2 安装必要的VS Code扩展 1.3 手机设置 2. 配置VS Code调试环境 3. 手机如何退出开发者模式 1. 准备工作 1.1 安装Flutter和VS Code 确保你已经在电脑上安装了Flutter SDK和VS Code。如果还没有,可以参考以下指…

线性代数|机器学习-P9向量和矩阵范数

文章目录 1. 向量范数2. 对称矩阵S的v范数3. 最小二乘法4. 矩阵范数 1. 向量范数 范数存在的意义是为了实现比较距离,比如,在一维实数集合中,我们随便取两个点4和9,我们知道9比4大,但是到了二维实数空间中&#xff0c…

Typesense-开源的轻量级搜索引擎

Typesense-开源的轻量级搜索引擎 Typesense是一个快速、允许输入错误的搜索引擎,用于构建愉快的搜索体验。 开源的Algolia替代方案& 易于使用的弹性搜索替代方案 官网: https://typesense.org/ github: https://github.com/typesense/typesense 目前已有18.4k…

注册自定义材质实现qgis里不同比例尺下材质不被拉升的效果

前景提要: 在QGIS里的显示效果,用的是示例的/img/textures/line-interval.png材质图片。 下载示例 git clone https://gitee.com/marsgis/mars3d-vue-example.git 相关效果 比如材质是5像素,在1:100000万比例尺下,线显示的长…

Django与MySQL:配置数据库的详细步骤

文章目录 Django-MySQL 配置配置完执行数据迁移,如果报错: Error loading MySQLdb module, Django-MySQL 配置 # settings.pyDATABASES {# 默认配置sqlite3数据库# default: {# ENGINE: django.db.backends.sqlite3,# NAME: BASE_DIR / db.sqli…

【一百零九】【算法分析与设计】树状数组求解前缀最大值,673. 最长递增子序列的个数,树状数组求前缀区间最大值

树状数组求解前缀最大值 树状数组可以求解和前缀区间有关的问题,例如前缀和,前缀区间最值. 可以利用 l o g n log_n logn​的时间复杂度快速查找前缀信息. 利用树状数组查询前缀区间中最大值问题. 树状数组下标1位置存储arr数组下标1位置的最大值. 树状数组2位置存储arr数组1,…

2024 cicsn SuperHeap

文章目录 参考沙箱存在protobuf逆向buy_booksee_bookreturn_bookedit_booksearch_book 思路exp 参考 https://hakuya.work/post/7 https://akaieurus.github.io/2024/05/20/2024%E5%9B%BD%E8%B5%9B%E5%88%9D%E8%B5%9Bpwn-wp/#SuperHeap https://blog.csdn.net/m0_63437215/art…

html--圣诞树

将以下代码保存到txt文件中&#xff0c;并改名为xx.html <html> <head> <title>圣诞树</title> <meta charset"utf-8" > <style> html, body { width: 100%; height: 100%; margin: 0; padding: 0; border: 0; } div { margin: …

Windows 找不到文件‘shell:sendto‘。请确定文件名是否正确后,再试一次

执行“shell:sendto”命令的时候&#xff0c;报错&#xff1a;Windows 找不到文件’shell:sendto’。请确定文件名是否正确后&#xff0c;再试一次 解决办法&#xff1a; 在桌面新建一个记事本文件命名为fix.reg&#xff0c;注意后缀是reg&#xff0c;文件中填写以下内容&…

常见机器学习概念

信息熵 信息熵&#xff08;information entropy&#xff09;是信息论的基本概念。描述信息源各可能事件发生的不确定性。20世纪40年代&#xff0c;香农&#xff08;C.E.Shannon&#xff09;借鉴了热力学的概念&#xff0c;把信息中排除了冗余后的平均信息量称为“信息熵”&…

课时149:项目发布_基础知识_项目交付

1.1.1 项目交付 学习目标 这一节&#xff0c;我们从 基础知识、代码发布、小结 三个方面来学习 基础知识 简介 项目交付是一个涉及到多团队共同协作的事情&#xff0c;它包括 产品团队设计产品、研发团队开发产品、测试团队测试代码、运维团队发布代码和维护站点等工作。项…

Bev 车道标注方案及复杂车道线解决

文章目录 1. 数据采集方案1.1 传感器方案1.2 数据同步2. 标注方案2.1 标注注意项2.2 4d 标注(时序)2.2.1 4d标签制作2.2.2 时序融合的作用2.2.2.1 时序融合方式2.2.2.2 时序融合难点2.2.2.2 时序实际应用情况3. 复杂车道线解决3.1 split 和merge车道线的解决3.2 大曲率或U形车道…

56.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露(4)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;55.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露&#xff08;3&#xff09; 如果把文…

数据挖掘--数据仓库与联机分析处理

什么是数据仓库 &#xff08;面集时非&#xff09; 面向主题的&#xff1a;围绕某一主题来构建集成的&#xff1a;图片文字杂糅在一起时变的&#xff1a;随时间变化的数据非易失的&#xff1a;硬盘存放&#xff0c;不易丢失 操作数据库系统&#xff08;OLTP)与数据仓库(OLAP…

原力、百度、人人文档下载工具

只可下载可预览的文档&#xff0c;格式为pdf&#xff0c;不能完全保证下载成功&#xff0c;X度与我们既是对手也是朋友。 本文的软件来自的大神&#xff0c;仅供学习交流&#xff0c;不可做它用。 向的大神致敬&#xff01;&#xff01;&#xff01;

C语言 | Leetcode C语言题解之第137题只出现一次的数字II

题目&#xff1a; 题解&#xff1a; int singleNumber(int *nums, int numsSize) {int a 0, b 0;for (int i 0; i < numsSize; i) {b ~a & (b ^ nums[i]);a ~b & (a ^ nums[i]);}return b; }

【CS.CN】深入解析HTTP中的Expect: 100-continue头:性能优化的利器还是鸡肋?

目录 0 序言 0.1 由来0.2 使用场景0.3 现在还需要吗&#xff1f; 1 Expect: 100-continue的机制2 语法 && 通过重新设置空的Expect头优化性能3 实例分析&#xff1a;长连接中的Expect问题解决4 总结 0 序言 0.1 由来 Expect: 100-continue头部字段最早在HTTP/1.1规…

Matplotlib常见图汇总

Matplotlib是python的一个画图库&#xff0c;便于数据可视化。 安装命令 pip install matplotlib 常用命令&#xff1a; 绘制直线&#xff0c;连接两个点 import matplotlib.pyplot as plt plt.plot([0,5],[2,4]) plt.show() 运行结果如下&#xff1a; 多条线&#xff1a;…