在 Ubuntu 中使用 Visual Studio Code
前言
我一直在 Linux 桌面系统下的探索寻找各种界面美观、使用舒适的软件工具。对于Linux下的开发人员来讲,这几年最大的福利就是 MicroSoft 推出的 Visual Studio Code 了。在 Visual Studio Code 推出之前,有一些领域总是很难找到顺手的工具。比如说 JavaScript,如果不想用 WebStorm 这么重量级且要付费(近几年 WebStorm、PyCharm、IDEA等工具都有免费的 Community 版)的 IDE 的话,就基本上没啥好用的工具了。对于 C/C++ 也一样。Eclipse 现在也在走下坡路,除了 Java 开发可圈可点外,对 JavaScript、Python、C/C++ 的支持可以说是非常垃圾,连智能提示都做不好,还敢说自己是 IDE,还不如一些简单的编辑器,比如 Geany、Vim 这样的。而且 C/C++ 领域的其他 IDE,比如 Code::Blocks、KDevelop、Qt Creator、Eclipse CDT 什么的我都试过,也不是很顺手。我对我使用的工具还是有点要求的,基本上需要满足以下几条:
- 轻量级。我更喜欢编辑器而不是 IDE,因为 IDE 一般都太笨重了,即占硬盘空间,又启动缓慢,还喜欢在你的项目里面添加一堆乱七八糟的工程文件。有的还提供一大堆八辈子都用不上的复杂功能。但是即使是对于程序员而言,他所需要的也仅仅是语法高亮、智能提示、自动补全等核心功能而已,如果能在符号间跳转和导航、并且能够定义外部工具或在不离开编辑器窗口的情况下执行 Shell 命令,就更完美了。
- 界面美观。以上提到的很多 IDE 被我淘汰,主要也是因为美观的原因。Vim 挺不错,以前写一些简单的 C/C++ 代码主要靠 Vim,但是纯字符界面的 Vim 在美观度上还是难以和 GUI 程序媲美的,特别是对有实时预览需求的领域,比如 HTML、CSS、Markdown 等等,必须得上 GUI 才好用。而 Linux 桌面下的 GUI 软件往往有硬伤,经常会出现界面丑陋、字体难看等缺点,而且有的还不稳定,经常崩溃。
- 功能强大的智能提示和自动补全。Eclipse 做得不好,CDT 经常出现“Write Occurence of...”,就是没有智能提示,用 Eclipse 写 JavaScript 也没有智能提示,即使是网上广受好评的 PyDev 插件对 Python 的智能提示也做得不好。以上都是我亲自测试过的,绝无妄言。
可以这么说,Visual Studio Code 满足了我对轻量级编辑器的一切幻想。首先,这个工具非常小巧,安装包体积不大,启动速度又超快。而且它打开文件的速度非常快,基本上都是秒开。其次,它非常漂亮,无论是菜单栏、窗口标签、编辑器字体,还是窗口布局、颜色主题,都很符合我的口味。而且字体的设置也非常方便,我后面会讲到。最后,它的智能提示和自动补全功能很强大。目前,我用的是 Visual Studio Code 1.11 版,主要用来写 JavaScript 和 C/C++。而 Visual Studio Code 的 Python 插件非官方出品,功能还是差了些,所以我写 Python 还是只好用 PyCharm Community。
下面说说我对 Visual Studio Code 的体验。
下载和安装
Visual Studio Code 的下载和安装非常简单,我就不多说了,直接贴下载网页的截图,地址大家自己看。如下图:

它的文档也是非常完善的,每次使用它编写不同的编程语言的程序时,我都看一下相关的文档。如下图:

界面美化
前面提到过,如果一个软件界面不漂亮,或者不符合我的习惯,我是用得不开心的。Visual Studio Code 刚开始使用时,界面是这样的:

这个界面对我来说存在以下几个问题:
- 字太小;
- 最左边的那一竖条太讨厌了,我要去掉它;
- 编辑器的字体是 Courier New,虽然是等宽字体,但是该字体比较细,适合打印,不适合屏幕显示,我要改成 Consolas;
- 界面默认是中文,我有时想把它改成英文。
小字变大这太简单了,使用快捷键 Ctrl+= 就可以了,如果要缩小,快捷键 Ctrl+- 。如下图:

最左边那个竖条叫 Active Bar,可以从 View 菜单中设置为不显示,如下图:

改字体,这需要更改 Visual Studio Code 的配置。Visual Studio Code 的设计非常合理,要更改配置在菜单里面就可以找到,但是配置是以配置文件的形式明文存在的,而且配置文件都是 json 格式,太方便了。和编辑器有关的配置文件是 settings.json,该配置文件分用户级别的和工作区级别的,用户级别的放在目录 ~/.config/Code/User 中,而工作区级别的就放在工作目录中的.vscode目录中。如下图:

从上图可以看到,我们对编辑器字体的缩放以及对 Active Bar 的设置也被保存到了用户级别的 settings.json 文件中。如果要更改界面的语言,就需要设置 locale.json 配置文件。这个设置从菜单中找不到,只能使用 Ctrl+Shift+P 这个快捷键找到设置入口,如下图:

Visual Studio Code 支持的语言:

和项目有关的配置文件
前面说过,我不喜欢重量级的工程项目,不喜欢项目文件把我的工作目录搞得乱七八糟。Visual Studio Code 非常轻便,默认一个目录就是一个工作区,我们的工作只需要以目录的形式组织就可以了。但是对于不同的项目而言,基本的配置文件还是要有的。好在这些配置文件都放在工作目录的 .vscode 目录下,而且都是 json 格式,比较好管理。对于每种不同的语言和不同的项目,其配置文件是不同了,但是并不复杂,通过查看文档即可解决。
比较常见的文件是 launch.json 和 tasks.json。launch.json 一般用于对调试的支持,也就是告诉 Visual Studio Code 使用哪个调试器运行我们的程序,或者怎样远程连接到调试器。如下图,是我的一个 JavaScript 项目的截图:

可以看到,我们使用 Node.js 来运行这个 JavaScript 文件来进行调试。而 tasks.json 中可以定义 Task,而 Task 可以是运行一个外部程序,这大大加强了 Visual Studio Code 的功能。使用 Task,我们可以使用各种各样的软件工程学的工具,比如 make啊、gulp啊什么的。
最后再来看看我的一个简单的 C/C++ 项目,如下图:

关于其中的 launch.json、tasks.json、settings.json 前面已经讲过了,就是多了一个 c_cpp_properties.json 文件。这其实也很好理解,和 C/C++ 相关的那些属性都应该设置在这里嘛,比如从哪些目录 include 头文件、怎么解析符号、怎么进行自动补全之类的,都应该在这个配置文件中。而对于软件工程学方面的内容,比如 Build、Clean、Run 这样的东西,我觉得应该属于 Task 吧,而且据说 Visual Studio Code 对 Git 的支持也不错哦。
总结
总而言之, Visual Studio Code 非常方便好用。目前我还只是用它写 JavaScript 和 C/C++。至少在这两个领域我已经用它代替了 Vim。就写这么多吧,至于 Visual Studio Code 对软件工程学方面的支持,我还要继续摸索。
(京山游侠于2017-04-21发布于博客园,转载请注明出处。)
在 Ubuntu 中使用 Visual Studio Code的更多相关文章
- ubuntu中安装visual studio code-(转载)
在Ubuntu中安装Visual Studio Code 编译自:http://itsfoss.com/install-visual-studio-code-ubuntu/ 作者: Abhishek ...
- 1 分钟上手,在容器中运行 Visual Studio Code
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers 这个插件允许我们在容器中运 ...
- ubuntu下使用visual studio code来编译和调试C++
最近想在linux上编译c++代码,自己却一直习惯window上的IDE.以前公司要我写Linux代码的时候,我一般都是用eclipse + CDT,而eclipse这东西吧,我个人感觉因为加载组件太 ...
- 在ubuntu下使用visual studio code编写python
感觉有了visual studio code之后,不管编写什么语言的代码都可以,简单安装对应的语言插件即可. 这不轮到了最近比较热的python语言,蹭着AI的热度,python语言成为了工程师们又一 ...
- ubuntu下安装Visual Studio Code
环境准备 先安装一般umake没有问题 sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo ...
- Visual Studio Code 远程开发探秘
摘要: IDE新时代! 作者:SHUHARI 的博客 原文:Visual Studio Code 远程开发探秘 Fundebug按照原文要求转载,版权归原作者所有. 在以前的文章 有趣的项目 - 在浏 ...
- Visual Studio Code 显示隐藏的.git文件和目录
在默认设置中,Visual Studio Code 将下列文件文件排除在显示列表中: "files.exclude": { "**/.git": true, & ...
- Java on Visual Studio Code的更新 – 2021年8月
Nick Senior Program Manager, Developer Division at Microsoft 大家好,欢迎来到 8 月版的 Visual Studio Code Java ...
- Ubuntu 14.04 下使用微软的跨平台轻量级开发神器 Visual Studio Code
因为 Visual Studio Code 不断更新,官方最新 v1.32 的 .deb 包已经不能用于 Ubuntu 14.04 直接安装了. 下载 v1.31 的 deb 包安装即可:https: ...
随机推荐
- Docker----在Docker中部署Asp.net core2.1以及修改发布
本篇文章主要是如何在Docker容器中运行ASP.NET Core应用程序,以及修改系统之后,发布更新.本文章采用自定义的Docker文件 系统要求: 1.服务器或本地已经安装docker 一.创建一 ...
- PHP 递归几种方法
一.利用静态变量的方法 <?php function call(){ static $i = 0; echo $i . ''; $i++; if($i<10){ call(); } } c ...
- iOS开发之获取时间戳方法
// 得到当前本地时间,13位,整形 + (long long)gs_getCurrentTimeToMilliSecond { double currentTime = [[NSDate date] ...
- golang 关于 interface 的学习整理
Golang-interface(四 反射) go语言学习-reflect反射理解和简单使用 为什么在Go语言中要慎用interface{} golang将interface{}转换为struct g ...
- MyBatisPlus的通用查询,简直可以丢弃Dao和mapper.xml了
/** * * @author shenjing * @date 2018/6/20 */ @Service public class LocalDispatchServiceImpl extends ...
- ubuntu18.04使用SPFlashTool提示缺少libpng12.so.0
Ubuntu libpng12无法安装解决 Ubuntu 14以上就已经不再支持libpng12,然而有些软件又依赖于libpng12(如我要使用的Cisco Packet Tracer).我们可以采 ...
- vsftp搭建
(1)下载 yum install -y vsftpd (2)目录详情 /etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件 /etc/vsftpd/ftpusers:用于指定 ...
- POSIX共享内存
DESCRIPTION 共享内存是最快的可用IPC形式.它允许多个不相关(无亲缘关系)的进程去访问同一部分逻辑内存. 如果需要在两个进程之间传输数据,共享内存将是一种效率极高的解决方案.一旦这样的内存 ...
- UOJ#440. 【NOIP2018】填数游戏 动态规划
原文链接www.cnblogs.com/zhouzhendong/p/UOJ440.html 前言 菜鸡选手到省选了才做联赛题. 题解 首先我们分析一下性质: 1. 假如一个格子是 0,那么它的右上角 ...
- Javascript获取value值的三种方法及注意点
JavaScript获取value值,主要有以下三种: 1.用document.getElementById(“id名”).value来获取(例1): 2.通过form表单中的id名或者name名来获 ...