This commit is contained in:
Liang Ding 2014-09-02 23:55:19 +08:00
parent 0923122ce8
commit 8d6d306959
4 changed files with 71 additions and 38 deletions

View File

@ -3,14 +3,16 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Wide - 文档首页</title> <title>Wide - 文档首页</title>
</head> </head>
<body> <body>
<h1>Wide</h1> <h1>Wide</h1>
Wide 是一个基于 Web 的 golang 在线 IDE。 <p>
Wide 是一个基于 Web 的 golang 在线 IDE。
<ul> </p>
<li><a href="/doc/zh_CN/keyboard_shortcuts.html">键盘快捷键</a></li>
</ul> <ul>
<li><a href="/doc/zh_CN/keyboard_shortcuts.html">键盘快捷键</a></li>
</ul>
</body> </body>
</html> </html>

View File

@ -3,17 +3,17 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Wide - 键盘快捷键</title> <title>Wide - 键盘快捷键</title>
</head> </head>
<body> <body>
<h1>键盘快捷键</h1> <h1>键盘快捷键</h1>
<ul> <ul>
<li>F11: 编辑器全屏</li> <li>F11: 编辑器全屏</li>
<li>Ctrl+G: 跳转到行</li> <li>Ctrl+G: 跳转到行</li>
<li>Ctrl+\\: 自动补全</li> <li>Ctrl+\\: 自动补全</li>
<li>Ctrl+D: 删除当前行</li> <li>Ctrl+D: 删除当前行</li>
<li>Shift+Tab: 自动缩进</li> <li>Shift+Tab: 自动缩进</li>
</ul> </ul>
</body> </body>
</html> </html>

View File

@ -3,17 +3,48 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Wide - 多用户</title> <title>Wide - 多用户</title>
</head> </head>
<body> <body>
<h1>多用户</h1> <h1>多用户</h1>
支持多个用户同时使用一个 Wide 服务器,每个用户有自己独立的源代码仓库,编码/运行/调式都是在自己的用户空间中进行,不会影响其他用户。 <p>
支持多个用户同时使用一个 Wide 服务器,每个用户有自己独立的源代码仓库,编码/运行/调式都是在自己的工作空间中进行,不会影响其他用户。
</p>
<h2>源代码仓库</h2> <h2>工作空间</h2>
使用 git 作为源码版本控制系统data/workspace/src 是主库,每个用户的源码仓库都 clone 自主库。 <p>
一个工作空间由下面几个部分组成:
<h2>运行时</h2> </p>
用户在运行程序时进程是跑在服务器上的,所以多用户同时运行程序时最常见的问题就是资源冲突,比如网络端口。 <ul>
目前 Wide 解决不了这个问题,只能靠用户自己进行规避。 <li>源代码仓库data/user_workspaces/{user}/src</li>
<li>GOPATHdata/user_workspaces/{user}</li>
</ul>
<p>
这和 golang 本身 <a href="https://golang.org/doc/code.html#Workspaces" target="_blank">workspaces</a> 的设计保持一致:每个用户的 GOPATH 指定了其工作空间的路径。
</p>
<h2>版本控制</h2>
<p>
推荐(不强制)使用 git 作为源码版本控制系统data/workspace/src 是主库,每个用户的源码仓库都克隆自主库。
但为了保证各个用户源代码仓库的协作(更新/合并),最好还是使用一个分布式版本控制系统,因为这样的 VCS 和 Wide 更合拍。
</p>
<h2>运行时</h2>
<p>
用户在运行程序时进程是跑在服务器上的,所以多用户同时运行程序时最常见的问题就是资源冲突(比如网络端口),目前这个问题只能靠用户自行规避。
</p>
<h2>一些细节</h2>
<h3>GOPATH</h3>
<p>
用户的工作空间虽然是某个具体的目录data/user_workspaces/{user}),但实际上 Wide 在处理 GOPATH 时是指定了多个目录的:
</p>
<ol>
<li>data/user_workspaces/{user}</li>
<li>data/workspace</li>
<li>操作系统环境变量 GOPATH 路径</li>
</ol>
<p>
这样做是为了方便构建,非常有利于团队开发。
</p>
</body> </body>
</html> </html>

View File

@ -3,25 +3,25 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>Wide - 搭建服务器</title> <title>Wide - 搭建服务器</title>
</head> </head>
<body> <body>
<h1>搭建服务器</h1> <h1>搭建服务器</h1>
<h2>基础配置</h2> <h2>基础配置</h2>
<ol> <ol>
<li>下载 Wide 安装包</li> <li>下载 Wide 安装包</li>
<li>解压到安装路径 {wide},例如 /root/wide</li> <li>解压到安装路径 {wide},例如 /root/wide</li>
<li>配置 {wide}/conf/wide.json可选</li> <li>配置 {wide}/conf/wide.json可选</li>
</ol> </ol>
现在已经可以使用用户 admin密码 admin 登录使用了。 现在已经可以使用用户 admin密码 admin 登录使用了。
<h2>多用户配置</h2> <h2>多用户配置</h2>
前提:需要安装 git。 前提:需要安装 git。
<ol> <ol>
<li>初始化主库:在 {wide}/data/workspace/src 下执行 git init</li> <li>初始化主库:在 {wide}/data/workspace/src 下执行 git init</li>
<li>添加用户:修改 {wide}/conf/wide.json 中的 Users</li> <li>添加用户:修改 {wide}/conf/wide.json 中的 Users</li>
<li>添加用户库:在 {wide}/data/user_workspaces/{user}/ 中 git clone 主库</li> <li>添加用户库:在 {wide}/data/user_workspaces/{user}/ 中 git clone 主库</li>
</ol> </ol>
</body> </body>
</html> </html>