「zigbee - 1」工欲善其事必先利其器 - IAR for 8051 IDE customization
最近在实验室做一些 Zigbee 相关的事情,然而一直没在博客上记录啥东西,也不像原来在公司有动力在 Confluence wiki 上扯东扯西。直到前些阵子,跑到 feibit 论坛上(国内较大的一个 Zigbee 社区),发现有不少刚接触 Zigbee 的朋友,在上面提问;其中有不少问题,我或多或少接触了一些,于是心想,索性在博客上开辟一个类别扯扯 Zigbee 好了。
一来,可以做为一个记录,尤其是今天碰到一个计算结构体偏移量的宏定义,想起之前在 blogspot 上写过一篇「赞叹」Linux list 数据结构的博客(需翻墙),不禁略感慨,的确是好记性不如烂笔头。二来,是昨晚看到一篇《8 张图助你更好地理解 Java 编程》,不由得想起之前学习 Python 的一段时间,虽然时间较短,但完整阅读了 Python Tutorial 和 Python Language Reference 不少章节,学习了诸如正则表达式之类的 module 等等,也做了一些实践,然而由于种种原因,并没有在博客上做什么记录,略可惜;换个角度,吃一堑长一智,别在 Zigbee 上演同样的剧情。总而言之,秉承分享和记录的双重考虑,身为 Zigbee 新手,开辟此类别。灯光场务剧本演员统统到位,action!
第一部分,先聊聊 IAR for 8051 IDE 的设置问题。我这人对编辑器之类的工具,略有点要求,类似于吃货对饮食问题很注重一样……
1. 背景 & 注释颜色。
背景颜色采用的是 RGB (240, 238, 217),注释颜色采用的是 Teal 深青色。

2. 项目内全局搜索遇到的「Failed to read "xyz" file」问题。
勾选「Match case」即可解决。另外,注意全局搜索的范围和文件类型。

3. Code Template 编辑。
代码模版还是挺好用的,只是 IAR 编辑器本身对缩进对齐的支持不太好,所以将就着用吧…… 选择「编辑模版」,然后插入自己希望使用的模板。

