当前位置: 首页 > news >正文

IAR+vscode开发环境搭建,千万别用,当心爱上

IAR+vscode开发环境搭建,千万别用,当心爱上

早前都是使用IAR+Source Insight来搭建开发环境,毕竟IAR编辑起来代码,让人感觉脏乱差,这里不是说他不好的,人家代码压缩、编译速度方便还是很厉害的。但是编辑代码代码的舒适程度还是要看其他软件。这里介绍一种IAR+vscode开发环境搭建,替换掉早前的IAR+Source Insight方式,请不要尝试,一旦尝试会爱上他。

安装vscode

下载安装vscode

这里不用藏着掖着,vscode开源免费,这里需要感谢微软,直接搜索下载即可,留下个网址:

Visual Studio Code - Code Editing. Redefined

Vscode插件众多,我们安装适C开发的插件即可

双击打开vscode

如下图所示单击1,在2中输入需要安装的插件,安装即可,安装完成后3中会显示已经安装好的插件,也可以在3中选择卸载安装的插件。

推荐安装的插件

C/C++,这个肯定是必须的

C/C++ Snippets,即 C/C++重用代码块

C/C++ Advanced Lint,即 C/C++静态检测

Include AutoComplete,即自动头文件包含

Rainbow Brackets,彩虹花括号,有助于阅读代码

One Dark Pro, VSCode 的主题

GBKtoUTF8,将 GBK 转换为 UTF8

ARM,即支持 ARM 汇编语法高亮显示

Chinese(Simplified),即中文环境

vscode-icons, VSCode 图标插件,主要是资源管理器下各个文件夹的图标

compareit,比较插件,可以用于比较两个文件的差异

上述插件安装完毕后,可以将vscode切换成中文模式

单击1,找到我们装的插件chinese,按照使用方法操作即可。

IAR安装

IAR相比做嵌入式开发的,再熟悉不过了,我使用的版本是如下图所示,不过也不在乎IAR版本的,因为使用过程中,它就是个编译器。

 

使用vscode管理工程步骤

新建vscode工作空间

以我最近开发STM8的一个例程为例说明使用vscode的使用,首先打开vscode,单击文件选择文件夹,找到对应的IAR工程文件,如下图所示:

 

这里最好保存一下,单击文件,选择将工作区另存为,保存到该文件夹下,如下图所示,多了一个对应的文件。

