使用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的情况下完成代码的编辑和编译,提高了开发效率和舒适度。

### 回答1: Keil 自动编译脚本是一种用于自动化编译程序的脚本语言,通常在Keil开发环境中使用。该脚本语言允许我们定义一系列的编译指令和参数,以便能够自动执行编译任务,从而提高开发效率。 使用Keil 自动编译脚本,我们可以创建一个包含编译指令的脚本文件,例如将多个源文件编译成目标文件、链接目标文件生成可执行文件等。在脚本中,我们可以定义编译器选项、链接器选项、搜索路径等。脚本还允许我们定义一系列的编译规则,如条件编译、循环编译等,以便根据不同的需求对代码进行不同的编译处理。 一旦脚本文件定义完成,我们只需要在Keil开发环境中执行该脚本文件,即可自动执行编译任务。这样就避免了手动执行繁琐的编译操作,提高了开发效率和准确性。 同时,Keil 自动编译脚本还支持与其他工具的集成,比如与git版本管理工具的集成,使得代码的管理和编译变得更加方便。通过脚本,我们可以自动生成编译报告,跟踪代码版本等。 总之,Keil 自动编译脚本是一种非常实用的工具,在嵌入式系统开发中具有重要的作用。通过定义一系列编译指令和参数,我们可以实现代码的自动化编译,提高开发效率和准确性。 ### 回答2: Keil是一款广泛使用的嵌入式系统开发环境,它可以用于开发各种类型的嵌入式软件程序。在Keil中,我们可以通过使用自动编译脚本来简化编译和构建项目的过程。 自动编译脚本是一个文本文件,其中包含一系列用于配置编译器、链接器和其他Keil工具的指令。通过编写自动编译脚本,我们可以自定义项目的编译选项、链接选项、宏定义等设置,以及编译和链接过程中所需的其他操作。 在Keil中,自动编译脚本被命名为"*.uvproj"文件,这个文件包含了项目的所有设置和配置信息。我们可以通过打开这个文件,在Keil的界面中修改项目的设置。当我们修改完自动编译脚本后,重新编译项目时,Keil将会根据脚本中的指令来执行相应的操作。 自动编译脚本可以让我们在编译和构建项目时更加方便快捷,特别是对于大型项目。通过使用脚本,我们可以避免手动设置每个文件的编译选项,只需要在脚本中定义一次即可,从而提高了开发的效率和一致性。 总而言之,Keil的自动编译脚本是一种用于配置和管理项目的工具,它通过定义编译选项和其他操作,简化了项目的构建过程,提高了开发效率。对于嵌入式软件开发者来说,熟练使用自动编译脚本将是一项重要的技能。 ### 回答3: Keil自动编译脚本是一种用于自动化编译代码的工具。它可以帮助程序员在Keil开发环境中更高效地进行代码编译和构建。使用自动编译脚本,程序员可以避免手动操作编译过程中的一些重复步骤。 首先,自动编译脚本需要根据项目的具体配置,指定编译器、链接器以及各种编译选项。这些选项包括输入文件、输出文件、宏定义、路径设置等。通过配置好这些选项,脚本就可以按照预定的规则进行编译。 其次,自动编译脚本可以通过监控源代码文件的修改来实现自动化编译。当源代码文件发生修改时,脚本会自动检测到,并触发编译过程。这样程序员就无需手动执行编译操作,提高了开发效率。 此外,自动编译脚本还可以通过设置依赖关系,实现增量编译。只有被修改的文件及其依赖的文件会重新编译,其他未被修改的文件则不会重新编译。这可以减少编译时间,提高编译速度。 最后,自动编译脚本还可以配合其他工具进行更复杂的操作。例如,可以在编译前先进行代码静态分析、代码格式化、单元测试等。这些工具可以通过脚本的调用实现自动化集成。 总之,Keil自动编译脚本是一种方便程序员进行代码编译和构建的工具。它能够提高开发效率、减少错误,并且可以通过配置和扩展来适应不同的项目需求。使用自动编译脚本可以让程序员更专注于代码开发,而不需要花费过多时间和精力在编译过程上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值