调整目录
86
_posts/software/git_v2_install.md
Normal file
@@ -0,0 +1,86 @@
|
||||
## yum软件源安装
|
||||
|
||||
用yum install git 在centos 默认安装的git版本是 1.8.3.1 太低了
|
||||
|
||||
```
|
||||
yum install git
|
||||
```
|
||||
|
||||
|
||||
|
||||
```
|
||||
# git --version
|
||||
git version 1.8.3.1
|
||||
```
|
||||
|
||||
|
||||
|
||||
## 源码包安装
|
||||
|
||||
步骤1. 安装依赖包
|
||||
|
||||
```
|
||||
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
|
||||
# yum install gcc perl-ExtUtils-MakeMaker
|
||||
```
|
||||
|
||||
上面的软件不一定全部安装,可以用下面的命令检查,已经安装的就不用安装了。
|
||||
|
||||
```
|
||||
yum list installed |grep xxx
|
||||
```
|
||||
|
||||
|
||||
|
||||
步骤2. 卸载旧的git版本(如果之前有安装rpm包)
|
||||
|
||||
```
|
||||
# yum remove git
|
||||
```
|
||||
|
||||
步骤3. 下载&解压
|
||||
|
||||
> 源码文件(当前最新版本 **v2.16.1** @ **2018年2月9日**)
|
||||
>
|
||||
> \- 地址1:https://www.kernel.org/pub/software/scm/git/
|
||||
> \- 地址2:[https://github.com/git/git/release](https://github.com/git/git/releases)
|
||||
|
||||
```
|
||||
# cd /usr/src
|
||||
# wget https://www.kernel.org/pub/software/scm/git/git-2.5.0.tar.gz
|
||||
# tar -zxvf git-2.5.0.tar.gz
|
||||
```
|
||||
|
||||
步骤4. 编译安装
|
||||
|
||||
```
|
||||
# cd git-2.5.0
|
||||
# make prefix=/usr/local/git all
|
||||
# make prefix=/usr/local/git install
|
||||
# echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
|
||||
# source /etc/bashrc
|
||||
```
|
||||
|
||||
步骤5. 检查git版本
|
||||
|
||||
```
|
||||
# git --version
|
||||
git version 2.5.0
|
||||
```
|
||||
|
||||
|
||||
|
||||
**注意:如果安装完查看版本不是我们安装的最新版,请重新执行下面的操作**
|
||||
|
||||
```
|
||||
# yum remove -y git
|
||||
# source /etc/bashrc
|
||||
# git --version
|
||||
```
|
||||
|
||||
|
||||
|
||||
参考:
|
||||
|
||||
- https://github.com/git/git/blob/master/INSTALL
|
||||
- http://stackoverflow.com/questions/21820715/how-to-install-latest-version-of-git-on-centos-6-x-7-x
|
||||
112
_posts/software/vscode的cpp配置/vscode的cpp环境配置.md
Normal file
@@ -0,0 +1,112 @@
|
||||
## 开发环境介绍
|
||||
|
||||
我工作环境
|
||||
|
||||
|
||||
|
||||
## 插件配置
|
||||
|
||||
### 生成头文件防重复引用宏
|
||||
|
||||
利用代码片段生成如下的头文件宏定义
|
||||
|
||||
```
|
||||
#ifndef _MY_TEST_FILE_H_
|
||||
#define _MY_TEST_FILE_H_
|
||||
|
||||
// here is you code...
|
||||
|
||||
#endif // _REDIS_FREQ_WRITE_ACTION_H_
|
||||
```
|
||||
|
||||
设置
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
格式可自定义。
|
||||
|
||||
```
|
||||
{
|
||||
"C C++ Header": {
|
||||
"scope": "c, cpp",
|
||||
"prefix": "header",
|
||||
"description": "Add #ifndef, #define and #endif",
|
||||
|
||||
"body": [
|
||||
"#ifndef _${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H_",
|
||||
"#define _${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H_",
|
||||
"",
|
||||
"$0",
|
||||
"",
|
||||
"#endif // _${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H_"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### 文件和函数注释
|
||||
|
||||
安装插件 `koroFileHeader`可以自定义文件头部注释和函数注释。
|
||||
|
||||

|
||||
|
||||
搜索 `filehead` 点击编辑 `settings.json` 打开配置编辑界面。
|
||||
|
||||
```json
|
||||
// 文件头部注释
|
||||
"fileheader.customMade": {
|
||||
|
||||
"Description": "",
|
||||
"version": "1.0",
|
||||
"Author": "lemon",
|
||||
"Copyright": "(C) BAT",
|
||||
"Date": "Do not edit",
|
||||
"History": "Date Author Comment"
|
||||
},
|
||||
|
||||
// 函数注释
|
||||
"fileheader.cursorMode": {
|
||||
|
||||
|
||||
"name": "",
|
||||
"description":"",
|
||||
"param": "",
|
||||
"return": ""
|
||||
},
|
||||
"fileheader.configObj": {
|
||||
// 自定义语言注释符号,覆盖插件的注释格式
|
||||
"language": {
|
||||
"java": {
|
||||
"head": "/$$",
|
||||
"middle": " $ @",
|
||||
"end": " $/"
|
||||
},
|
||||
// 一次匹配多种文件后缀文件 不用重复设置
|
||||
"h/hpp/cpp": {
|
||||
"head": "/**************************************************", // 注释开头 多个*
|
||||
"middle": " * @", // 注释中间 *
|
||||
"end": " ***************************************************/" // 注释结尾 多个*
|
||||
},
|
||||
// 针对有特殊要求的文件如:test.blade.php
|
||||
"blade.php":{
|
||||
"head": "<!--",
|
||||
"middle": " * @",
|
||||
"end": "-->",
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
### 格式化代码
|
||||
|
||||
快捷键:Shift+Alt+F
|
||||
|
||||

|
||||
BIN
_posts/software/vscode远程开发/SSH程序.png
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
_posts/software/vscode远程开发/SSH配置文件.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 121 KiB |
134
_posts/software/vscode远程开发/vscode远程开发.md
Normal file
@@ -0,0 +1,134 @@
|
||||
今天和大家分享远程开发工具,分享一下我平常是如何用 VS Code 进行远程开发工作的,以及一步步教你搭建远程开发环境,拥有比德芙还丝滑的远程开发体验。
|
||||
|
||||
我们厂里为了最大程度提高工程师生产力,各种研发配套工具非常的齐全,对开发人员每人都有一台云主机,而且是个人主机哦,申请就有的那种,有了云开发主机在家里或者在公司都可以随便折腾,加班也更方便了,好像哪里有点不对。
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## 传统的远程开发
|
||||
|
||||
大家都知道我是从事后台服务器开发工作的,主力语言是C/C++。我们的服务端程序一般都是跑在 `Linux` 服务器上面,传统的开发流程是在 window 或 Mac 的 IDE 环境编写代码,然后用 `ftp` 或`sync` 同步代码到开发机上编译,程序或服务最终发布到测试或生产环境运行。
|
||||
|
||||
就我来说,以前是这么干的:在本地 Windows 和 Linux 云开发机之间开启一个同步程序,本地编辑代码,实时后台同步到 Linux 云开发机,然后用 `xshell` 登录开发机编译、调试,这个过程有点不够优雅,现在有更香的解决方案。
|
||||
|
||||
|
||||
|
||||
## 更香的远程开发
|
||||
|
||||
### 介绍下VS Code
|
||||
|
||||
这是一款开源编辑器,却不止是编辑器。
|
||||
|
||||
> **Visual Studio Code**(简称**VS Code**)是一个由[微软](https://zh.wikipedia.org/wiki/微软)开发,同时支持[Windows](https://zh.wikipedia.org/wiki/Windows) 、 [Linux](https://zh.wikipedia.org/wiki/Linux)和[macOS](https://zh.wikipedia.org/wiki/MacOS)等操作系统且[开放源代码](https://zh.wikipedia.org/wiki/开放源代码)的[代码编辑器](https://zh.wikipedia.org/wiki/文本编辑器)[[4\]](https://zh.wikipedia.org/wiki/Visual_Studio_Code#cite_note-TechCrunch-4),它支持[测试](https://zh.wikipedia.org/wiki/调试),并内置了[Git 版本控制](https://zh.wikipedia.org/wiki/Git)功能,同时也具有开发环境功能,例如代码补全(类似于 [IntelliSense](https://zh.wikipedia.org/w/index.php?title=IntelliSense&action=edit&redlink=1))、代码片段和[代码重构](https://zh.wikipedia.org/wiki/代码重构)等。该编辑器支持用户个性化配置,例如改变主题颜色、键盘快捷方式等各种属性和参数,同时还在编辑器中内置了扩展程序管理的功能。引用维基百科
|
||||
|
||||
我最喜欢的是它的插件能力,几乎想要啥功能都能找到插件支持,应该不用我安利你们都会喜欢的。
|
||||
|
||||
在 2019 年的 Stack Overflow 组织的开发者调研中,VS Code被认为是最受开发者欢迎的开发环境,据调查87317名受访者中有 50.7% 的受访者声称正在使用VS Code。
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
说了这么多,反正要表达的就是VS Code很厉害就是了。
|
||||
|
||||
**重点来了,今天的主角功能是下面这个远程开发扩展插件。**
|
||||
|
||||
微软在 PyCon 2019 大会上发布了VS Code Remote ,从 1.35.0 版本正式提供可以在本地编辑远程开发环境的文件的功能,所以首先确保你的VS Code版本是在这个之上的才能体验到。
|
||||
|
||||
VS Code远程开发的工作原理,大致是这样的:
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
下面讲讲如何配置,我的Local OS是 Win10 , Remote OS 是 Linux云主机。
|
||||
|
||||
|
||||
|
||||
### 远程开发配置
|
||||
|
||||
#### 配置SSH环境变量
|
||||
|
||||
远程开发本地 VS Code 用 SSH 协议与远程服务端通信,所以要先配置SSH环境变量,由于Git自带SSH客户端程序
|
||||
|
||||

|
||||
|
||||
如果你还没装Git的话,这里要先安装 Git,所以配置 Git 的 bin目录到环境变量的 PATH 变量下,这样VS Code连接的时候就能找到它了。
|
||||
|
||||

|
||||
|
||||
#### 安装远程开发插件
|
||||
|
||||
要能连上远程主机,首先我们需要下载VS Code远程开发插件,VS Code其实是提供了一个远程开发插件包,包括:
|
||||
|
||||

|
||||
|
||||
- [Remote - SSH](https://link.zhihu.com/?target=https%3A//marketplace.visualstudio.com/items%3FitemName%3Dms-vscode-remote.remote-ssh) - 通过使用 SSH 链接虚拟或者实体Linux主机。
|
||||
- [Remote - Containers](https://link.zhihu.com/?target=https%3A//marketplace.visualstudio.com/items%3FitemName%3Dms-vscode-remote.remote-containers) – 连接 Docker 开发容器。
|
||||
- [Remote - WSL](https://link.zhihu.com/?target=https%3A//marketplace.visualstudio.com/items%3FitemName%3Dms-vscode-remote.remote-wsl) - 连接 Windows Subsystem for Linux (Linux子系统)。
|
||||
|
||||
打开软件的扩展界面,搜索 `Remote` 开头的插件,也能看到这三个的不同远程开发插件,**我们这里连接的是云主机,选择安装 Remote - SSH 插件安装即可。**
|
||||
|
||||
#### 配置远程连接
|
||||
|
||||
1. 首先点侧边栏的「远程资源管理器」之后点击「设置按钮」,进入远程机器配置界面。
|
||||
|
||||

|
||||
|
||||
2. 修改 ssh 配置文件,用于登录远程机器,各项含义在图中有说明。
|
||||
|
||||

|
||||
|
||||
3. 点击连接,登录远程服务器,需要输入几次远程服务器的密码(后面会教你怎么免密登录),输入确认即可。第一次连接会做VS Code Server的初始化工作比较慢,耐心等待。
|
||||
|
||||

|
||||
|
||||
4. 登录成功,即可像操作本地环境一样,在VS Code客户端操作远程云主机上的文件。注意,**下图中的「打开文件夹」已经是远端机器上的目录结构了。**
|
||||
|
||||

|
||||
|
||||
4. 可以给远程VS Code 安装插件,安装的插件是在云服务器的VS Code上,对本机的VS Code没有影响,插件在远端提供功能,比如代码审查、自动补齐等等,而这所有的一切就像在本地操作一样,对文件的更改也是直接操作的云主机上的文件,丝滑连接。
|
||||
|
||||

|
||||
|
||||
4. 代码编辑与远程终端调试。打开文件编辑的是云服务器的文件,同时可以打开云服务终端,直接在终端操作编译或者查看云服务器信息。
|
||||
|
||||

|
||||
|
||||
### 配置SSH免密登录
|
||||
|
||||
按照上面的配置步骤,每次连接到远程服务器,都需要输入服务器登录密码很麻烦,可以配置SSH免密登录,免去每次输入密码的烦恼,具体操作步骤如下:
|
||||
|
||||
- 打开win cmd终端,输入 ssh-keygen -t rsa 生成秘钥对
|
||||
|
||||

|
||||
|
||||
- 打开生成的秘钥保存路径,拷贝 `id_rsa.pub` 内容,添加到到云服务器的 `~/.ssh/authorized_keys` 文件后面。
|
||||
|
||||
- 尝试再次连接,不用输密码了,enjoy.
|
||||
|
||||
|
||||
|
||||
## 写在最后
|
||||
|
||||
这套远程开发环境体验下来,我整体是比较满意的,最大的好处是不用给电脑装太多软件,选择VS Code是因为需要经常在C++/Python/Go三种IDE之间切换比较麻烦,现在即使是电脑配置低点都没关系,因为所有的编辑器插件扩展和代码都在云端,通过 `SSH` 连接操作一个VS Code打遍所有。
|
||||
|
||||
而且由于远程开发插件的存在,不论我在哪里,只要有电脑都能方便的打开云端开发环境,非常的方便,这么好用的工具大幅提升生产力,所以今天来分享给大家。
|
||||
|
||||
老规矩。感谢各位的阅读,文章的目的是分享对知识的理解,技术类文章我都会反复求证以求最大程度保证准确性,若文中出现明显纰漏也欢迎指出,我们一起在探讨中学习。
|
||||
|
||||
今天的技术分享就到这里,我们下期再见。
|
||||
|
||||
对了,今天是母亲节,别忘了给家里打个电话。
|
||||
|
||||

|
||||
|
||||
**原创不易,不想被白票,如果在我这有收获,就动动手指「在看」「转发」是对我持续创作的最大支持。**
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BIN
_posts/software/vscode远程开发/打开远程目录.png
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
_posts/software/vscode远程开发/本地插件和远程插件.png
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
_posts/software/vscode远程开发/机器配置.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
_posts/software/vscode远程开发/环境变量.png
Normal file
|
After Width: | Height: | Size: 151 KiB |
BIN
_posts/software/vscode远程开发/登录远程服务.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
_posts/software/vscode远程开发/秘钥列表.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
_posts/software/vscode远程开发/远程开发插件.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
_posts/software/vscode远程开发/远程编辑和调试.png
Normal file
|
After Width: | Height: | Size: 164 KiB |