最近在实验室做一些 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. 用自己的ID在appstore中更新app-黑苹果之路

    由于之前套用了别人的镜像,在appstore中更新XCode时总要输别人id的密码,id还不能改.网上有的说要把XCode删掉,然后再用自己的ID更新,找到另外一个方法,更简单: 1.打开引用程序目录 ...

  2. ctags+cscope

    a opensource study website http://www.lanedo.com/2013/the-hidden-pearls-of-tracker-2/ http://www.lan ...

  3. Statement及PreparedStatement执行多个sql

        这两个对象的区别: 1.Statement它更适合执行不同sql的批处理,它没有提供预处理功能,性能比较低. 2.PreparedStatement它适合执行相同的批处理,它提供了预处理功能, ...

  4. pyhon之对memcached及redis操作

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...

  5. 【T电商 1】Nginx服务器搭建

    在项目中,首先是需要Nginx服务器作为一个图片服务器来使用.那么,久涉及到服务器的搭建.这次服务器的搭建,主要是在三个环境上进行了学习:CentOS6.2,CentOS7,和Ubuntu16.那么本 ...

  6. PHP基于数组的分页函数(核心函数array_slice())

    关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页,函数show_array用于分页 ...

  7. Egret和Http请求 (Ajax、XMLHttpRequest、Post、Get)

    一  Http请求 二  AJax和XMLHttpRequest 三  一个Ajax例子 四 Egret中的egret.HttpRequest 五 Post和Get区别 一 Http请求 Http深入 ...

  8. Eclipse下修改工程名

    汇总下网上的方法. 一. 右键工程:Refactor->Rename,或选中工程按F2,修改名称 二. 右键工程:Properties->Web Project Settings,修改Co ...

  9. SharePoint report site.

    Create site. Upload rdl files into Dashboards lib. Manage Data source. Select the rdl file and click ...

  10. Autofac 的属性注入方式

    介绍 该篇文章通过一个简单的 ASP.NET MVC 项目进行介绍如何使用 autofac 及 autofac 的 MVC 模块进行依赖注入.注入方式通过构造函数.在编写 aufofac 的依赖注入代 ...