vscodevim插件配置(vscode插件大全)

VSCode 调试

更全面的信息可以参考官方 调试手册 ,以下记录我用 VSCode 调试的一些经验。

想要在 VSCode 里调试,需要配置两个文件 tasks.json 和 launch.json 。

这两个文件按 F5 后会自动在 .vscode 目录下生成。

一般默认生成的 tasks.json 文件如下:

我们需要关注的选项有:

深入理解 tasks.json 文件的作用与 "command" 选项的用法,我们就能灵活地配置构建工程。

tasks.json 文件是用来构建工程的,当我们按 F5 进行调试时,VSCode 首先会执行 tasks.json 文件里 "command" 选项后的命令,并传入 "args" 参数,这样整个工程就被重新编译链接一遍了。

以 hello.c 文件和上述 tasks.json 为例,按 F5 进行调试时,最终会在命令行执行下述命令构建工程:

当然,如果一个工程有多个文件,"command" 就不能是简单的 gcc 了,需要根据实际的构建系统选择。

如果构建系统使用的是 Makefile ,那我们可以配置

这样在构建项目时就会使用命令

这跟我们平时使用 make 构建项目是一致的。

又比如配置 Zephyr 环境,

这样在构建项目时相当于执行命令

launch.json 文件用于配置调试环境。一般默认生成的文件如下:

我们需要关注的选项有:

VSCode 预定义了一些变量,可以在 Variables Reference 查看意思。

有时候我们的程序需要访问硬件资源,这一般需要 root 权限,而 VSCode 一般是在用户权限下启动的,这就需要特殊配置 VSCode 才能调试程序。

下面介绍如何利用 VSCode 以 root 权限调试程序。

首先需要注意到 launch.json 文件里的 "miDebuggerPath" 这个选项,它是调试器的路径,如果这个调试器可以以 root 权限运行,那么就达成了我们的目的了。

在 /home/user_name 目录下创建文件 gdb,user_name 需要替换为实际的用户名。

然后编辑该文件 vim gdb ,加入下述内容:

给 gdb 添加执行权限,

在修改 "miDebuggerPath" 成为

即可。这样我们就可以在 VSCode 里以 root 权限调试程序了,只不过每次都需要输入密码,因为有一个 sudo 过程。

为了解决这个麻烦,我又在网上找到了方法,将 /home/user_name/gdb 加入 sudo 的免密认证即可。

输入

编辑 /etc/sudoers 文件,修改成下述内容即可,

其中 jackis 是我的用户名,需要根据实际用户名替换。

NOPASSWD: 后的命令 sudo 时都不需要密码。退出 Shell,再重新打开一个命令行界面,输入 sudo apt update ,会发现没有提示输入密码了。

参考:

How to debug programs with “sudo” in VSCODE

How to Run sudo Commands Without Password

如何用vundle管理vim插件

一、安装vundle

git clone gmarik/vundle.git ~/.vim/bundle/vundle

二、如何通过vundle安装插件

vim-scripts仓库中的插件,可以直接使用Bundle 'L9'这样的格式配置

github上其他用户的插件,使用Bundle 'hahaya/hahaya-vim.git'这样用户名加仓库名的方式配置(自己的插件全部使用这种方法配置)

三、vundle命令

:BundleList -列举出列表中(.vimrc中)配置的所有插件

:BundleInstall -安装列表中全部插件

:BundleInstall! -更新列表中全部插件

:BundleSearch foo -查找foo插件

:BundleSearch! foo -刷新foo插件缓存

:BundleClean -清除列表中没有的插件

:BundleClean! -清除列表中没有的插件

四、配置.vimrc

上面已经解释了vundle的简单用法,下面配置.vimrc,然后介绍如何通过vundle管理插件,先在终端下执行vim ~/.vimrc命令,如果存在.vimrc则打开,不存在.vimrc则创建一个.vimrc并打开。在.vimrc中加入一些常用配置,我的.vimrc如下:

"====================================

" Vim基本配置

"===================================

"关闭vi的一致性模式 避免以前版本的一些Bug和局限

set nocompatible

"配置backspace键工作方式

set backspace=indent,eol,start

"显示行号

set number

"设置在编辑过程中右下角显示光标的行列信息

set ruler

"当一行文字很长时取消换行

"set nowrap

"在状态栏显示正在输入的命令

set showcmd

"设置历史记录条数

set history=1000

"设置取消备份 禁止临时文件生成

set nobackup

set noswapfile

"突出现实当前行列

"set cursorline

"set cursorcolumn

"设置匹配模式 类似当输入一个左括号时会匹配相应的那个右括号

set showmatch

"设置C/C++方式自动对齐

set autoindent

set cindent

"开启语法高亮功能

syntax enable

syntax on

"指定配色方案为256色

set t_Co=256

"设置搜索时忽略大小写

set ignorecase

"设置在Vim中可以使用鼠标 防止在Linux终端下无法拷贝

set mouse=a

"设置Tab宽度

set tabstop=4

"设置自动对齐空格数

set shiftwidth=4

"设置按退格键时可以一次删除4个空格

set softtabstop=4

"设置按退格键时可以一次删除4个空格

set smarttab

"将Tab键自动转换成空格 真正需要Tab键时使用[Ctrl + V + Tab]

set expandtab

"设置编码方式

set encoding=utf-8

"自动判断编码时 依次尝试一下编码

set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

"检测文件类型

filetype on

"针对不同的文件采用不同的缩进方式

filetype indent on

"允许插件

filetype plugin on

"启动智能补全

filetype plugin indent on

五、使用vundle安装插件

前面已经介绍了.vimrc的基本配置,那么该怎么使用vundle来管理vim插件呢,在.vimrc中添加如下内容启用vundle管理vim插件的功能,并使用vundle来配置一个名为vim-powline的状态栏加强插件

