Git extension简介
git、github、gitlab、Gitee介绍

git、github、gitlab、Gitee介绍看到这四个git是不是有点晕??这四个git⼯具之间是什么关系呢?每个⼯具具体提供什么作⽤呢?1、git 是⼀个版本控制系统,是⼀个命令是⼀种⼯具,有点像cmd命令⾏⼯具,安装在⾃⼰的windows电脑上,⽤来管理⾃⼰电脑上的版本的⼯具2、github 是⼀个基于git实现的在线代码托管仓库,向互联⽹开放,企业版要收钱3、gitlab 类似github,⼀般⽤于企业内部搭建私服,在内⽹进⾏软件开发管理版本(企业⼀般对⾃⼰的核⼼代码⽐较保密,所以⼀般不会上传到github上,⽽是⽤gitlab搭建私服在公司内⽹使⽤)4、Gitee 即码云,是基于gitlab开源软件开发的,是oschina免费给企业所⽤的代码托管平台,不需要⾃⼰搭建环境异同点: 1、github和gitlab都是基于git仓库的web开发流程代码托管平台,两者的区别是: github有私有仓库和公有仓库之分,私有仓库需要收费。
gitlab打破这种限制,可以免费搭建私有仓库,并可以部署在⾃⼰的服务器上,gitlab不仅有github的功能,还有更多的优秀特性,⽐如:权限设置,⼀般企业内部软件产品⽤gitlab是更好的选择,如果是开源产品,⼀般放在github上 2、Gitlab 让开发团队对他们的代码仓库拥有更多的控制权,相对于github,有不少特⾊ 1)允许免费设置仓库权限 2)允许⽤户选择分享⼀个project的部分代码 3)允许⽤户设置project的获取权限,进⼀步提升安全性 4)可以设置获取到团队整体的改进进度 5)通过innersourcing 让不在权限范围内的⼈访问不到该资源3、码云是开源中国社区退出的基于git的代码托管服务平台,它基于gitlab,⽬前招商银⾏,中国科学技术⼤学、CSDN等多家企业和机构都在使⽤码云平台。
几种源代码管理工具简介

⼏种源代码管理⼯具简介在软件开发的过程中,有⼀些问题是因为源代码⽽引起的,⽐如源代码的权限、代码版本的备份等⼀系列不同的问题。
因此,使⽤源代码管理⼯具可以有效地减少上述问题的产⽣。
使⽤源代码管理⼯具,可以看到⼀个软件开发项⽬从头到尾的流程,记录下内容变化,以⽅便再次查阅。
那么,下⾯就介绍三种源代码管理⼯具,分别是:CVS、SVN和GitHub。
1.CVSCVS是⼀个常⽤的代码版本控制软件,主要会在开源软件管理中使⽤。
⼀个中⼼版本控制系统来记录⽂件版本,从⽽达到保证⽂件同步的⽬的。
CVS版本控制系统是⼀种GNU软件包,主要⽤于在多⼈开发环境下源码的维护。
在⼀台服务器上建⽴⼀个源代码库,可以存放源程序。
由源代码库管理员统⼀管理这些源程序。
每个⽤户在使⽤源代码库之前,⾸先要把源代码库⾥的项⽬⽂件下载到本地,然后修改,最后⽤CVS命令提交。
这样⼀来,就好像只有⼀个⼈修改⽂件,不但避免了冲突,⼜做到跟踪⽂件变化情况。
2.SVNSVN是⼀个开放源代码的版本控制系统,是采⽤分⽀管理系统的⾼效管理。
它管理着随时间改变的数据。
这些数据放置在⼀个档案库中。
这个档案库像⼀个普通的⽂件服务器,但是它会记住程序源码的修改以及变动。
这样的话,不仅可以把程序源码恢复到改动之前的版本,也可以浏览程序源码的变动历史。
SVN系统实现对项⽬软件的版本控制,⼀⽅⾯是通过实现历史操作记录查阅,⽽另⼀⽅⾯是通过进⾏组员间的协同开发以实现对项⽬软件的版本控制。
3.GitHubGitHub是⼀个⾯向开源及私有软件项⽬的托管平台,因为只⽀持Git作为唯⼀的版本库格式进⾏托管,因此叫做GitHub。
GitHub除了Git代码仓库托管及基本的Web管理界⾯以外,还提供了订阅、讨论组、⽂本渲染、在线⽂件编辑器、协作图谱、代码⽚段分享等功能。
其作为⼀个分布式的版本控制系统,在Git中并不存在主库这样的概念,每⼀份复制出的库都可以独⽴使⽤。
GitHub可以托管各种git库,并提供⼀个web界⾯,并且在GitHub上,使⽤者可以找到海量的开源代码。
vsce package 打包原理

