wide

command module
v0.0.0-...-2210eac Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2015 License: Apache-2.0 Imports: 23 Imported by: 0

README

Wide Build Status Coverage Status Apache License API Documentation Download

Have a try first, then download and setup it on your local area network, enjoy yourself!

先试试我们搭建好的在线服务,你可以在这里下载并在本地环境运行,然后邀请小伙伴们来玩吧!

  • 关于 Wide 的产品定位,请看这里,并欢迎参与讨论~
  • 加入黑客派,与其他程序员、设计师共同成长!

Introduction

A Web-based IDE for Teams using Go programming language/Golang.

Hello, 世界

Motivation

  • Team IDE:
    • Safe and reliable: the project source code stored on the server in real time, the developer's machine crashes without losing any source code
    • Unified environment: server unified development environment configuration, the developer machine without any additional configuration
    • Out of the box: 5 minutes to setup a server then open browser to develop, debug
    • Version Control: each developer has its own source code repository, easy sync with the trunk
  • Web-based IDE:
    • Developer needs a browser only
    • Cross-platform, even on mobile devices
    • Easy to extend
    • Easy to integrate with other systems
    • For the geeks
  • A try for commercial-open source: versions customized for enterprises, close to their development work flows respectively
  • Currently more popular Go IDE has some defects or regrets:
    • Text editor (vim/emacs/sublime/Atom, etc.): For the Go newbie is too complex
    • Plug-in (goclipse, etc.): the need for the original IDE support, not professional
    • LiteIDE: no modern user interface :p
    • No team development experience
  • There are a few of GO IDEs, and no one developed by Go itself, this is a nice try

Features

  • Code Highlight, Folding: Go/HTML/JavaScript/Markdown etc.
  • Autocomplete: Go/HTML etc.
  • Format: Go/HTML/JSON etc.
  • Build & Run
  • Multiplayer: a real team development experience
  • Navigation, Jump to declaration, Find usages, File search etc.
  • Shell: run command on the server
  • Web development: HTML/JS/CSS editor with Emmet integrated
  • Go tool: go get/install/fmt etc.
  • File Import & Export
  • Themes: editor and UI adjust, respectively
  • Cross-Compilation
  • Debug
  • Git integration: git command on the web

Screenshots

  • Overview

    Overview

  • Goto File

    Goto File

  • Autocomplete

    Autocomplete

  • Theme

    4

  • Show Expression Info

    Show Expression Info

  • Build Error Info

    Build Error Info

  • Git Clone

    Git Clone

  • Cross-Compilation

    Cross-Compilation

Architecture

Build & Run

  • A browser tab corresponds to a Wide session
  • Execution output push via WebSocket

Flow:

  1. Browser sends Build request
  2. Server executes go build command via os/exec
    2.1. Generates a executable file
  3. Browser sends Run request
  4. Server executes the file via os/exec
    4.1. A running process
    4.2. Execution output push via WebSocket channel
  5. Browser renders with callback function ws.onmessage
Code Assist

Code Assist

  • Autocompletion
  • Find Usages/Jump To Declaration/etc.

Flow:

  1. Browser sends code assist request
  2. Handler gets user workspace of the request with HTTP session
  3. Server executes gocode/ide_stub(gotools)
    3.1 Sets environment variables (e.g. ${GOPATH})
    3.2 gocode with lib-path parameter

Documents

Setup

Download Binary

We have provided OS-specific executable binary as follows:

  • linux-amd64/386
  • windows-amd64/386
  • darwin-amd64/386

Download HERE!

Build Wide for yourself
  1. Download source or by git clone https://github.com/b3log/wide
  2. Get dependencies with
    • go get
    • go get github.com/visualfc/gotools github.com/nsf/gocode github.com/bradfitz/goimports
  3. Compile wide with go build
Docker
  1. Get image: sudo docker pull 88250/wide:latest
  2. Run: sudo docker run -p 127.0.0.1:7070:7070 88250/wide:latest ./wide -docker=true -channel=ws://127.0.0.1:7070
  3. Open browser: http://127.0.0.1:7070

Known Issues

Terms

  • This software is open sourced under the Apache License 2.0
  • You can not get rid of the "Powered by B3log" from any page, even which you made
  • If you want to use this software for commercial purpose, please mail to support@liuyun.io for a commercial license request
  • Copyright © b3log.org, all rights reserved

Credits

Wide is made possible by the following open source projects.


Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package conf includes configurations related manipulations.
Package conf includes configurations related manipulations.
Package editor includes editor related manipulations.
Package editor includes editor related manipulations.
Package event includes event related manipulations.
Package event includes event related manipulations.
Package file includes file related manipulations.
Package file includes file related manipulations.
Package i18n includes internationalization related manipulations.
Package i18n includes internationalization related manipulations.
Package log includes logging related manipulations.
Package log includes logging related manipulations.
Package notification includes notification related manipulations.
Package notification includes notification related manipulations.
Package output includes build, run and go tool related manipulations.
Package output includes build, run and go tool related manipulations.
Package shell include playground related mainipulations.
Package shell include playground related mainipulations.
scm
git
Package session includes session related manipulations.
Package session includes session related manipulations.
Package shell include shell related mainipulations.
Package shell include shell related mainipulations.
Package util includes common utilities.
Package util includes common utilities.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL