欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

从 Atom 到 VS code 文本编辑器使用心得 Visual Studio code 怎么用

程序员文章站 2022-03-09 19:12:08
...

介绍和概述

最近尝试用了用 VS code, 写个使用心得. 网上很多同 Atom 横向对比的文章好像都偏向于 VS code 比较好用.

VS code 感觉就是微软在收购 GitHub 之后,对后者的 Atom 所做的进一步的集成和优化,增加的易用性的同时,违背了 Atom 任何功能都是扩展件可替换可完全定制的原则,集成更多的常用功能,相应的配置项更加繁杂,优化其插件越多,启动速度越慢的问题,默认外观远没有 atom 好看, 需要考验自己的审美进行配置. 按使用习惯进行一系列配置为任意自己之前习惯的样子,理论上扩展插件丰富, 只有想不到, 没有不能实现的功能.

VS code 是一个 Linux 风格的软件,保持一切皆是文件的原则,不是一般 Windows 程序那样配置信息存在注册表中,而是像 Atom 那样存在文件中,配置文件夹以点号开头,在 Linux 下是隐藏文件夹,配置文件用 json 格式, 可通过配置面板修改, 也可直接编辑配置文件, 更换操作系统环境时,配置文件可以方便的 clone,即使重装也可完全恢复之前的配置环境, 在程序启动后,配置信息会覆盖默认配置, 以命令输入为驱动, 不再有传统意义上的工具栏, 这些都跟 Atom 一样.

文本编辑器都是对 UTF8 编码的支持会更好, 其他编码容易产生乱码,放弃 Atom 也主要是这个原因,也是为什么很多人更喜欢用 sublime, 因为不是 UTF8 格式的话, 连搜索字符这种功能都会失效,VS code 解决但未完全解决这个问题, 跳转有时会定位不准,浮窗依然识别不了中文字符,会出现乱码, 只有 UTF8 能够解决一切问题.

文件夹即是工作空间, 不需要额外的项目文件,但是项目级,而非用户级的配置文件会建立在项目文件夹中.

同样, 文件标签单击为临时打开, 双击为固定打开.添加和删除行注释是完全相同的快捷键,智能识别当前选择的是否为注释的语句, 但是如果同时多选注释和非注释的行, 将会以第一行为准,注释从句首开始而不是从行首开始,方便保持代码层级结构,在更改层级结构时,不会出现对不齐的问题.

函数列表,确切的说是符号列表,相当于 vim 中的 taglist,Atom 中的 Symbol tree view, 在 VS code 中叫做 outline, 这个保持了 VS 的风格, 和资源树同属 side bar, 处在资源树下面的位置, 目前发现的缺点是在编辑面板中光标移动到某个函数下时,outline 中不会对应高亮显示,必须双击函数名才行. 目前单从图标上无法区分函数声明和函数定义, 貌似也不能指定过滤显示的类型.

常用配置

文件

  1. Files: Encoding 选择 gbk 根据实际使用的字符编码进行选择
  2. Files: Trim Trailing Whitespace 勾选 保存文件时, 自动删除行末多余空格
  3. Files: Exclude 添加不想在文件列表中看到的文件或文件夹 .vscode, *.mtpj, *.mtud, DefaultBuild
  4. Files: Eol 选择 auto Windows 习惯为回车和换行, Linux 只有换行符
  5. Files: Auto Guess Encoding 取消勾选 防止有些由代码生成器(code generator)生成的代码无法正确识别字符编码

搜索

  1. Search: Loaction 选择 panel 默认搜索结果显示在 SideBar 中, 导致文件列表函,数列表和搜索结果同一时刻只能显示其中一个很不方便
  2. Search: Show Line Numbers 勾选 搜索结果行末会显示出行号
  3. Search: Collapse Results 选择 alwaysExpand 搜索结果总是展开, 不自动折叠, 默认如果一个文件中搜索结果过多会自动折叠

编辑器

  1. Editor: Tab Size 填入4 默认值即可
  2. Editor: Drag and Drop 取消勾选 防止鼠标误操作
  3. Editor: Multi Cursor Modifier 选择 alt 由于 ctrl 用于跳转到定义, 用 alt 进行多光标操作, 多光标操作配合各种粒度调节, 效率很强大
  4. Editor: Insert Spaces 取消勾选 不插入空格
  5. Editor: Font Family 输入 source code pro 本人比较喜欢的 adobe 官方出品的开源免费等宽字体
  6. Editor: Sroll Beyond Last Line 勾选 滚轮滚到文件末尾后能够继续向下滚动

