linux 上安装 vscode,linuxvscode
linux 上安装 vscode,linuxvscode
以CentOS 7为例
一、安装
$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$ sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
$ sudo yum check-update
$ sudo yum install code
(参考:https://code.visualstudio.com/docs/setup/linux )二、修复无法跳转的问题
cd ~/.vscode/extensions/ms-vscode.cpptools-0.12.1/bin 然后 ldd ldd Microsoft.VSCode.CPP.Extension.linux 提示错误:version `GLIBC_2.18' not found
原来是CentOS 7的glibc版本太低的缘故(2.17)。所以需要安装 glibc 2.18。
1. 安装 glibc 2.18
wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.xz
tar xvf glibc-2.18.tar.xz
cd glibc-2.18;mkdir build;cd build
../configure --prefix=/opt/glibc-2.18/
make -j
su
make install
2. 在 ~/.vscode/extensions/ms-vscode.cpptools-0.12.1/bin 下创建一个脚本文件 Microsoft.VSCode.CPP.Extension.linux.sh,内容为:
#!/bin/bash
/opt/glibc-2.18/lib/ld-linux-x86-64.so.2 --library-path /opt/glibc-2.18/lib:/lib64 ~/.vscode/extensions/ms-vscode.cpptools-0.12.1/bin/Microsoft.VSCode.CPP.Extension.linux
然后 chmod +x Microsoft.VSCode.CPP.Extension.linux.sh
参考:
https://github.com/Microsoft/vscode-cpptools/issues/292
https://github.com/Microsoft/vscode-cpptools/issues/19
三、代码格式化问题
1. 快捷键问题
Windows上的快捷键是 Shift+Alt+F, 查了文档 https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf 说Linux上的快捷键是 Ctrl+Shift+L,然而不起效。但右键->格式化代码却可以,所以绑定新的快捷键可以解决问题:
文件->首选项->键盘快捷方式,搜索 format,找到该项,修改为 Shift+Alt+F 即可。
实际上 Ctrl+Shift+L 被绑定给“选择所有匹配项” 了,所以冲突。
2. 按特定选项格式化,有两种方法:
方法1:文件->首选项->设置,在设置项中新加一条 "_clang-format": "/home/cj/.clang-format" 其中/home/cj/.clang-format 为格式化参数文件的路径。(参数文件设置参考这篇博文:http://blog.csdn.net/chenjun15/article/details/75640389)后记:发现这条设置无效。之前我产生了起作用的错觉是因为所打开的目录下有一个相同的.clang-format 文件。
按下格式化快捷键时,vscode首先在锁打开的目录下寻找.clang-format文件,如果没找到,则依次顺着父目录网上查找,若一直找到根目录也没找到,则使用 C_Cpp.clang_format_fallbackStyle 指定的风格。
方法2:新加一条 "C_Cpp.clang_format_style": "{ BasedOnStyle: LLVM, AllowShortFunctionsOnASingleLine: None, ColumnLimit: 120, Standard: Cpp11, IndentWidth: 4, TabWidth: 4, UseTab: Always, BreakBeforeBraces: Linux }"
3. 其它
"editor.formatOnType": true,
"editor.formatOnPaste": true
将这两个选项设为 true,则在键入分号 和 粘贴 的时候会格式化。"editor.detectIndentation": false
设置这项为true, 则打开文件时不检测以空格还是tab对齐,有效避免了将tab显示为2个空格的问题(默认显示为4个)四. 代码补全
安装 cpptools 和 c/c++ clang command adapter 两个插件就会有较好的补全效果
其它参数参见 https://code.visualstudio.com/docs/languages/cpp
后记-------------------------------
笔者的vscode用户设置如下:
{
"C_Cpp.clang_format_style": "{ BasedOnStyle: LLVM, AllowShortFunctionsOnASingleLine: Empty, ColumnLimit: 120, Standard: Cpp11, IndentWidth: 4, TabWidth: 4, UseTab: Always, BreakBeforeBraces: Linux, AlwaysBreakTemplateDeclarations: true, SpaceAfterTemplateKeyword: false }",
"C_Cpp.intelliSenseEngine": "Tag Parser",
"editor.detectIndentation": false,
"files.autoSave": "afterDelay",
"explorer.confirmDragAndDrop": false
}
相关文章
- 暂无相关文章
用户点评