Giter Site home page Giter Site logo

keil-assistant's Introduction

Keil Assistant

此插件已不再更新,如有需要,请下载源码自行编译后使用

简述 📑

vscode 上的 Keil 辅助工具,与 c/c++ 插件配合使用.

能够为 Keil 项目提供 语法高亮、代码片段 的功能,并支持对 keil 项目进行 编译、下载。

仅支持 Keil uVison 5 及以上版本

仅支持 Windows 平台

preview


功能特性🎉

  • 加载 Keil C51/ARM 项目,并以 Keil 项目资源管理器的展示方式显示项目视图
  • 自动监视 keil 项目文件的变化,及时更新项目视图
  • 通过调用 Keil 命令行接口实现 编译,重新编译,烧录 keil 项目
  • 自动生成 c_cpp_properties.json 文件,使 C/C++ 插件的语法分析能正常进行

用法 📖

准备工作

  1. 安装 C/C++ 插件
  1. 进入 Keil-Assistant 插件设置,设置好 keil 可执行文件 UV4.exe 的绝对路径

setting


开始使用 🏃‍♀️

  1. 在 Keil 上创建好项目,添加好文件,头文件路径等
  1. 点击 打开项目 图标 或者 使用 vscode 直接打开 keil 项目文件(.uvproj) 所在的目录,插件会自动加载 keil 项目;

load

常用操作

  • 编译,烧录:提供了 3 个按钮,分别代表 编译,下载,重新编译

build

  • 保存和刷新:在 Keil 上添加/删除源文件,更改,配置项目,更改完毕后点击 保存所有,插件检测到 keil 项目变化后会自动刷新项目

keil_save_all

  • 打开源文件:单击源文件将以预览模式打开,双击源文件将切换到非预览模式打开

open_file

  • 切换 c/c++ 插件的配置:点击目标名称在多个 c/c++ 配置中切换

cpp_config

  • 切换 keil Target:点击项目的切换按钮,可以在多个 Keil Target 之间切换

active_target

  • 展开引用:在编译完成后,可以点击源文件项的箭头图标展开其引用(仅支持 ARM 项目)

show_referance


其他设置

  • 工作区设置:项目排除列表(KeilAssistant.Project.ExcludeList) 当某个目录下存在多个 keil 项目时,使用插件打开该目录,插件会加载所有的 keil 项目,通过此选项,可以指定需要排除哪些 keil 项目,防止在打开该工作区时自动加载该项目 默认的排除列表
    [
        "template.uvproj",
        "template.uvprojx"
    ]

还有其他问题 ?

可以到以下位置进行交流

keil-assistant's People

Contributors

github0null avatar ianakotey avatar steveninacio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

keil-assistant's Issues

Error when using hotkey F7 or Ctrl+Alt+D to build/download.

keil-assistant works greatly on my PC for a long time.
Today when I opened a copy of a project and use hotkey like usual, I get a info from right bottom corner saying "Not found any active target". It works fine if use mouse to click buttons. Anyone met same problems?

不显示源文件

您好:
我是用插件打开Keil的工程文件后,在vscode右侧KEIL UVISION PROJECT里面展开折叠,看不到工程里的源文件和头文件,但是点击编译按钮,可以正常编译整个工程
image

关于工程文件不创建在工程根目录下,include path找不到的问题

把工程文件放入指定文件夹PROJECT(非工程根目录),虽然可以自动生成c_cpp_properties.json并配置路径,但不起作用
PS E:\keil_project\freertos_f407ve> ls

    目录: E:\keil_project\freertos_f407ve


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2021/6/11     21:39                CMSIS
d-----         2021/6/11     20:55                FreeRTOS
d-----         2021/6/11     21:13                FWLIB
d-----         2021/6/12     12:19                OUTPUT
d-----         2021/6/12     12:10                PROJECT
d-----         2021/6/11     21:28                STARTUP
d-----         2021/6/11     22:43                USER


PS E:\keil_project\freertos_f407ve> 

