http://ftp.loongnix.org/os/loongnix/1.0/os/Packages/v/vscode-1.35-2.fc21.loongson.mips64el.rpm
有许多方法可以为代码项目做出贡献:记录错误、提交请求、报告问题和创建建议。
克隆并构建repo后,查看问题列表。标签为“help wanted 求助”的问题是提交PR的好问题。如果你是第一次在代码中出现,那么标签为“good first issue 好的首问”的问题将是优先的候选对象。如果您做出了重大更改,请先与问题的受让人讨论,然后再开始处理该问题。
为了下载必要的工具,克隆存储库,并通过yarn安装依赖项,您需要能访问网络。
您需要以下工具:
git
node.js,版本> = 10.16.0,< 11.0.0
yarn,
sudo npm install --global yarn
Python,至少版本2.7(不支持版本3)
适用于您平台的C/C++编译器工具链:
Linux 操作系统
make
pkg-config
GCC或其他编译工具链
native-keymap需要libX11-dev和libxbfile-dev。
sudo dnf install libX11-devel libxkbfile-devel
keytar需要libsecret-1-dev。
sudo dnf install libsecret-devel
构建deb和rpm包需要fakeroot和rpm
sudo dnf install fakeroot rpm
使用yarn安装和构建所有依赖关系:
cd vscode
yarn
如果出现问题,请先尝试删除~/.node-gyp,运行yarn cache clean,然后重试。
如果您想了解代码是如何工作的,或者想调试一个问题,那么您需要获取源代码,构建它,并在本地运行该工具。
首先,复刻VS Code软件源,以便您可以发出一个拖拽请求。然后,在本地克隆您的复刻。
git clone https://github.com/microsoft/vscode.git
偶尔,您会希望将上游存储库中的更改(官方代码repo)与您的复刻合并。
cd vscode
git checkout master
git pull https://github.com/microsoft/vscode.git master
管理任何合并冲突,提交它们,然后将它们推到您的复刻。
构建
进入vscode并启动TypeScript增量生成器:
cd vscode
yarn watch
注意:如果您正在运行窗口并已将Visual Studio 2017安装为您的构建工具,您需要打开x64 VS 2017本机工具命令提示符。如果已安装,请不要将其与VS2015 x64本机工具命令提示符混淆。
增量构建器将进行初始完整构建,并且一旦初始构建完成,将显示包含短语“完成编译”的消息。然后,构建器将继续在终端中运行。它将监视文件的变化,并逐步编译这些变化,给你一个快速、迭代的编码体验。
小贴士!Linux用户在运行yarn运行观察时可能会遇到ENOSPC错误,要绕过这一点,请按照常见问题中的说明操作。
小贴士!在您克隆vscode存储库的文件夹中打开VS Code,然后按CMD+SHIFT+B(在Windows、Linux上按CTRL+SHIFT+B)启动构建器。要查看构建输出,请按CMD+SHIFT+U打开输出流。
错误和警告
开发代码时,错误和警告将显示在控制台中。如果使用VS Code开发代码,错误和警告会显示在编辑器左下角的状态栏中。您可以使用“View | Errors and Warnings(查看|错误和警告)”或按CMD+P查看错误列表,然后!。
小贴士!您不需要在每次更改后停止并重新启动代码的开发版本。您只需从命令面板中执行重载窗口。我们喜欢将键盘快捷键CMD+R(视窗操作系统,Linux)分配给这个命令。
运行
为了测试这些更改,您可以在工作区vscode上启动VS Code的开发版本,您目前正在编辑该版本。
Linux
./scripts/code.sh
您可以通过Dock或任务栏中的以下图标来识别Code的开发版本(“Code-OSS”):
VS代码默认图标
小贴士!如果您收到一个错误,说明该应用程序不是有效的Electron app,这可能意味着您没有先运行yarn watch。
代码具有多进程架构,您的代码在不同的进程中执行。
渲染过程在Shell窗口中运行UI用户界面代码。要调试渲染中运行的代码,您可以使用VS Code或chrome开发工具。
为chrome扩展安装调试器。这个扩展将允许您附加和调试运行在Chrome中的客户端代码。
打开vscode存储库文件夹。
从调试视图窗口的启动下拉列表中选择“Launch VS Code”启动配置,然后按F5。
在Code的开发实例的命令面板中运行命令Developer: Toggle Developer Tools来启动chrome工具。
由于源代码链接到在线托管的源代码映射,因此还可以调试代码的发布版本。
扩展主机进程运行插件实现的代码。要调试在扩展主机进程中运行的扩展(包括Code打包的扩展),可以使用VS Code本身。切换到调试视图,选择“Attach to Extension Host“配置,然后按F5。
搜索过程可以调试,但必须首先启动。尝试连接前,按CMD+P(窗口上的CTRL+P)开始搜索,否则连接将失败并超时。
在vscode文件夹中,通过终端直接执行./scripts/test.sh运行单元测试。测试自述文件包含关于如何运行和调试测试以及如何生成覆盖率报告的完整细节。
我们也有自动化的UI用户界面测试。smoke test README(冒烟测试自述文)件包含所有细节。
同自动化测试。
我们用 tslint 来linting源代码。您可以通过从终端或命令提示符调用gulp tslint来跨源运行tslint。您也可以通过按下CMD+P(windows上的CTRL+P)并输入任“task tslint”,将 gulp tslint 作为Code任务运行。来自tslint的警告显示在“错误和警告”快速框中,您可以从Code内部导航到它们。
要在进行更改时去lint源代码,您可以安装tslint extension。
vscode开源版本中不提供Visual Studio市场。如果您需要使用或调试扩展,您可以检查扩展作者是否在其存储库中发布了构建(检查构建页面),或者它是否是开源的,您可以在本地克隆和构建扩展。一旦你有了.VSIX,您可以通过命令行或使用“扩展视图”命令下拉列表中的“从VSIX安装”命令“侧加载”扩展(请参阅命令行扩展管理的更多信息)。
即使您对Microsoft/vscode存储库拥有推送权限,您也应该创建一个个人复刻,并在需要时在那里创建功能分支。这保持了主存储库的干净和你个人工作流程的不可见。
在我们接受您的请求之前,您需要签署一份Contributor License Agreement (CLA)贡献者许可协议。这是一个自动化的过程,你只需要做一次。
为使我们能够快速审查并接受您的请求,请始终为每个问题创建一个请求,并将该问题链接到请求中,link the issue in the pull request。除非有相同的根本原因,否则不要将多个请求合并到一个请求中。请务必遵循我们的Coding Guidelines编码指南,并尽可能减少代码更改。避免对未经修改的代码进行纯格式更改。请求应该尽可能包含测试。
查看完整的问题列表full issues list,了解所有潜在贡献领域的列表。请注意,仅仅因为存储库中存在一个问题,并不意味着我们会接受对它的核心编辑器的贡献。我们不接受拉动请求有几个原因,例如:
性能,Visual Studio代码的核心价值之一是提供一个轻量级代码编辑器,这意味着它应该在真实和感知性能方面都表现良好。
用户体验,既然我们想交付轻量级代码编辑器,UX也应该感到轻量级,而不是杂乱无章。对用户界面的大多数更改应该通过问题所有者和/或UX团队进行。
架构,团队和/或特性所有者需要同意变更可能产生的任何架构影响。像新的扩展APIs这样的事情必须与特性所有者讨论并达成一致。
为了增加合并请求的机会,您应该选择一个标有help-wanted求助或bug瑕疵标签的问题。如果您想要处理的问题没有标注“help-wanted”或“bug”,您可以与问题所有者开始对话,询问是否会考虑外部贡献。
为了避免多个请求解决同一个问题,请在评论中告诉其他人你正在处理这个问题。
代码可以打包用于以下平台:win32-ia32 | win32-x64 | darwin | Linux-ia32 | Linux-x64 | Linux-arm
这些 gulp 任务是可用的:
vscode-[platform]:为平台构建打包版本。
vscode-[platform]-min:为平台构建一个打包的小型版本。
另请参见:基于Debian的Linux的交叉编译 Cross-Compiling for Debian-based Linux。
我们还对您对代码未来的反馈感兴趣。您可以通过问题跟踪器提交建议或功能请求。为了使这一过程更加有效,我们要求其中包含更多信息,以帮助更清楚地定义它们。
我们感谢您的本地化贡献,无论是提供新的翻译,对翻译进行投票,还是建议流程改进。我们通过Transifex服务进行翻译,而不是通过vscode repo。访问我们的本地化网站,开始吧 our localization site 。
讨论礼仪
为了保持对话清晰透明,请将讨论限制在英语范围内,并保持话题与问题相关。体谅他人,并始终保持礼貌和专业。
《如何从源代码构建和运行》https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run-from-source
《yarn安装指南》。https://yarnpkg.com/en/docs/install#alternatives-stable