IDETalk
IDETalk是由JetBrains的工程师开发的一款代码级的协同工具,主要是为一个团队在进行相关项目开发时提供代码协同。当前IDETalk只能运行在IDEA下,你可以通过Plugin Manager下载安装。本文假定您们有一个团队,而且正在使用IDEA进行一个项目开发。
许多开发人员在开发过程中很不情愿打开或切换到另一个程序去相关的事情,如使用IM软件进行程序交流,如果编辑环境提供这样的功能将是非常高效的。你可能不希望进行复杂的安装和设定,如连接到服务器,设定用户名密码等等,减小各种复杂手续,交流便利是你最需要的。IDETalk不需要进行任何设定,当你启动IDEA后,所有的一切都可以啦。
下面让我们首先看看以下几种情形:
1.发送异常信息:当你在进行相关测试时,突然出现异常,这时你发现这不是你的错误,可能来自于另一位同事,这时你需要将这些异常信息和你的注释发送给你的同事,你的同事在接受到这些异常信息后,能根据信息和你的注释快速定位到出错的地方,及时修改错误。
2.代码指针(code-pointer):当你在编码的时候,你可能发现一些代码存在坏味道(code smell),这些代码却是你的同事写的,他现在不在,你没法及时通知他。你可能也不想修复他的错误,而且他也在修改这些代码,这时你可能将这些代码以邮件或消息的方式通知他。但是他看到这些代码无法快速定位到项目中指定文件的指定位置,如果能给他发个代码指针就方便很多,代码指针其实就是包含注释和建议的可导航的一块代码,这样他能快速定位并修改。
3.当你正在编辑一个文件,你的同事也在编辑它,你希望能看到你同事的修改并做相关调整,你不希望和他的修改进行冲突,这时你可以查看他打开的文件列表,对比你们的修改,做出相关的调整。如果有什么问题,同样可以发一个代码指针给他,阐释你的修改。
以上这些都是你在实际的编码中会遇到的,IDETalk就是要解决这些代码协同问题。当前版本的IDETalk(0.5.2)包含一下特性:
1.自动查找局域网内使用IDETalk插件的用户,并加入到联系列表中,支持分组。
2.发送异常信息给相关人员,可附加你的注释。
3.发送代码指针。在编辑窗口选中代码片断,在弹出菜单中选择“Send code pointer”,然后选择发送的人员即可。
4.即时消息:查看联系表中人员的当前打开文件列表,支持打开对应的本地文件、文件对比和文件合并等。
5.离线操作,当联系人不在时,可以发送离线消息、异常消息和代码指针等。
让我们看看一些具体操作吧。
1.发送异常消息:选择堆栈输出文本,托放至列表中的用户(当然拷贝粘贴也可),在弹出的“Send Excpetion”对话框中输入你的备注,然后点击“Send”按钮和Ctrl+Enter快捷键。

2.发送代码指针:在编辑窗口中选中代码片断,右击鼠标,在弹出菜单中选择“Send code pointer”,然后选择欲发送的对象即可,对方在收到这条消息后,点击消息就可以定位到本地文件的指定位置。

总结:IDETalk现在还在积极开发中,未来可能要支持其他IDE工具,功能也会加强,相信会对开发人员的代码协同提供一些帮助,如果你对这款插件有何要求及建议,可以在intellij论坛上发表,更多信息请参考www.idetalk.com。这是IDETalk的将要实现的功能列表,1代表已经实现。

引用地址:http://www.steadyxp.com/archives/443.html
IDETalk的更多相关文章
- Idea插件之IdeTalk
前言 随着越来越多的公司与Java工程师,逐步从Eclipse过度到Idea,安装相应的插件可能会成倍的增加工作效率. IDETalk是由JetBrains的工程师开发的一款代码级的协同工具,主要是为 ...
- IntelliJ IDEA 14.x 快捷键/个性化设置
常用快捷键设置(设置成跟Eclipse差不多) 按照路径:File -> Settings -> Appearance & Behavior -> Keymap -> ...
随机推荐
- codeforces 834 D. The Bakery
codeforces 834 D. The Bakery(dp + 线段树优化) 题意: 给一个长度为n的序列分成k段,每段的值为这一段不同数字的个数,最大化划分k端的值 $n <= 35000 ...
- 在线cron生成器
什么是cron表达式: cron表达式主要是用在Quartz框架中,Quartz是一个完全由java编写的开源作业调度框架,最主要的功能就是调度器(完成定时任务),可以与javaEE或者javaSE应 ...
- bzoj2693 莫比乌斯反演
Description Hint T <= 10000N, M<=10000000 https://wenku.baidu.com/view/fbec9c63ba1aa8114431d ...
- vue2.0 v-tap简洁(漏)版 (只解决300ms问题)
Vue.directive('tap',{ bind:function(el,binding){ var startTx, startTy, endTx, endTy, startTime, endT ...
- c/c++: c++函数返回类型什么情况带const
c++ 函数的返回类型,包括const 什么时候起作用呢? 函数返回值不想其立即修改的. 例子如下,这是一个简单的避免产生隐形返回变量的方法,abc 的函数返回是引用,main函数中第10行,++ 操 ...
- glGenTextures
http://blog.sina.com.cn/s/blog_67ede2d80100w3i8.html glGenTextures(GLsizei n, GLuint *textures)函数说明 ...
- 在iOS上实现一个简单的日历控件
http://blog.csdn.net/jasonblog/article/details/21977481 近期需要写一个交互有点DT的日历控件,具体交互细节这里略过不表. 不过再怎么复杂的控件, ...
- php+ajax+jquery分页并显示数据
参考https://www.helloweba.com/view-blog-195.html html页面 <div class="weui-cells" id=" ...
- UVA 1594:Ducci Sequence (模拟 Grade E)
题意: 对于一个n元组(a0,a1,...),一次变换后变成(|a0-a1|,|a1-a2|,...) 问1000次变换以内是否存在循环. 思路: 模拟,map判重 代码: #include < ...
- [译]java8新特性:函数式编程(functional programming)的优点
Java8引入了函数式编程,他对java是一个极大的扩展.Java从此不在是一个单纯的面向对象语言,现在他同时混合了函数式编程.这是巨大的改变,需要我们调整面对对象的编程习惯,以适应这些变化. 但是为 ...