表现如下:
1.加载工程后,不跳转工作区,直接打开任意.c文件,比如main.c,提示找不到头文件,F12也无法跳转
2.跳转到工作区,也只显示project文件夹下内容,其他上层目录比如USER等不显示
3.手动在工作区打开根文件freertos_f407ve,无法自动加载PROJECT文件夹下的.vscode,导致头文件找不到
4.手动将.vscode(c_cpp_properties.json)拷贝一份,到根目录下,才可以

考虑将来工程配置更新后(PROJECT/.vscode/c_cpp_properties.json),仍需手动拷贝的麻烦

还是关于目录的问题(已经看过改workspace的方案)

还是关于目录的问题,既必须open mdk-arm目录才能正确使用
我看过改workspace的方案,但是
之前从没用过workspace,都是直接开的folder,然后Projects!插件也全部定义的根目录,.vscode也全部在跟目录
全部转化出workspace挺麻烦的,Projects插件也得调

可以加一个feature默认从选定目录的MDK-ARM子目录加载吗?

C166 Target

Keil MDK support also C166 Target... Have you planned to implement it ?
P.S.: C166 works also with uVision 5
Thanks

打开文件夹非MDK-ARM时不会自动加载工程

使用VScode打开MDK-ARM时可以自动加载出上次打开的工程,打开上一层目录时不行。生成的.vscode默认在MDK-ARM里面,可不可以识别当前打开的目录然后放在当前目录下呢

Activating extension 'cl.keil-assistant' failed

Activating extension 'cl.keil-assistant' failed: Cannot find module 'c:\Users\Desktop\test_keil assistant\keil-assistant\dist\extension.js'
Require stack:

  • d:\vscode\Microsoft VS Code\resources\app\out\vs\loader.js
  • d:\vscode\Microsoft VS Code\resources\app\out\bootstrap-amd.js
  • d:\vscode\Microsoft VS Code\resources\app\out\bootstrap-fork.js.

win10

项目文件(.uvprojx)不在根目录下的打开问题

你好,我在VS Code打开我的工作文件夹,但是由于项目文件(.uvprojx)是在当前目录的子文件夹下,所以没法自动识别,需要手动打开,每次重新打开VS Code都需如此,是否可以增加自动检索当前工作空间下(包含子文件夹)的项目文件的功能,谢谢!

Not found any active target!

release V1.7.0
click build or rebuild button work properly
shortcut key 'f7' and 'ctrl+alt+f7' doesn't work, it shows warning message "Not found any active target!"

thank you

小白的问题

写51单片机程序
sbit 引脚定义后 sbit led = P2^0;
P2^0报错 红色下换线 这个要怎么设置呢

Can you remove the -z from the rebuild all command?

Thanks for this - looks very good so far.

The -z option rebuilds all the targets in the project not just the current active target. I tried doing it myself but the Keil Uvision Project panel will not refresh when I run the modified extension.
Also I cannot get the F7 key to build I have to press the button in the Keil Uvision Project panel, but the Control+Alt+F7 command works from the keyboard shortcut.

image

.vscode文件夹(c_cpp_properties.json)是否可以新建在打开工程的根目录下

目前.vscode文件夹会建在.uvprojx所在目录,以后只有右键打开这个目录才能看到工程,但这个目录下没有源码就没法Ctrl+P。
多半情况源码在更上层的目录上,个人也更倾向直接右键打开工程根目录开始工作,只有这样git等插件才会工作,源码也可以都看到。
.uvprojx文件可以通过指定位置方式记录在配置文件中,但最好是相对位置
生成的c_cpp_properties.json文件includePath也最好是相对位置,因为每个人工程放的位置不一样,多人协作有些问题
个人建议.vscode新建在工程根目录下

version 1.4.0 project build fail

Screenshot (1)
using the keys F6, F9, F7 shows an error and doesn't perform anything
vs code: 1.47.2
electron: 7.3.2
chrome: 78.0.3904.130
node.js: 12.8.1
v8: 7.8.279.23-electron.0
os: windows x64 10.0.18362

#enhancement# Add Debug Function :smile:

This is an awesome plugin of vscode and it indeed help me configure my projects, while I think it will be better if the debug properity is added into this system.

At last, thanks for your working!:smile:

错误识别arm工程为c51工程

在我添加某个工程时,错误的将ARM工程识别为C51工程。
我的工程路径下有部分文件命名包含“C51”文字