"开始使用Vundle的必须配置

set nocompatible

filetype off

set rtp+=~/.vim/bundle/vundle/

call vundle#rc()

"使用Vundle来管理Vundle

Bundle 'gmarik/vundle'

"PowerLine插件 状态栏增强展示

Bundle 'Lokaltog/vim-powerline'

"vim有一个状态栏 加上powline则有两个状态栏

set laststatus=2

set t_Co=256

let g:Powline_symbols='fancy'

"Vundle配置必须 开启插件

filetype plugin indent on

保存.vimrc文件,然后重新打开一个vim,在NORMAL模式下输入命令:BundleInstall,首次执行会要求输入github帐号和密码,等待插件下载完成,然后重新启动vim就会看见漂亮的状态栏插件~

六、使用vundle更新插件

使用vundle更新插件非常简单,只用打开一个vim,然后在NORMAL模式下输入命令:BundleInstall!

七、使用vundle卸载插件

使用vundle卸载插件也很简单,只需在.vimrc去掉绑定插件的命令及插件的配置(注释掉即可,以免以后会使用),假如需要卸载vim-powerline这个插件,首先在.vimrc中注释掉以下内容:

Bundle 'Lokaltog/vim-powerline'

"vim有一个状态栏 加上powline则有两个状态栏

set laststatus=2

set t_Co=256

let g:Powline_symbols='fancy'

保存.vimrc文件,重新打开一个vim,在NORMAL模式下输入命令:BundleClean,打开~/.vim/bundle已经看不到插件vim-powerline的相关文件,是不是很方便~

ps:粗心大意将set rtp+=~/.vim/bundle/vundle/中的rtp写成rpt,然后.vimrc中一直提示错误,然后查错误查了半天,很郁闷,找了好久才发现是单词拼写错误。

Vim 插件: vim-which-key

emacs 用户相信应该对于 emacs-which-key 很熟悉,如果你在一定时间没有输入下一个按键,它会自动显示接下来可能的所有快捷键映射,这对于常常需要多组合键的 emacs 来说很是方便。我在一开始使用 spacemacs 的时候,就被这个功能所吸引。不过一直以来 vim 中都缺少像 emacs-which-key 这样“形神兼备”的插件,这一点我在 space-vim 的 README 中也一早有提及。

vim-leader-guide 是 vim 里出现的一个比较接近的插件,它主要借鉴自 guide-key ,而 guide-key 是 emacs-which-key 的前身,目前已经不更新了,上一次 commit 还是在 2015 年。emacs-which-key 作为 guide-key 的继任者对它进行了重写,并加入了一些新的特性。

因为 vim-leader-guide 之前长时间没有更新,而且在我看来不够 fancy,所以我对它进行了一个大的改造,也就是现在的 vim-which-key ,主要改进的地方有:

vim-which-key 对于 vim 的版本和特性基本没什么要求,需要注意的一点是不要关闭选项 timeout ,即不要在 vimrc 中设置 set notimeout 。另外可以自行设置 timeout 的时长:

如果使用 vim-plug :

这是使用 vim-which-key 的最小配置,它会自动解析用户自定义的 leader 和 localleader 相关快捷键。但是通常来说,通过自动解析所展示的内容并不能起到 cheatsheet 的作用,所以一般还需要稍加一点自定义配置来实现一个比较好的效果。

要想实现上图中的效果,只需要再多额外两步配置。

第一步是用一个 dict 定义你要展示的信息和执行的操作,用过 vim-leader-guide 的应该都很熟悉,跟它很像,不同的地方主要有:

更详细的样例可以参考 space-vim 的 leader.vim , 它也是截图中的配置。

第二步是注册键位与对应的 dict,这一步比较简单,不要忘记就行。

除了 leader 和 localleader ,如果想要提示其他键也可以:

更多介绍请参看 vim-which-key 的 README 和 doc。

如果在使用 vim-which-key 过程中有任何问题,请到 GitHub 上的 issue 里面提,提 issue时请说明重现步骤并提供可重现的最小 vimrc,比如这样:

vim taglist插件怎么配置

下载Taglist,地址是 sourceforge.net/projects/vim-taglist/files/vim-taglist/ 解压taglist_45.zip,可以看到有两个目录doc和plugin,结构如下taglist_45-------- doc\-------- taglist.txt\-------- plugin\-------- taglist.vim执行下列shell命令,即安装完成 cp doc/taglist.txt /usr/share/vim/vim72/doc/ cp plugin/taglist.vim /usr/share/vim/vim72/plugin/使用方法: 在源码目录下,执行ctags -R对各目录递归创建生成tags文件 用Vim打开源码文件,以命令模式执行Tlist,即可启用Taglist插件,F1可以查看taglist的帮助信息附上我的Vim配置文件.vimrc"语法高亮 syntax on"显示行号 set number"自动缩进与C语言风格缩进 set autoindent set cindent"缩进宽度 set tabstop=4 set softtabstop=4 set shiftwidth=4 "建议开启expandtab选项,会自动将tab扩展很空格,代码缩进会更美观 set expandtab "set noexpandtab"switch case 对齐风格 set cino=g0,:0" " taglist " let Tlist_Show_One_File=1 "只显示当前文件的tags let Tlist_WinWidth=40 "设置taglist宽度 let Tlist_Exit_OnlyWindow=1 "tagList窗口是最后一个窗口,则退出Vim let Tlist_Use_Right_Window=1 "在Vim窗口右侧显示taglist窗口

361知讯网

本文链接:http://pdidw.com/vs/48759.html

发表评论

评论列表

还没有评论,快来说点什么吧~