最近在实验室做一些 Zigbee 相关的事情,然而一直没在博客上记录啥东西,也不像原来在公司有动力在 Confluence wiki 上扯东扯西。直到前些阵子,跑到 feibit 论坛上(国内较大的一个 Zigbee 社区),发现有不少刚接触 Zigbee 的朋友,在上面提问;其中有不少问题,我或多或少接触了一些,于是心想,索性在博客上开辟一个类别扯扯 Zigbee 好了。

一来,可以做为一个记录,尤其是今天碰到一个计算结构体偏移量的宏定义,想起之前在 blogspot 上写过一篇「赞叹」Linux list 数据结构的博客(需翻墙),不禁略感慨,的确是好记性不如烂笔头。二来,是昨晚看到一篇《8 张图助你更好地理解 Java 编程》,不由得想起之前学习 Python 的一段时间,虽然时间较短,但完整阅读了 Python TutorialPython 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的更多相关文章

  1. 前端构建工具之gulp(一)「图片压缩」

    前端构建工具之gulp(一)「图片压缩」 已经很久没有写过博客了,现下终于事情少了,开始写博吧 今天网站要做一些优化:图片压缩,资源合并等 以前一直使用百度的FIS工具,但是FIS还没有提供图片压缩的 ...

  2. fir.im Weekly - 如何打造 Github 「爆款」开源项目

    最近 Android 转用 Swift 的传闻甚嚣尘上,Swift 的 Github 主页上已经有了一次 merge>>「Port to Android」,让我们对 Swift 的想象又多 ...

  3. 更新日志 - fir.im「高级统计」功能上线

    距离 2016 年到来只剩 10 个日夜,fir.im 也准备了一些新鲜的东西,比如「高级统计」功能和「跳转应用商店」功能,帮助你更好地管理.优化应用,欢迎大家试用反馈:) 新增高级统计功能 这次更新 ...

  4. Notepad++ 开启「切分窗口」同时检视、比对两份文件

    Notepad++ 是个相当好用的免费纯文本编辑器,除了内建的功能相当多之外,也支持外挂模块的方式扩充各方面的应用.以前我都用 UltraEdit 跟 Emeditor,后来都改用免费的 Notepa ...

  5. 「C语言」文件的概念与简单数据流的读写函数

    写完「C语言」单链表/双向链表的建立/遍历/插入/删除 后,如何将内存中的链表信息及时的保存到文件中,又能够及时的从文件中读取出来进行处理,便需要用到”文件“的相关知识点进行文件的输入.输出. 其实, ...

  6. 「C语言」Windows+EclipseCDT下的C语言开发环境准备

    之前写过一篇 「C语言」在Windows平台搭建C语言开发环境的多种方式 ,讨论了如何在Windows下用DEV C++.EclipseCDT.VisualStudio.Sublime Test.Cl ...

  7. 转:【工欲善其事必先利其器】—Entity Framework实例详解

    开始本篇文章之前,先说一下Entity Framework 6 Alpha1在NuGet中已可用,原文链接http://blogs.msdn.com/b/adonet/archive/2012/10/ ...

  8. 如何对抗 WhatsApp「蓝色双勾」-- 3 个方法让你偷偷看讯息

    WhatsApp 强制推出新功能「蓝色双勾 (✔✔)」 ,让对方知道你已经看过讯息.一众用户反应极大,因为以后不能再藉口说未看到讯息而不回覆.究竟以后 WhatsApp 是否真的「更难用」? 幸好还有 ...

  9. FileUpload控件「批次上传 / 多档案同时上传」的范例--以「流水号」产生「变量名称」

    原文出處  http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/19/multiple_fileupload_asp_net_20130819. ...

随机推荐

  1. eclipse配置javacv0.8

    之前配置了一次javacv,但是忘了做笔记,这次又重新查了一遍资料,很多东西模棱两可,浪费了很多时间,这次配置成功,总结如下,希望能帮到大家. 如不明确,可以联系我.   javacv下载 https ...

  2. Lighttpd虚拟主机和多域名的配置

    lighttpd是个轻巧的web服务器组件,在linux系统上较为流行,功能能满足一般网站的需求(虚拟主机,伪静态,防盗链等),而跑起来负载却低于apache. 一般网站地址的形式为www.xxx.c ...

  3. 返回记录结构时,如果需要返回为nil时 应该怎么办。

  4. MapReudce中常见join的方案

    两表join在业务开发中是经常用到,了解了大数据join的原理,对于开发有很大的好处. 1.reduce side join reduce side join是一种简单的join的方法,具体思想如下: ...

  5. 自定义控件EditText

    public class defineEditText extends EditText { Context context; Drawable d; public defineEditText(Co ...

  6. DIOCP之注册编码解码器与ClientContext

    FTcpServer.registerCoderClass(TIOCPStreamDecoder, TIOCPStreamEncoder);//注册编码器与解码器 FTcpServer.registe ...

  7. screen 命令

    # screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s ][-S <作业名称>] 参 ...

  8. ASP.NET ZERO Core Application 学习笔记

    地址:https://www.aspnetzero.com/Documents/Development-Guide-Core 1.恢复数据库 MIGRATOR CONSOLE APPLICATION ...

  9. wget的使用详解

    我在工作中, 经常下载遥感影像,每个影像都很大,使用普通的ftphelpe下载不太稳定,最终选择了linux下一款牛逼的下载工具wget,使用它的windows移植版本的.在此写此文,希望对和我一样保 ...

  10. 为什么for(int i=0;i<9;i++) 在c语言中是错误的?

    显示表示,i 变量不可以在for中定义,必须在外面定义,这是为什么? 因为C99标准以前的C标准是不支持临时变量在for循环中定义的. C99标准就支持这样写.但是目前有些编译器并不怎么愿意支持C99 ...