vsce package 打包原理当你运行`vsce package`命令时,它将根据当前目录中的`.vscodeignore`文件和`package.json`文件来打包你的扩展。
首先,`.vscodeignore`文件用于指定哪些文件和文件夹不应该被打包。
你可以使用通配符(例如`*`和`?`)来匹配文件和文件夹的名称。
在打包过程中,vsce会忽略`.git`、`node_modules`、`out`等常见的文件和文件夹。
然后,vsce会查找`package.json`中的`extensionDependencies`和`devExtensionDependencies`字段,以确定你在扩展中使用的依赖。
如果这些依赖没有被满足,vsce会为扩展创建一个`extension.vsixmanifest`文件,其中包含这些依赖的信息。
最后,vsce将打包当前目录中的所有文件,并将它们保存为`.vsix`文件,该文件包含了扩展的所有内容。
这些内容包括扩展的代码、资源文件和其他必要的文件。
打包过程的详细步骤如下:1. 检查`.vscodeignore`文件,确定哪些文件和文件夹需要被忽略。
2. 从`package.json`中获取`extensionDependencies`和`devExtensionDependencies`字段,并为这些依赖创建`extension.vsixmanifest`文件。
3. 创建一个空的`.vsix`文件。
4. 递归地将当前目录中的所有文件和文件夹添加到`.vsix`文件。
5. 忽略`.vscodeignore`文件指定的文件和文件夹。
6. 忽略`.git`、`node_modules`、`out`等常见的文件和文件夹。
7. 将`extension.vsixmanifest`文件添加到`.vsix`文件中。
8. 将`.vsix`文件保存到当前目录。
通过这个简单的步骤,vsce能够将你的扩展打包成一个可以在VS Code中安装和使用的`.vsix`文件。
VSCode微信小程序扩展开发