#TEMPLATE &LComment>&line
/* %c */
#TEMPLATE &LComment>&function
/*
*****************************************************
* @fn %c
*
* @brief %
*
* @param %
*
* @return %
*****************************************************
*/
#TEMPLATE &LComment>&header
/* ---------------------------------------------------
* %c
* ----------------------------------------------------
*/
4. 键盘快捷键。
列一下最常用的几个快捷键(其中一些并非默认的 key binding)。
|
What to perform |
Keyboard Shortcut |
|
Go to Declaration |
F2 |
|
Toggle a line bookmark (file scope) |
Ctrl + F2 |
|
Go to bookmark (file scope) |
F12 |
|
Navigate back / forward |
Alt + Left / Right |
|
Find in files |
Ctrl + Shift + F |
|
Insert Code Template (sub-menu Shortcut) |
Ctrl + Shift + Space |
|
Complete word |
Ctrl + , or Ctrl + Space |
IAR 在快捷键上的支持还是不够好,比如,如果要直接上移或者删除某个区块,都不太方便,更别提列编辑模式…… 我也很好奇,为啥不直接采用 Scintilla 开源解决方案(可直接应用到商业应用里);诸如 Notepad++ 和 SciTE 两款编辑器,CodeBlocks IDE,都是采用这个组件,体验很一致,相当棒。
ok,第一部分到此结束。
「zigbee - 1」工欲善其事必先利其器 - IAR for 8051 IDE customization的更多相关文章
- 前端构建工具之gulp(一)「图片压缩」
前端构建工具之gulp(一)「图片压缩」 已经很久没有写过博客了,现下终于事情少了,开始写博吧 今天网站要做一些优化:图片压缩,资源合并等 以前一直使用百度的FIS工具,但是FIS还没有提供图片压缩的 ...
- fir.im Weekly - 如何打造 Github 「爆款」开源项目
最近 Android 转用 Swift 的传闻甚嚣尘上,Swift 的 Github 主页上已经有了一次 merge>>「Port to Android」,让我们对 Swift 的想象又多 ...
- 更新日志 - fir.im「高级统计」功能上线
距离 2016 年到来只剩 10 个日夜,fir.im 也准备了一些新鲜的东西,比如「高级统计」功能和「跳转应用商店」功能,帮助你更好地管理.优化应用,欢迎大家试用反馈:) 新增高级统计功能 这次更新 ...
- Notepad++ 开启「切分窗口」同时检视、比对两份文件
Notepad++ 是个相当好用的免费纯文本编辑器,除了内建的功能相当多之外,也支持外挂模块的方式扩充各方面的应用.以前我都用 UltraEdit 跟 Emeditor,后来都改用免费的 Notepa ...
- 「C语言」文件的概念与简单数据流的读写函数
写完「C语言」单链表/双向链表的建立/遍历/插入/删除 后,如何将内存中的链表信息及时的保存到文件中,又能够及时的从文件中读取出来进行处理,便需要用到”文件“的相关知识点进行文件的输入.输出. 其实, ...
- 「C语言」Windows+EclipseCDT下的C语言开发环境准备
之前写过一篇 「C语言」在Windows平台搭建C语言开发环境的多种方式 ,讨论了如何在Windows下用DEV C++.EclipseCDT.VisualStudio.Sublime Test.Cl ...
- 转:【工欲善其事必先利其器】—Entity Framework实例详解
开始本篇文章之前,先说一下Entity Framework 6 Alpha1在NuGet中已可用,原文链接http://blogs.msdn.com/b/adonet/archive/2012/10/ ...
- 如何对抗 WhatsApp「蓝色双勾」-- 3 个方法让你偷偷看讯息
WhatsApp 强制推出新功能「蓝色双勾 (✔✔)」 ,让对方知道你已经看过讯息.一众用户反应极大,因为以后不能再藉口说未看到讯息而不回覆.究竟以后 WhatsApp 是否真的「更难用」? 幸好还有 ...
- FileUpload控件「批次上传 / 多档案同时上传」的范例--以「流水号」产生「变量名称」
原文出處 http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/19/multiple_fileupload_asp_net_20130819. ...
随机推荐
- 使用AJAX完成用户名是否存在异步校验
一.JSP代码: 1.事件触发:onblur 2.编写AJAX代码:向Action中提交,传递username参数 <script> function checkUsername(){ / ...
- Linux 账户信息显示和实现账户安全
一.账户信息显示 1.groups命令 使用groups命令可以显示指定用户账户的组群成员身份. [root@redhat2 ~]# groups --help Usage: groups [OPTI ...
- IQ推理:P先生和Q先生
P先生.Q先生具有足够的推理能力.这天,他们正在接受面试. 他们知道桌子的抽屉里有16张扑克牌:红桃 A Q 4黑桃 J 8 4 2 7 3草花 K Q 5 4 6方块 A 5约瀚教授从这16张牌中挑 ...
- 使用PHP导入和导出CSV文件
我们先准备mysql数据表,假设项目中有一张记录学生信息的表student,并有id,name,sex,age分别记录学生的姓名.性别.年龄等信息. CREATE TABLE `student` ( ...
- iOS 关于僵尸对象和僵尸指针的那些事儿
引言 提到僵尸就感到一种恐怖,大家都知道“僵尸”是没有生命的,但是它确实是一种存在的类似生命体的一种生物.哈哈,当然本文的重点不是讨论“僵尸”,而是有关于ios当中经常遇到的僵尸指针(Zombie P ...
- 『GreenPlum系列』GreenPlum 4节点集群安装(图文教程)
目标架构如上图 一.硬件评估 cpu主频,核数推荐CPU核数与磁盘数的比例在12:12以上Instance上执行时只能利用一个CPU核资源进行计算,推荐高主频 内存容量 网络带宽重分布操作 R ...
- win10开始菜单打不开怎么办 win菜单键没反应解决办法
win10开始菜单打不开怎么办 win菜单键没反应解决办法 —————————————————————————————————————————————————————————————————————— ...
- 一段防盗连的PHP代码
$ADMIN[defaulturl] = http://www.163.com/404.htm; //盗链返回的地址 $okaysites = array("http://www.163 ...
- asp.net截取指定长度的字符串内容
/// <summary> /// 用于截取指定长度的字符串内容 /// </summary> /// <param name="sString"&g ...
- struts2各个jar包的作用
---------------------------------------------------struts2核心jar包------------------------------------ ...