建议增加默认文件编码

在国内,很少有人把KEIL文件编码设置为UTF8,一般都是GB系列的中文编码

推荐增加一个配置项,让用户选择默认打开KEIL工程时的编码

检测到include错误,已禁用波形曲线,怎么解决?

工程在keil里编译通过,但是在VS里用插件打开会有波浪线
源文件在c_cpp_properties.json里的 includePath中,但还是报 无法打开源文件

keil-assistant.log
`[info] Log at : 2021/1/5|13:24:48|GMT+0800

[SyntaxError: Unexpected token / in JSON at position 1239
at JSON.parse ()
at F.updateCppProperties (c:\Users\XXXXX.vscode\extensions\cl.keil-assistant-1.7.0\dist\extension.js:1:10911)
at F. (c:\Users\XXXXX.vscode\extensions\cl.keil-assistant-1.7.0\dist\extension.js:1:12641)
at Generator.next ()
at c:\Users\XXXXX.vscode\extensions\cl.keil-assistant-1.7.0\dist\extension.js:1:4542
at new Promise ()
at r (c:\Users\XXXXX.vscode\extensions\cl.keil-assistant-1.7.0\dist\extension.js:1:4287)
at F.load (c:\Users\XXXXX.vscode\extensions\cl.keil-assistant-1.7.0\dist\extension.js:1:11372)
at w. (c:\Users\XXXXX.vscode\extensions\cl.keil-assistant-1.7.0\dist\extension.js:1:8799)
at Generator.next ()
at a (c:\Users\XXXXX.vscode\extensions\cl.keil-assistant-1.7.0\dist\extension.js:1:4344)
at processTicksAndRejections (internal/process/task_queues.js:94:5)]
[info] Log at : 2021/1/5|13:25:00|GMT+0800

[info] Log at : 2021/1/5|13:25:27|GMT+0800
`

Add default library

Hi, I really like your project. My issue is when I write code on vscode, it doesn't update default library used in Keil (stdint.h etc). How can I solve it? Thanks!

希望打开vscode时自动打开当前目录下所以子目录的keil工程文件

\A\MDK\目录下,有一个keil工程\A\MDK\Project.uvprojx
通过vscode打开\A目录时,希望keil-assistant能自动找到并打开\A\MDK\Project.uvprojx工程文件。
不需要手动点击 KEIL UVISION PROJECT 上的加号在选择对应的*.uvprojx文件。

而目前发现用vscode打开\A\MDK\目录后,KEIL UVISION PROJECT 中可以自动加载Project.uvprojx工程文件

image

终端将被任务重用,按任意键关闭。

C:\Keil_C51_v956\UV4 -b c:\Users\Administrator\Desktop\test\test.uvproj -j0 -t test -o c:\Users\Administrator\Desktop\test.vscode\uv4.log

'C:\Keil_C51_v956\UV4' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

终端将被任务重用,按任意键关闭。

c_cpp_properties.json 里面应该允许使用环境变量

我工作电脑keil在c目录,家庭电脑keil在d目录。为保证c_cpp_properties.json 在两台电脑上都能使用,避免每次改动,我通过在两台机器上定义环境变量KEIL_HOME来解决这个问题。但发现每次修改后都会被插件重置为本机的绝对路径。

添加工程文件导出功能

问题是这样,Nordic的工程在SDK里面,单独使用一个例程时复制sdk里面的组件源文件非常繁琐,希望添加一个功能按照keil的文件夹方式组织一个新的源码目录,主要是复制c文件和h文件,

使用ARM Compiler6和gnu11的问题

您好:
在keil内选择使用ARM Compiler6和gnu11,
2

1

自动生成的vs项目c_cpp_properties.json还是标准c:"__CC_ARM"。
includePath的include文件目录“Keil_v5\ARM\ARMCC\include”
3
5
4
但是编译没问题

Erase Failed!Error: Flash Download failed - "Cortex-M3"

我在keil里面可以building和load,但是在VScode里面出现可以bulit,但是无法load的情况,报错信息:

Load "..\OBJ\LED.axf"
Erase Failed!Error: Flash Download failed - "Cortex-M3"
Flash Load finished at 20:08:14

这个是什么原因捏

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.