VSCode微信⼩程序扩展开发写在前⾯为什么要开发这个扩展呢,是因为微信开发者⼯具⾃⾝不⽀持页⾯引⼊组件的跳转,⼈⼯根据引⼊组件路径查看对应代码的⽅式,效率偏低。
就形如这样的json⽂件,引⼊了多个组件,⽐如要查看"/component/card-bg/card-bg"组件的源代码,通过⼈⼯检索⽬录查找对应⽂件,显然不如ctrl+⿏标左键单击⼀下这个组件路径,跳转到对应的组件⽂档,更⾼效。
作为⼀个有追求的程序员。
我们不能只做⼯具的使⽤者,我们要升级为⼯具的开发者。
先看看效果,功能展⽰如下:按下ctrl+⿏标左键,就能实现下⾯5种跳转功能。
1. app.json中的分包页⾯跳转2. js⽂件中的wx.navigateTo,wx.redirectTo,wx.reLaunch跳转3. wxml⽂件中微信标签bindTap属性绑定的⽅法跳转4. wxml⽂件中微信wxs标签src路径跳转5. js⽂件中的ajax url跳转这个插件不仅可以在VSCode编辑器中使⽤,也可以在微信开发者⼯具中使⽤,效果⼀模⼀样。
在微信开发者⼯具中的使⽤⽅法如下:1. 微信开发者⼯具⼯具栏--编辑-->打开编辑器扩展⽬录-将VSCode的扩展复制进去,假如你已经安装了某个扩展,这个扩展⼀般在C:\Users\xxx⽤户名\.vscode\extensions路径下。
2. 微信开发者⼯具⼯具栏--编辑-->管理编辑器扩展, 将VSCode扩展ID添加到扩展列表。
扩展ID的查找⽅式见下图。
3. 重启微信开发者⼯具。
如何开发出这样的VSCode 微信⼩程序扩展?step1 安装vscode扩展开发脚⼿架yo,generator-code和vscenpm install -g cnpm --registry=https://cnpm install -g yo generator-code vscestep2 ⽤yo初始化扩展项⽬yo code==========================================================================We're constantly looking for ways to make yo better!May we anonymously report usage statistics to improve the tool over time?More info: https:///yeoman/insight & http://yeoman.io========================================================================== No_-----_ ╭──────────────────────────╮| | │ Welcome to the Visual │|--(o)--| │ Studio Code Extension │`---------´ │ generator! │( _´U`_ ) ╰──────────────────────────╯/___A___\ /| ~ |__'.___.'__´ ` |° ´ Y `What type of extension do you want to create? New Extension (JavaScript)What's the name of your extension? wx-minipro-helperWhat's the identifier of your extension? wx-minipro-helperWhat's the description of your extension? 微信⼩程序开发助⼿,⽬前只实现了定义跳转功能Enable JavaScript type checking in'jsconfig.json'? YesInitialize a git repository YesWhich package manager to use yarnstep3 修改package.json⽂件{"name": "wx-minipro-helper","displayName": "wx-minipro-helper","description": "第⼀版本只实现了微信开发者⼯具不⽀持的 1.app.json内的页⾯路径跳转; 2. 页⾯下的json⽂件中引⼊的组件路径跳转; 3.页⾯⽂件下的js⽂件中的引⼊外部⼯具库跳转; 4.wx.navigateTo,wx.redirectTo,wx.reLaunch跳转; 5.wxml标签中 "version": "0.0.3","keywords": [ // 添加搜索关键字"wx","minipro","helper"],"publisher": "wph", // 添加发布者"icon": "src/images/icon.png", // 添加图标⾄少是128*128"main": "src/extension", // 修改⼊⼝⽂件"engines": {"vscode": "^1.5.0" // 依赖的vscode版本},"categories": ["Other"],"activationEvents": [ //启动时触发的命令"*"],"contributes": {"commands": [{"command": "extension.wx-minipro-helper","title": "wx-minipro-helper"}]},"scripts": {"lint": "eslint .","pretest": "yarn run lint","test": "node ./test/runTest.js"},"devDependencies": {"@types/glob": "^7.1.3","@types/mocha": "^8.0.0","@types/node": "^12.11.7","@types/vscode": "^1.5.0","eslint": "^7.9.0","fs": "^0.0.1-security","glob": "^7.1.6","mocha": "^8.1.3","os": "^0.1.1","path": "^0.12.7","typescript": "^4.0.2","vscode": "^1.1.37","vscode-test": "^1.4.0"},"bugs": {"url": "https:///wph/wx-minipro-helper/issues"},"repository": {"type": "gitee","url": "https:///getbetter/wx-minipro-helper.git"},"homepage": "https:///getbetter/wx-minipro-helper/blob/master/README.md"}step4 写扩展的功能,扩展⼊⼝extension.js内容如下const vscode = require('vscode');/*** 插件被激活时触发,所有代码总⼊⼝* @param {*} context 插件上下⽂*/exports.activate = function (context) {console.log('扩展“wx-minipro-helper”已被激活!');require('./jump-to-definition')(context); // 跳转到定义};/*** 插件被释放时触发*/exports.deactivate = function () {console.log('扩展“wx-minipro-helper”已被释放!');};extension.js引⼊的jump-to-definition⽂件,是跳转功能的具体实现,我为这部分代码写了详尽的注释, 基本原理就是VSCode提供了光标点击事件的⼀些属性,如点击了什么⽂件,点击了那⼀⾏,点击了⽂件中的什么⽂本,根据这些信息可以拿到跳转路径,然后调⽤vscode提供的跳转api,就能实现定义跳转功能const vscode = require('vscode');const path = require('path');const fs = require('fs');const util = require('./utils');/*** 查找⽂件定义的provider,匹配到了就return⼀个location,否则不做处理* @param {*} document* @param {*} position* @param {*} token*/function provideDefinition(document, position, token) {// 获取⼯作⽬录const projectPath = util.getProjectPath(document);// 获取光标所在⾏的⽂档路径const { fileName } = document;// 获取光标所在⾏的⽂档夹路径const workDir = path.dirname(fileName);// 获取光标所在位置的双引号范围内的⽂本路径,并去除空格,引号,逗号let textPath = document.getText(document.getWordRangeAtPosition(position, /[\'\"](.*?)[\'\"]/g));textPath = textPath.replace(/,|\s|\'|\"/gi, '');// 获取光标所在⾏的信息const line = document.lineAt(position);// 如果跳转⾏存在import字样,屏蔽掉这个⼯具的跳转功能,因为会与开发编辑⼯具的跳转功能冲突if (line.text.includes('import')) return null;// wxml⽂件中微信标签上bindTap绑定⽅法跳转, 因为在wxml⽂件中,获取到的光标所在处的⽂本是整个⽂档,所以要修改// 光标所在⾏截取出来的字符串,没有.或/等路径符if (/\.wxml$/.test(fileName) && !/[\/\.]/.test(textPath)) {// const textLine = document.lineAt(position);const wordRange = document.getWordRangeAtPosition(position, /[\w|\-]+\b/);// const tag = (textLine.text.match(/(?<=<\/?)[\w|\-]+\b/) || [])[0];const word = document.getText(wordRange);// console.log(wordRange, word, tag, textPath);// 在wxml⽂件对应的js⽂件中,查找⽅法名所在的⾏号和列数const filePath = fileName.replace(/\.wxml$/, '.js');const pos = util.findStrInFile({ filePath, str: word});const { row, col } = pos;// 判断是否找到if (row != 0 && col != 0) {return new vscode.Location(vscode.Uri.file(filePath), new vscode.Position(row, col));}return [];}// 项⽬定制需求--ajax url跳转,不通⽤// 检测光标所在⾏的字符串中是否有ajax('')字样const ajaxReg1 = new RegExp(`ajax\\(\\s*.*('|")${textPath}('|"),?`, 'gm');// 检测光标所在⾏的字符串中是否有yield call(ajax字样const ajaxReg2 = new RegExp(`yield call\\(ajax\\, ?('|")${textPath}('|"), ?`, 'gm');const json = document.getText();if (ajaxReg1.test(json) || ajaxReg2.test(json)) {// webapp项⽬const destPath1 = `${projectPath}/src/config/api.js`;// ⼩程序项⽬const destPath2 = `${projectPath}/config/api-config.js`;let destPath = '';if (fs.existsSync(destPath1)) {destPath = destPath1;} else if (fs.existsSync(destPath2)) {destPath = destPath2;}// ⽂件存在if (fs.existsSync(destPath)) {try {// 查找关键字在⽂件中的⾏号和列号const pos = util.findStrInFile({ filePath:destPath, str: textPath });const { row, col } = pos;return new vscode.Location(vscode.Uri.file(destPath), new vscode.Position(row, col));} catch (error) {vscode.window.showErrorMessage('%c error:', 'color: #0e93e0;background: #aaefe5;', JSON.stringify(error));return [];}}return []}// 微信⼩程序app.json跳转逻辑⽐较特殊,存在分包路径,如果是分包路径,要拼接⼦包root路径部分if (fileName.includes('app.json')) {const json = JSON.parse(document.getText());// 分包路径判断let isSubPath = json.subpackages.some((item) => {if (item.pages.includes(textPath)) {// 如果是分包路径,则要拼接分包的root路径部分textPath = `/${item.root}/${textPath}`;return true;}return false;});// 如果是正常页⾯路径,要在页⾯路径前⾯加绝对路径符号/if (!isSubPath) {textPath = `/${textPath}`;}}// 如果没有⽂件后缀,说明是json,或者js,jsx⽂件中的navigateTo跳转,默认跳转到对应页⾯的wxml⽂件const reg = /\.\w+$/;let isNoSuffix = !reg.exec(textPath);// 没有⽂件后缀,添加默认的跳转⽂件类型if (isNoSuffix) {textPath = `${textPath}.wxml`;}let jumpPath;if (textPath.startsWith('/')) {// 为绝对路径时-直接拼接⼯程路径+截取的路径字符串jumpPath = path.join(projectPath, textPath);} else {// 为相对路径时-转换成绝对路径jumpPath = path.resolve(workDir, textPath);}console.log('====== 进⼊ provideDefinition ⽅法 ======');console.log('projectPath=%s ', projectPath); // 当前⼯程⽬录console.log('document:', document); // ⽂档对象console.log('position:', position); // 位置// console.log('token=%o', token); // 分词console.log('line:', line); // 当前光标所在⾏console.log('fileName=%s ', fileName); // 当前⽂件名console.log('workDir=%s', workDir); // 当前⽂件所在⽬录console.log('textPath=%s', textPath); // 跳转短路径console.log('jumpPath=%s ', jumpPath); // 跳转路径// 路径不存在则不跳转if (!jumpPath || !fs.existsSync(jumpPath)) {return null;} else {return new vscode.Location(vscode.Uri.file(jumpPath), new vscode.Position(0, 0));}}module.exports = function (context) {// 注册如何实现跳转到定义,第⼀个参数表⽰仅对js,jsx,ts,tsx,json,wxml⽂件⽣效context.subscriptions.push(nguages.registerDefinitionProvider({ pattern: '**/*.{ts,js,jsx,tsx,json,wxml}' },{provideDefinition,}));};step5 调试VSCode 扩展,按下F5, VSCode会启动⼀个新的窗⼝,在新窗⼝调试功能,在旧窗⼝看调试⽇志,下图的第⼀张图是旧窗⼝,第⼆张图是新窗⼝step6 扩展开发完成后,就可以准备发布了。
IntelliJIDEA性能优化的教程详解

IntelliJIDEA性能优化的教程详解idea打开的多了内存占⽤也就多了下边是亲试的优化ide性能的⽅法1.设置JVM的启动参数: 进⼊idea的安装⽬录的bin⽂件夹 打开 idea.exe.vmoptions ⽂件,修改-Xmx 的值为2048m 打开 idea64.exe.vmoptions ⽂件,修改-Xmx 的值为2048m 打开idea.properties⽂件,找到idea.max.intellisense.filesize,默认是2500,改为25000(数值仅供参考,具体数值根据⾃⼰⽂件⼤⼩来定) 参数作⽤: -Xms1024m 设置初时的内存⼤⼩,提⾼Java程序的启动速度 -Xmx2048m 设置最⼤内存数,提⾼该值,可以减少内存Garage收集的频率,提⾼程序性能 -XX:ReservedCodeCacheSize=480m设置代码内存容量 -XX:+UseParNewGC 使⽤并⾏收集算法 -server 控制内存garage⽅式,这样你⽆需在花⼀到两分钟等待内存garage的收集2.菜单配置设置JVM的启动参数:通过Help - Edit Custom VM Options...菜单设置配置,IntelliJ会优先使⽤这个地⽅的配置⽂件3.关闭代码检查: IntelliJ的代码检测功能⾮常强⼤,但也占⽤了⼀些资源,可以将默认的除 Error之外的其他级别的检测都去掉 4.清空缓存并重建索引: 将编译进程和Maven的堆值设置⼤⼀些ps:下⾯看下IntelliJ IDEA 更新后,电脑卡成球,该如何优化?在和同事的⼀次讨论中发现,对 IntelliJ IDEA 内存采⽤不同的设置⽅案,会对 IDE 的速度和响应能⼒产⽣不同的影响。
Don't be a Scrooge and give your IDE some more memory不要做守财奴,给IDE多留点内存吧。
vscode中用git管理代码