窗口

  1. Window: Menu Bar Visibility 选择 toggle 按 alt 键才显示菜单, 平时无须显示
  2. Window: New Window Dimensions 选择 maximized 打开新窗口时最大化显示

其他配置

  1. Workbench: Color Theme: 选择 Slime 按深色背景, 暖色高亮为选择, 最后选择了这个主题, 虽然没有 atom 自带的好看

  2. Breadcurmbs: Symbol Sort Order 选择 position 按位置顺序排列符号和函数

  3. Workbench>Panel: Default Location 选择 right 搜索面板显示在右边看起来比较方便

  4. Workbench>Activity Bar: Visible 取消勾选 用惯了快捷键后, 活动栏平时用不到

  5. Problem>Dcorations: Enabled 取消勾选 不用它编译, 不需要显示错误和警告

  6. Close On File Delete 勾选 删除文件时关闭该文件的编辑窗口

  7. Enable preview 勾选 打开一个文件时, 默认文件标题是斜体, 表示临时打开, 此时再打开其他文件会覆盖当前标签, 避免打开标签页过多, 编辑文本或双击该文件标题可固定此标签页

  8. Enable Drag And Drop 取消勾选 拖拽不能改变文件位置和文件夹结构

  9. Setting Editor 选择 UI 默认用图形界面进行配置, 而不是直接编辑 json 文件

  10. Smooth Scrolling 勾选

  11. Cursor Smooth Caret Animation 勾选

界面上用鼠标配置(后续内容待使用过程中继续完善)

  1. outline 勾选 follow cursor 在编辑区域双击函数名时, 列表才会跟踪到该函数位置

  2. Explorer 右键 取消勾选 Open Editors 因为没啥用

  3. 系统右键菜单 使用 code 打开文件或文件夹

  4. preview

  5. overview

  6. mouseover

常用快捷键

Command Keybinding Explanation
View: Toggle Side Bar Visibility Ctrl+B 常用, 避免显示器小, 窗口经常拖来拖去
View: Toggle Panel Ctrl+J 基本就用于显示和隐藏搜索结果面板
View: Show Explorer Ctrl+Shift+E 文件树
View: Show Search Ctrl+Shift+F 项目搜索,支持搜索中文注释
View: Show Extensions Ctrl+Shift+X 插件面板
Delete Line Ctrl+Shift+K 删除整行
Go to Symbol in File Ctrl+Shift+O 跳转到指定源文件
Go Back Alt+LeftArrow 后退
Go Forward Alt+RightArrow 前进
Go to Line Ctrl+G 跳转到指定行
Go to Definition F12 跳转到定义
Peek Definition Alt+F12 定义瞥见
Close Editor Ctrl+W 关闭当前编辑的文件
Open Folder Crrl+K 打开文件夹
Show All Commands Ctrl+Shift+P 以搜索驱动, 输入想要的操作, 慢慢记住常用快捷键
Toggle Line Comment Ctrl+/ 行注释添加和删除智能识别, 用的是相同的快捷键
Go to File Ctrl+P 跳转到指定文件, 输入文件名是, 可跳着输入字母, 效率强大

自定义快捷键

Trigger Symbol Highlight Ctrl+K

搜索命令示例

  1. 搜索 Open Keyboard Shortcuts 打开快捷键配置面板
  2. 搜索 Color Theme 设置颜色主题
  3. 搜索 File Icon Theme 设置文件图标主题

JSON 配置文件

复制以下文本同样可实现上面提到的一系列配置

{
    "files.encoding": "gbk",
    "editor.fontFamily": "source code pro, Consolas, 'Courier New', monospace",
    "workbench.colorTheme": "Slime",
    "editor.minimap.enabled": false,
    "search.location": "panel",
    "files.trimTrailingWhitespace": true,
    "files.exclude": {
        ".vscode": true,
        "*.mtpj": true,
        "*.mtud": true,
        "DefaultBuild": true
    },
    "editor.dragAndDrop": false,
    "workbench.panel.defaultLocation": "right",
    "search.showLineNumbers": true,
    "editor.insertSpaces": false,
    "workbench.activityBar.visible": false,
    "window.menuBarVisibility": "toggle",
    "problems.decorations.enabled": false,
    "editor.smoothScrolling": false,
    "editor.cursorSmoothCaretAnimation": false,
    "C_Cpp.updateChannel": "Insiders",
    "search.collapseResults": "alwaysExpand",
    "window.newWindowDimensions": "maximized",
    "workbench.editor.closeOnFileDelete": true,
    "explorer.enableDragAndDrop": false
}