diff --git a/conf/wide.go b/conf/wide.go index 91bb597..09491eb 100644 --- a/conf/wide.go +++ b/conf/wide.go @@ -15,8 +15,9 @@ import ( ) type User struct { - Name string - Password string + Name string + Password string + Workspace string // 指定了该用户的 GOPATH 路径 } type conf struct { @@ -30,24 +31,27 @@ type conf struct { StaticPath string MaxProcs int RuntimeMode string - Workspace string - UserWorkspaces string + Pwd string Users []User } var Wide conf var rawWide conf -func (this *conf) GetWorkspace() string { - return filepath.FromSlash(this.Workspace) -} - +// 获取 username 指定的用户的工作空间路径. func (this *conf) GetUserWorkspace(username string) string { - return filepath.FromSlash(this.UserWorkspaces) + string(os.PathSeparator) + username + for _, user := range Wide.Users { + if user.Name == username { + ret := strings.Replace(user.Workspace, "{Pwd}", Wide.Pwd, 1) + return filepath.FromSlash(ret) + } + } + + return "" } func Save() bool { - // 可变部分 + // 只有 Users 是可以通过界面修改的,其他属性只能手工维护 wide.json 配置文件 rawWide.Users = Wide.Users // 原始配置文件内容 @@ -99,10 +103,8 @@ func Load() { file, _ := exec.LookPath(os.Args[0]) pwd, _ := filepath.Abs(file) pwd = pwd[:strings.LastIndex(pwd, string(os.PathSeparator))] + Wide.Pwd = pwd glog.V(3).Infof("pwd [%s]", pwd) - Wide.Workspace = strings.Replace(Wide.Workspace, "{pwd}", pwd, 1) - Wide.UserWorkspaces = strings.Replace(Wide.UserWorkspaces, "{pwd}", pwd, 1) - glog.V(3).Info("Conf: \n" + string(bytes)) } diff --git a/conf/wide.json b/conf/wide.json index 931e5fd..37551b5 100644 --- a/conf/wide.json +++ b/conf/wide.json @@ -9,12 +9,12 @@ "StaticPath": "", "MaxProcs": 4, "RuntimeMode": "dev", - "Workspace": "{pwd}/data/workspace", - "UserWorkspaces": "{pwd}/data/user_workspaces", + "Pwd": "{pwd}", "Users": [ { "Name": "admin", - "Password": "admin" + "Password": "admin", + "Workspace": "{Pwd}/data/user_workspaces/admin" } ] } \ No newline at end of file diff --git a/doc/zh_CN/faq.html b/doc/zh_CN/faq.html new file mode 100644 index 0000000..059b8ab --- /dev/null +++ b/doc/zh_CN/faq.html @@ -0,0 +1,51 @@ + + +
+ +默认用户是 admin 用户。用户名:admin,密码:admin。
+ ++ 工作空间是当前用户的 $GOPATH 路径指定的目录,一个用户只能有一个工作空间。 + 例如 admin 用户的工作空间默认路径是 {wide}/data/user_workspaces/admin/,可以在 wide.json 中配置。 +
+ ++ wide.json 是 Wide 的配置文件,路径是 {wide}/conf/wide.json。Wide 的所有配置(例如端口、工作空间、用户帐号、用户选项等)都是保存在这个文件中的。 +
+ ++ 如果 Wide 是个人使用,那么默认的配置应该可以很好的工作,不需要修改任何地方。 +
+ ++ 修改 wide.json 中 admin 用户的 Workspace,将其从默认的 "{pwd}/data/user_workspaces/admin" 改为 "D:\\GoGoGo"。 +
+ ++ $GOPATH 是可以通过路径分隔符(Linux 下是 :,Windows 下是 ;)配置多个路径的,但我们不建议您这样配置,因为多个多个目录会造成构建/代码补全等功能的性能下降。 +
+ ++ 该目录是读取 $GOROOT/src/pkg 生成的,方便用户查看 Go API 源代码。 + 在该目录下是不允许新建、编辑、删除文件的。 +
+ ++ 修改 wide.json 中的 Users 数组,按照默认用户的格式(用户名、密码等)添加。 +
+Wide 是一个基于 Web 的 golang 开源 IDE。
- +