上一篇主要是常用办公软件的介绍,这一篇则介绍我在软件开发工作中用到的一些工具软件。
使用电脑系统时,特别是在Windows下,软件的费用实际上比硬件贵,尤其是某些专业软件(这里指的是正版软件),这也是我们从Windows转向Linux的原因之一。我所在公司虽然只算小型企业,但以前还是被人家找上门过,所以做商业开发的朋友还是要注意点。目前我在工作中使用的都是开源免费的,所以也只介绍这类软件。此外,要说明一点,下面的每一个软件涉及的内容实际上非常多,这里仅仅是非常简单的介绍。
1、C/C++编译器
我使用的是gcc与g++。有些朋友用的的clang,我没怎么用过,感兴趣的朋友可以去网上查询相关资料。
2、C/C++开发用IDE
Ubuntu下这类的IDE实际上还是不少,我曾经用过的IDE有Qt Creator、NetBeans、CodeBlocks,这几个在网上都很好找,大家自己找下载地址。但要注意Qt Creator的协议,这个软件中的免费版是有使用限制的。如果不用Qt Creator而是在其他软件中使用Qt,也要注意其开源协议,不要违规。另外两个IDE在商业开发上基本没什么限制。
我目前使用的IDE是kDevelop,这个软件相对比较小,是开源、跨平台的(以上三者也是跨平台的)。安装方法可以通过软件中心或用以下命令:
sudo apt install kdevelop
目前在Ubuntu 16.04下通过以上方式安装的kDevelop版本是4.7.3,在其官方网站上已经到5.2.4,用哪一个大家随意,我还在用4.7.3。安装好后,这里介绍一些设置。
a)代码风格设置
我使用的是Google的风格,所以介绍如何设置成这种风格,其他风格的设置大家一看就明白。操作如下:点击菜单中的Settings->Configure KDevelop->Source Formatter,选择语言C++,格式化那里选择”Custom Script Formatter“,最好新建一个样式,然后点”编辑“,Command那里输入以下代码:
clang-format -style="{BasedOnStyle: google, IndentWidth: 2}" -i $TMPFILE
这里要注意一点,要先安装clang-format才会生效,安装方法是用命令:
sudo apt install clang-format
保存后,再把语言换成C语言,把其网格也设成Google的,最后勾选”常规“中的”覆盖Kate缩进模式“,应用、保存。
b)字体显示问题
当字体选择不恰当时,代码编辑窗口中的字会显示不完整,你会看见字体最下面少了一点,下划线也不见了,所以大家注意在菜单Settings->Configure Editor->Fonts & Colors中设置合适的字体以避免这种问题。我目前用的字体是“DejaVu Sans Mono”。字体名称中,后面带Mono单词的是指等宽字体。
c)颜色主题
颜色主题的设置位置与字体设置那里一样,大家自行选择。我自己用的是从Github上下载的,链接是:主题。在主题设置窗口中导入即可。这个主题可能色彩多了些,大家看自己喜好选择吧。效果见下图:
3、编辑工具
ubuntu在安装时会默认安装gedit、vi(不是vim),我习惯使用的是Emacs,很多朋友用的是Vim,看个人喜好吧。其中的编辑软件vi的基本使用方法大家最好掌握,在特殊情况下会用到。我没有对Emacs做过多的定制,只加了一些小功能,方法在其他日志中介绍。安装命令:
sudo apt install emacs
这里贴一张我略做设置后的emacs界面:
4、构建工具
使用CMake,免费、跨平台。相关内容与其他工具软件一样,非常多。在选择IDE时最好支持CMake,前面介绍的几个IDE都支持。安装命令:
sudo apt install cmake
5、版本管理工具
使用Git。相信很多朋友都在用,就不多说了。我架设的Git服务器分为三块,分别是:公司内部的、互联网半公开的与私人的。我在实际使用中,并不是只用Git来管理代码版本,工作、生活中的很多资料也是用Git来管理。安装命令:
sudo apt install git
6、排版工具
可能大家会奇怪,做开发怎么会用到排版工具?这与我的工作内容有关。因为在工作中要大量使用数学公式符号、图表等,所以就选择了LaTeX来实现。具体的工具是TexStudio。LaTeX的内容也是非常多,实际使用中最好是用到什么就去学什么,没必要全部看。有关其中的一些内容另外写日志介绍。这个工具感觉挺方便的,我现在的工作日志、笔记基本上都用这个,office类的文字处理软件已经很少使用。安装命令:
sudo apt install texstudio
sudo apt install texlive-full
第二个命令是安装与之相关的宏包,大概可以理解为类似C++中的库。文件比较多,将近3G,耐心等待。
待续……
原文地址:http://blog.51cto.com/14013986/2307763