在 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: ...
随机推荐
- webpack是什么
1,打包工具 模块打包 2.前端工程师 ,必不可少工具webpack作用 1.打包 (多个文件,打包成一个文件) 2.转化(less,sass,ts) 需要核心 技术 loader 3优化(SPA越来 ...
- scrapy发送邮件
scrapy发送邮件 应用场景:在爬虫关闭或者爬虫空闲时可以通过发送邮件的提醒. 通过twisted的非阻塞IO实现,可以直接写在spider中,也可以写在中间件或者扩展中,看你具体的需求. 在网上找 ...
- F - JDG HDU - 2112 (最短路)&& E - IGNB HDU - 1242 (dfs)
经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强.这时候,XHD夫妇也退居了二线,并在风景秀美的诸暨市浬 ...
- 无向图 解决Unity地图上固定网络上,标记走固定步数能到达的位置
首先需要了解无向图的定义 参考:https://www.cnblogs.com/wxgblogs/p/5572391.html 我们选择链表的方式进行操作. int StartPositon; int ...
- 【原创】beyond compare 解决文件一样,对比有差异的问题
在beyond compare的5~6年的使用过程中突然有一天发现,beyond compare对比的文件都一样,但是却都显示红色!很是烦人. 这是因为beyond compare一开始对比的时时间, ...
- Django-model
Model:数据库操作 创建数据库的表: django不能自动创建数据库,但能创建表 在web的models里定义生成表 在project的settings里设置app定义和数据库信息 步骤: 1.创 ...
- 设置SecureCRT的背景色和文字颜色方案
一.对于临时设置,可以如下操作: 首先options -- session - appearance 此处可以设置临时的窗口背景,字体颜色,大小等等,为什么说是临时,是因为只要你关闭连接后,又会恢复. ...
- Javascript执行上下文和执行栈
什么是执行上下文? 执行上下文就是当前JavaScript代码被解析和执行时所在环境的抽象概念,JavaScript中运行任何的代码都是在执行上下文. 什么是执行栈? 执行栈,在其他编程语言中也被叫做 ...
- python+selenium自动测试之WebDriver的常用API(基础篇一)
基于python3.6,selenium3.141,详细资料介绍查看官方API文档,点击这里 一.对浏览器操作 driver = webdriver.Chrome() # 初始化chrome driv ...
- .Net Core Web/Console 下使用Nlog
.Net Core Console 下使用Nlog 官方介绍: https://github.com/NLog/NLog.Web/wiki/Getting-started-with-ASP.NET-C ...