使用VS Code实现编辑与编译一体化:这年头谁还用Keil5烧录啊!

在软件开发中,编辑和编译是最基础且必不可少的两个环节。然而,在过去,大多数开发者在进行这两个环节时,常常需要在不同的软件之间来回切换,这不仅效率低下,而且不便于管理。本文将介绍如何通过在VS Code中编辑并直接编译,实现一站式编辑与编译的便捷操作。

为什么需要实现编辑与编译一体化

在传统的开发过程中,开发者通常会使用VS Code等文本编辑器编辑代码,然后使用Keil5等集成开发环境进行编译。这种切换来回的方式不仅繁琐,而且容易导致操作失误,降低开发效率。因此,实现一站式编辑与编译对于提高开发效率和舒适度至关重要。

脚本实现编辑与编译一体化

我们将通过两个脚本实现一站式编辑与编译功能,分别是build.batdownload.bat。以下是这两个脚本的详细说明及使用方法:

build.bat

build.bat脚本用于在Keil5中进行编译操作,并在VS Code终端中显示编译结果。

@echo off
REM Define path variables
set "keil_path=D:\software\Keil_V528\UV4" 
set "project_root=D:\Lebaicong\Project\GR-150"
set "project_path=%project_root%\MDK-ARM"
set "build_output=%project_path%\Build_Output.txt"
set "uvprojx=%project_path%\GR-150.uvprojx"

REM Set default build parameter to -b
set "build_param=-b"

REM Check if -all parameter exists
if "%1"=="-all" (
    set "build_param=-r"
)

REM Keil build
"%keil_path%\UV4.exe" -j0 %build_param% "%uvprojx%" -o "%build_output%"

REM Use PowerShell to output the build result
powershell -Command "$content = Get-Content '%build_output%' -Encoding UTF8; foreach ($line in $content) { if ($line -match 'warning') { Write-Host $line -ForegroundColor Cyan } elseif ($line -match 'error') { Write-Host $line -ForegroundColor Red } else { Write-Host $line } }"
  • 作用: 该脚本用于在VS Code终端中执行Keil5的编译命令,并显示编译结果,并对警告和错误进行高亮显示。
  • 使用方法: 用户只需将此脚本保存为 build.bat 文件,并在 VS Code 中打开终端,执行该脚本即可完成编辑与编译的一体化操作。如果需要修改项目路径或其他参数,只需编辑脚本中的相应位置即可。
  • 下面我将逐步解释用户如何使用和修改这个脚本
    1. 设置路径变量:
      • 在脚本的开头定义了一些路径变量,用户需要根据实际情况修改这些变量,确保与其项目的路径一致。
      • keil_path 设置为 Keil 软件的安装路径。
      • project_root 设置为你的项目根目录。
      • project_path 设置为项目的 MDK-ARM 目录。
      • build_output 是编译输出结果的文件路径。
      • uvprojx 是 Keil 项目文件的路径。
    2. 设置默认编译参数:
      • 默认情况下,编译参数被设置为 -b,即只编译改动的部分。
      • 如果用户提供了 -all 参数,则编译参数会被设置为 -r,即编译全部文件。
    3. 执行 Keil 编译:
      • 使用 %keil_path%\UV4.exe 命令执行 Keil 编译,传入了指定的编译参数和项目文件路径,并将输出保存到指定的输出文件中。
    4. 使用 PowerShell 输出编译结果:
      • 使用 PowerShell 读取编译结果文件,并将结果输出到终端。
      • 警告会以青色显示,错误会以红色显示。

download.bat

download.bat脚本用于在Keil5中进行烧录操作,并在VS Code终端中显示烧录结果。

@echo off
REM Define path variables
set "keil_path=D:\software\Keil_V528\UV4"
set "project_path=D:\Lebaicong\Project\GR-150\MDK-ARM"
set "uvprojx=%project_path%\GR-150.uvprojx"
set "output_file=%project_path%\Prg_Output.txt"

REM Download Keil5 project
"%keil_path%\UV4.exe" -f "%uvprojx%" -o "%output_file%"

REM Display the content of the output file
type "%output_file%"

REM Use PowerShell to output the compilation result
powershell -Command "$content = Get-Content '%output_file%' -Encoding UTF8; foreach ($line in $content) { if ($line -match 'warning') { Write-Host $line -ForegroundColor Cyan } elseif ($line -match 'error') { Write-Host $line -ForegroundColor Red } else { Write-Host $line } }"
  • 作用: 该脚本用于在VS Code终端中执行Keil5的烧录命令,并显示烧录结果,并对警告和错误进行高亮显示。

  • 使用方法: 打开VS Code终端,运行download.bat即可开始烧录

  • 下面我将逐步解释用户如何使用和修改这个脚本

    1. 设置路径变量:

      • 在脚本的开头定义了一些路径变量,用户需要根据实际情况修改这些变量,确保与其项目的路径一致。
      • keil_path:Keil软件的安装路径。
      • project_path:用户项目的根目录路径。
      • uvprojx:Keil项目文件的完整路径。
      • output_file:编译输出结果的文件路径。
      1. 下载Keil5项目:

        • 脚本通过调用 %keil_path%\UV4.exe 命令来执行Keil5项目的下载操作,将项目文件指定为 %uvprojx%,并将输出保存到指定的输出文件中。
      2. 显示输出文件内容:

        • 使用 type 命令显示输出文件的内容,即显示了项目下载的结果。
    2. 使用 PowerShell 输出编译结果:

      • 使用 PowerShell 读取输出文件的内容,并根据其中的警告和错误信息对内容进行颜色标记后输出到终端。

用户只需将该脚本保存为download.bat文件,然后在 VS Code 中打开终端,运行该脚本即可完成下载 Keil5 项目并显示烧录结果的操作。如果需要修改项目路径或其他参数,只需编辑脚本中的相应变量即可。

通过以上两个脚本,我们实现了在VS Code中一站式编辑与编译的功能,大大提高了开发效率和便捷性。

示例

以下以我的工程为例给大家讲解以下如何使用该脚本:

假设我们的工程名为 “GR-150”,并且我们已经在该项目的根目录下创建了一个名为 build.batdownload.bat 的脚本,用于编译和烧写项目代码。让我们来看一下如何使用这个脚本:
工程框架

  1. 准备工作:

    • 确保你的项目代码已经保存,并且你已经在项目根目录下创建了 build.bat 文件。
  2. 打开 VS Code:

    • 在 VS Code 中打开你的项目文件夹。
  3. 打开终端:

    • 在 VS Code 中,打开终端窗口。
  4. 运行build.bat脚本:

    • 在终端中输入以下命令并按下回车键: .\build.bat
    • 这将执行 build.bat 脚本,开始进行项目代码的编译

在这里插入图片描述

  1. 运行download.bat脚本:

    • 在终端中输入以下命令并按下回车键: .\download.bat
    • 这将执行 download.bat 脚本,开始进行项目代码的烧写(由于没有接上芯片,所以烧录不成功)。

在这里插入图片描述

  1. 查看结果:
    • 脚本将在终端中显示编译过程的输出结果,包括警告和错误信息的高亮显示。

通过这个示例,你可以看到如何使用 build.batdownload.bat脚本在 VS Code 中便捷地进行项目代码的编译和烧写,从而提高了开发效率和舒适度。

总结

本文介绍了如何通过编写脚本实现在VS Code中实现编辑与编译一体化的功能。通过使用这些脚本,开发者可以在不离开VS Code的情况下完成代码的编辑和编译,提高了开发效率和舒适度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值