到这里就可以使用vscode进行代码查看了(其实不保存工作空间,也可以进行代码查看,超级方便),如下图所示搜索main(

1处单击,2处输入main(,3处显示搜索结果,效率很高很快。

设置不关注文件

如下图所示,单击1新建.vscode文件夹

单击2,.vscode文件夹下新建setting.json

单击3,打开setting.json,输入如下文件,这个文件很好理解,就是搜索的和显示的适合忽悠指定格式的文件。

{ 
"search.exclude": {
    "**/node_modules": true,
    "**/bower_components": true,

    "**/*.o": true,
    "**/*.cmd": true,
    "**/*.hex": true,
    "**/*.out": true,
    "**/*.pbi": true,
    "**/*.cout": true,
    },
    "files.exclude": {
    "**/.git": true,
    "**/.svn": true,
    "**/.hg": true,
    "**/CVS": true,
    "**/.DS_Store": true,
    
    "**/*.o": true,
    "**/*.cmd": true,
    "**/*.hex": true,
    "**/*.out": true,
    "**/*.pbi": true,
    "**/*.cout": true,
    }
}

 

版本管理

Vscode不仅仅可以代码查看,也可以代码版本管理。单击1,单击2初始化仓库

初始化仓库后,先不要着急提交版本,最好修改一下代码工程中如下路径文件

修改如下图所示,忽略编译过程文件

 

该文件提供如下

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
#
# NOTE! Don't add files that are generated in specific
# subdirectories here. Add them in the ".gitignore" file
# in that subdirectory instead.
#
# NOTE! Please use 'git ls-files -i --exclude-standard'
# command after changing this file, to see if there are
# any tracked files which get ignored after the change.
#
# Normal rules
#
*.hex
*.out
*.map
*.pbi
*.pbi.cout
.*
*.o
*.o.*
*.a
*.s
*.ko
*.so
*.so.dbg
*.mod.c
*.i
*.lst
*.symtypes
*.order
*.elf
*.bin
*.tar
*.gz
*.bz2
*.lzma
*.xz
*.lz4
*.lzo
*.patch
*.gcno
*.ll
modules.builtin
Module.symvers
*.dwo
*.su
*.c.[012]*.*
 
#
# Top-level generic files
#
/tags
/TAGS
/linux
/vmlinux
/vmlinux.32
/vmlinux-gdb.py
/vmlinuz
/System.map
/Module.markers
 
#
# Debian directory (make deb-pkg)
#
/debian/
 
#
# tar directory (make tar*-pkg)
#
/tar-install/
 
#
# git files that we don't want to ignore even if they are dot-files
#
!.gitignore
!.mailmap
!.cocciconfig
 
#
# Generated include files
#
include/config
include/generated
arch/*/include/generated
 
# stgit generated dirs
patches-*
 
# quilt's files
patches
series
 
# cscope files
cscope.*
ncscope.*
 
# gnu global files
GPATH
GRTAGS
GSYMS
GTAGS
 
# id-utils files
ID
 
*.orig
*~
\#*#
 
#
# Leavings from module signing
#
extra_certificates
signing_key.pem
signing_key.priv
signing_key.x509
x509.genkey
 
# Kconfig presets
all.config
 
# Kdevelop4
*.kdev4

此时再提交文件,就少了很多需要git管理的文件,这里大部分都是.c/.h文件,也是我们需要git管理的文件。

如下图所示,再1中输入提交版本,单击提交即可。初次提交,可能耗时稍长。

 

提交完毕后,再main.c 79行添加代码,如下图1中所示,2处显示有1处修改。

 

看看下图效果,是不是很爽啊,即可将修改恢复,又可以清晰的看到代码修改位置,谁人不爱。还是那句话,千万别用,会上瘾。

 

 

 

 

 

 

 

 

相关文章:

  • 一些 Next Generation ABAP Platform 的新语法用例
  • java面向对象思维程序设计开发以及案例 -电梯运行问题对象分析与程序设计(1)
  • vulnhub EMPIRE: BREAKOUT靶机
  • 【Python】PyQt5 Designer工具配置
  • Camera-MTK OpenCamera时序以及耗时
  • SpringCloud链路追踪SkyWalking-第二章-部署搭建及高可用
  • springboot vue3 elementui plus点餐外卖系统源码
  • Node.js阶段学习(一)
  • 一、nacos安装与高可用部署
  • mysql实现删除某一列的重复数据(只留一行或全部删除)
  • 数学建模十大算法01-蒙特卡洛算法(Monte Carlo)
  • 智能家居相关企业达2万余家,湖南智能家居发展将进入快车道
  • java计算机毕业设计高校学生社团管理源码+数据库+系统+lw文档+mybatis+运行部署
  • Flutter: FutureBuilder 组件的使用
  • CAS(Compare and swap)比较并交换算法解析
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • 03Go 类型总结
  • 2017 前端面试准备 - 收藏集 - 掘金
  • avalon2.2的VM生成过程
  • AWS实战 - 利用IAM对S3做访问控制
  • Git同步原始仓库到Fork仓库中
  • java8-模拟hadoop
  • js操作时间(持续更新)
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • mysql 数据库四种事务隔离级别
  • Mysql5.6主从复制
  • Node + FFmpeg 实现Canvas动画导出视频
  • overflow: hidden IE7无效
  • vuex 笔记整理
  • vue自定义指令实现v-tap插件
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 经典排序算法及其 Java 实现
  • 每天10道Java面试题,跟我走,offer有!
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 系统认识JavaScript正则表达式
  • (C++20) consteval立即函数
  • (二)PySpark3:SparkSQL编程
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (转) Android中ViewStub组件使用
  • (转)linux下的时间函数使用
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .Net Remoting常用部署结构
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET 命令行参数包含应用程序路径吗?
  • .netcore如何运行环境安装到Linux服务器
  • .Net开发笔记(二十)创建一个需要授权的第三方组件