vscode中用git管理代码【实用版】目录1.VSCode 简介2.Git 简介3.VSCode 中使用 Git 管理的优势4.如何在 VSCode 中使用 Git 管理代码5.总结正文1.VSCode 简介VSCode 是一款由微软开发的免费、开源的代码编辑器,它支持多种编程语言,具有丰富的功能和扩展插件,可以帮助开发者提高编程效率。
2.Git 简介Git 是一款开源的分布式版本控制系统,它可以帮助开发者追踪代码的修改和更新,并可以回滚到之前的任何一个版本。
Git 被广泛应用于软件开发领域,是许多开发者的必备工具。
3.VSCode 中使用 Git 管理的优势在 VSCode 中使用 Git 管理代码具有以下优势:- 可以实时追踪代码的修改和更新,方便开发者协作开发。
- 可以回滚到之前的任何一个版本,以防止代码的误操作。
- 可以方便地与远程仓库进行同步,实现代码的版本控制。
4.如何在 VSCode 中使用 Git 管理代码要在 VSCode 中使用 Git 管理代码,需要先安装 Git,并在 VSCode中安装 Git 插件。
以下是具体的操作步骤:- 安装 Git:在命令行中输入“git --install”即可安装 Git。
- 安装 VSCode:在命令行中输入“code --install”即可安装 VSCode。
- 打开 VSCode,点击左侧边栏的扩展图标,搜索“Git”并安装。
- 在 VSCode 中打开要管理的代码文件夹,点击右上角的源代码管理图标,选择“打开 Git 仓库”。
- 在弹出的窗口中,输入 Git 仓库的 URL,点击“打开”按钮。
如果还没有远程仓库,可以先在本地创建一个。
- 此时,VSCode 中会显示 Git 仓库的状态,包括已提交的代码和未提交的代码。
可以通过点击状态栏的按钮来查看详细的代码更改。
- 要提交代码,先在 VSCode 中编辑代码,然后点击左上角的“提交”按钮,输入提交信息,再点击“提交”按钮。
git format-patch原理
git format-patch原理英文版The Principles of Git Format-PatchIn the world of version control, Git stands tall as a powerful and flexible tool. Among its many commands, git format-patch holds a unique place, offering a way to create patches from a series of commits. Let's delve into the principles and workings of this command.What is a Patch?Before understanding git format-patch, it's essential to know what a patch is. A patch is a set of changes applied to a codebase, usually represented as a difference between two versions. It contains the instructions to transform the codebase from one state to another.How Does git format-patch Work?git format-patch works by creating a series of patches from a range of commits. These patches are stored as email-like files,with each file representing a single commit's changes. This allows you to share, transport, and apply these changes without the need for a Git repository.Here's a basic outline of how git format-patch operates:Selection of Commits: You specify a range of commits for which you want to create patches. This can be a single commit, a range of commits, or even all the commits leading up to a specific point.Creating Patches: For each selected commit, Git generates a patch file. Each patch file contains the changes introduced by that specific commit, including metadata like the commit message and author information.Patch Format: The patches created by git format-patch are in a specific format. They are text files with a .patch extension, typically containing a unified diff. This format allows patches to be applied using tools like patch or git am.Email-like Structure: These patch files are structured类似电子邮件,with headers like "From," "To," "Subject," etc. This email-like structure makes it easy to share patches via email or other messaging systems.Applications of git format-patchgit format-patch finds use in several scenarios:Code Review: Developers can use it to send patches to colleagues for review, without requiring access to the entire repository.Offline Work: It allows developers to work on patches without an active internet connection, and apply them later when online.Backup and Migration: Patches can be used as a backup mechanism or for migrating changes between repositories.Conclusiongit format-patch is a powerful tool that enables developers to work with patches, facilitating code reviews, offline work, and migrations. Understanding its principles and how it works is essential for effectively using Git in various scenarios.中文版Git Format-Patch的原理在版本控制的世界中,Git作为一种强大且灵活的工具而备受推崇。
VSCode搭建CC++编译环境的详细教程
VSCode搭建CC++编译环境的详细教程Visual Studio Code (vscode)编译C++Visual Studio Code (简称 VS Code / VSC) 是⼀款免费开源的现代化轻量级代码编辑器,⽀持⼏乎所有主流的开发语⾔的语法⾼亮、智能代码补全、⾃定义热键、括号匹配、代码⽚段、代码对⽐ Diff、GIT 等特性,可谓是微软的良⼼之作。
下载安装VS Code安装cpptools插件打开VS Code,快捷键ctrl+shift+p呼出命令框,输⼊以下命令ext install cpptools安装MINGW编译调试环境(若是电脑上原来装着codeblocks,Dev C++等可以跳过这步,直接跳到【配置系统环境变量path】这步即可)进⼊官⽹点击右侧 Download Installer下载安装器打开安装器点击install准备安装选择⼀个安装⽬录,默认为C:\MinGW这⾥选择的是C:\MinGW点击Continue开始安装,安装过程需联⽹,若安装时提⽰error则需翻墙安装选中⼏个需要的项右键Make for Installation进⾏标记,其中gcc和g++为c和c++编译器选择完全部想要安装的项后点击左上⾓Installation菜单下的Apply Changes应⽤修改,过程需联⽹,中间出现error可先继续,若最后失败则需翻墙更新,建议翻墙。
【配置系统环境变量path】然后配置系统环境变量path,这⼀步为必须在我的电脑上右键属性:然后按照下⾯步骤做即可,注意最后新建的项要与之前MinGW安装位置相对应再次打开vscode,注意配置系统环境变量path后重启⼀下vscode注意vscode调试需要在打开的⽂件夹中进⾏(注意!是⽤VSC打开⽂件夹!!,单独打开⼀个单独的cpp是没有下⾯的⼏个配置⽂件出现的!!打开⽂件夹后,新建⼀个cpp输⼊代码测试进⼊调试界⾯选择C++在⽣成的launch.json的⽂件中配置如下{"version": "0.2.0","configurations": [{"name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显⽰"type": "cppdbg", // 配置类型,这⾥只能为cppdbg"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)"program": "${workspaceRoot}/${fileBasenameNoExtension}.exe",// 将要进⾏调试的程序的路径 "args": [], // 程序调试时传递给程序的命令⾏参数,⼀般设为空即可"stopAtEntry": false, // 设为true时程序将暂停在程序⼊⼝处,⼀般设置为false"cwd": "${workspaceRoot}", // 调试程序时的⼯作⽬录,⼀般为${workspaceRoot}即代码所在⽬录 "environment": [],"externalConsole": true, // 调试时是否显⽰控制台窗⼝,⼀般设置为true显⽰控制台 "MIMode": "gdb","miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe", // miDebugger的路径,注意这⾥要与MinGw的路径对应 "preLaunchTask": "g++", // 调试会话开始前执⾏的任务,⼀般为编译程序,c++为g++, c为gcc "setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]}接着切换⾄CPP界⾯按住Ctrl+Shirft+P调出命令⾏界⾯,输⼊task,选择Run Task这时会要求你建⼀个tasks.json⽂件输⼊如下代码{"version": "0.1.0","command": "g++","args": ["-g","${file}","-o","${fileBasenameNoExtension}.exe"], // 编译命令参数 "problemMatcher": {"owner": "cpp","fileLocation": ["relative", "${workspaceRoot}"],"pattern": {"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$","file": 1,"line": 2,"column": 3,"severity": 4,"message": 5}}}保存,再次按F5运⾏,运⾏成功配置c_cpp_properties.json在.vscode⽂件夹下新建⼀个c_cpp_properties.json的⽂件输⼊如下内容:{"configurations": [{"name": "Win32","includePath": ["${workspaceRoot}","C:/MinGW/lib/gcc/mingw32/5.3.0/include/*","C:/MinGW/include/*"],"defines": ["_DEBUG","UNICODE","__GNUC__=6","__cdecl=__attribute__((__cdecl__))"],"intelliSenseMode": "msvc-x64","browse": {"path": ["${workspaceRoot}","C:/MinGW/lib/gcc/mingw32/5.3.0/include/*","C:/MinGW/include/*"]},"limitSymbolsToIncludedHeaders": true,"databaseFilename": ""}],"version": 3}⾄此,VSCode已全部完成配置。
gitblit 的使用
gitblit 的使用摘要:1.简介2.安装与配置a.安装依赖b.安装Gitblitc.配置Gitblit3.基本功能a.克隆仓库b.提交更改c.查看日志d.分支管理4.高级功能a.权限管理b.数据统计c.代码审查5.总结正文:Gitblit 是一个开源的Git 仓库管理工具,它提供了一个简单易用的Web 界面,方便用户查看、管理和操作Git 仓库。
本文将详细介绍Gitblit 的使用方法。
1.简介Gitblit 是一个基于Java 编写的Git 仓库管理工具,通过提供友好的Web 界面,使得用户可以轻松地浏览、提交、克隆和删除Git 仓库中的文件。
同时,Gitblit 还支持权限管理和数据统计等高级功能,方便团队进行协作开发。
2.安装与配置在使用Gitblit 之前,首先需要确保Java 和Git 已经正确安装。
接下来,按照以下步骤进行Gitblit 的安装与配置:a.安装依赖在安装Gitblit 之前,需要先安装一些依赖库。
打开命令行窗口,执行以下命令:```mvn clean install```b.安装Gitblit执行以下命令,将Gitblit 安装到指定目录:```mvn install -Dgitblit.home=/path/to/gitblit```c.配置Gitblit安装完成后,需要对Gitblit 进行基本配置。
打开Gitblit 安装目录下的`gitblit.properties` 文件,进行如下设置:- 设置Gitblit 的端口号,例如:`gitblit.port=8080`- 设置Gitblit 管理员密码,例如:`gitblit.adminPassword=mypassword`- 设置Gitblit 仓库路径,例如:`gitblit.repositories=/path/to/repositories`保存设置后,启动Gitblit 服务,执行以下命令:```bin/start.sh```3.基本功能配置完成后,可以通过浏览器访问Gitblit 界面。
vscode英文注释翻译成中文
vscode英文注释翻译成中文VSCode英文注释翻译成中文:VSCode (全称Visual Studio Code)是一个轻量级的源代码编辑器,它拥有强大的代码编辑、调试和版本控制等功能,可在几乎所有的操作系统上运行。
它是一款开源的软件,由微软公司开发和维护。
用法:用户可以通过安装VSCode扩展来扩展其功能,如添加新的编程语言支持或提供其他工具。
VSCode还支持自定义主题和快捷键,以及与其他开发工具的集成。
Ten example sentences in bilingual format:1. I use VSCode every day to write and debug my code.我每天使用VSCode来编写和调试代码。
2. VSCode is a popular choice for web developers due toits powerful features and ease of use.由于其强大的功能和易用性,VSCode是网页开发人员的热门选择。
3. The VSCode editor supports syntax highlighting for multiple programming languages.VSCode编辑器支持多种编程语言的语法高亮显示。
4. To install a new extension in VSCode, go to the Extensions tab and search for the desired extension.要在VSCode中安装新的扩展,转到“Extensions”标签页,并搜索你想要的扩展。
5. With the Git integration in VSCode, you can easily view and manage your version control history.在VSCode中的Git集成功能下,你可以轻松查看和管理版本控制历史。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Git extension简介
Git extension的安装tower上梓鹏已经阐述过了,我这里就不
赘述了。不过我还是要强调一下:设置一定要配好,否则无法拉
取项目,配置好的设置(开始->设置)如下:
还有其中的全局设置中用户名不要用中文,如:
如果你配好
了那么接下来就说一下git extension的使用。
1. 首先克隆档案库:两种方式,第一种:用Git bash命令行去拉
取:工具->git bash命令行,接下来输入命令:$ cd 到你要放
的盘和文件夹下,如:我要到E:\AirCMS\AirCMS
即$ cd e:回车,$cd AirCMS/AirCMS(注意斜杠);然后:$ git clone
url(地址就是你项目要拉取的地址:
)之后回车就行,不过要说
一下虽然两个地址都行,不过还是有区别的,如果文件太大,
http的可能就无法拉取了,这就需要用ssh,不过SSH拉取需
要公匙,如何生成公匙如下:进入你的开源中国
点击小人,进去之后你会看到有个SSH公匙,点进去,
有个怎样生成公匙,打开你的git bash,输入ssh-keygen -t
rsa –C”你的邮箱”回车生成public key,然后输入
cat
~/.ssh/id_rsa.pub查看public key,
说明一下:查看public key我的电脑上是在C:\Users\admin\.ssh
下有个id_rsa.pub文件点开他,你会发现这就是公匙。
第二种方法:打开git extension有个克隆档案库如下
点击打开后如下所示,第一个放开源中国上的http/ssh地址,
目的地是你克隆的项目要放的地方,点击克隆就行。
2. 签出分支:人家更改或者你想要获取最新的项目
如图的下箭头,点击里面有个全部拉取,就能看到项目目前
走到那步了,在签出分支之前你要先点击提交按钮,进去复位
变更,然后回到你刚才的页面,点击你想要的分支,右键有
个签出分支,点击有个登出,点击之后如图所示,那个红的
方框就是你现在的
位置,你的项目就会和你签出的分支的项目一致,即他变更
的地方都会出现。
3 提交:(注意) 提交必须创建分支,除非在自己的分支上,一
拉下来更改就提交会冲掉人家的分支,创建分支不能有汉字,
一般是当前时间加你的名字(拼音)。git extension自带监听,
你做的变更会在其中体现,如下图所示,如果你做了变更想
要提交,你会看到其中的提交按钮上有数字,这个数字就是
你更改了几处,点击提交会出现下面的框,其中左上方是你,
变更的地方,签字笔表示更改,加号是增加,减号是删除,
左下方有个载入,将你想要提交的部分拉到下面,在右下方
输入说明文字,提交是提交到git extension上,推送是推送到
项目上。其中的复位所有变更就是将所有的变更还原,还原
到项目本身的样子。
3. 合并分支:在你想要合并的分支上右键有个和分支合并,其
中会用到个工具:kdiff3,其中的setting->configure->regional
setting要改成UTF-8 ,合并分支我目前只知道这些
4其他:在git extension下有个Diff,点击显示的就是他更改
的地方,上面的合并分支还有待完善。