This issue recommends SmartIDE, an integrated development environment (IDE) based on a remote workspace.
SmartIDE can help you complete the development environment one-click setup, if you are familiar with command line operation, then install our cli, and then you only need to learn a command smartide start can be in their own needs in the environment. Use their favorite development tools for coding and development debugging, no longer need to install any tools, SDKS, debuggers, compilers, environment variables and other cumbersome operations. If you don’t like the command line operation, you can also use SmartIDE Server to do it all from the web. The biggest problem with traditional ides like Vscode and JetBrain, if we call them traditional ides, is: They did a very good job on I (Integration) and D (Development), but neither solved the problem of E (Environment).
Current SmartIDE consists of 4 components
- CLI: An easy-to-use command line tool that can run on Windows/MacOS/Linux, developers can use a simple command smartide start to set up a development environment with one click, directly open the environment built-in WebIDE to start coding and debugging.
- Server: Open source containerized development environment management service that supports private deployment. The Server edition inherits all the capabilities of the CLI, but provides web-based operations while extending and supporting them for team use.
- Marketplace: SmartIDE plugin market is a fork of open-vsx.org, we implemented it in Chinese and provide local deployment and automatic plugin synchronization service in China. Enterprises can also choose to deploy the SmartIDE plugin marketplace on the Intranet, providing internal developers with secure and controllable VSCode plugin management services.
- Developer images and templates: Developer images are a series of pre-built development environment containers. We provide developer images of 7 development languages, and they are hosted on Alibaba Cloud and DockerHub in China at the same time, which is convenient for developers around the world to use.
Function Example
Remote development, local experience
With SmartIDE, you can use your host running anywhere (AWS, Azure, Alibaba Cloud, Tencent Cloud, even your laptop at home) as an extension of your on-premises development environment, leveraging these cloud resources while still maintaining the on-premises development experience.
For example, the IDE environment shown in the following figure: I am using a host running in a Microsoft Azure cloud data center as the SmartIDE development environment, and all the access addresses are localhost.
What is shown in the figure is a scene screenshot of me using SmartIDE to maintain this website. Several key points marked in the figure are explained as follows:
1. hugo server is started in the development environment of the remote host and running on port 1313
2. The SmartIDE local garrison program automatically completes the forwarding action from port 1313 on the remote host to local port 1313, and also forwards port 3000 used by WebIDE, which is forwarded to the local port 6800
3, you can directly access the WebIDE on the remote host through http://localhost:6800
4, you can directly access hugo server on the remote host through http://localhost:1313
Description:
Hugo is a static site generator implemented in the Go language, and the smartide.dev site you are currently viewing uses hugo. I ran into a problem when using hugo for smartide.dev development: Because hugo introduced a large number of GitHub codebase via git submodule, it was very slow to get these resources in my local environment. With SmartIDE’s remote hosting mode, I can use a host in the cloud, which reduces my git submodule acquisition time from 20-30 minutes (local mode) to 2 minutes (remote mode).
IDE as Code
The most troublesome thing for developers is to read the code written by others, let alone run the code written by others, and build various environments, configure tools, and script parameters enough for you to toss for a few days. SmartIDE solves this problem with a.ide.yaml file that is placed in the code base. Here is a typical.ide.yaml file example.
Through this file, we will be developers need to start the current code base needs to fully describe all the environment, tools, scripts, SmartIDE is through the parsing of this file to complete the automatic development environment creation and replication.
With this.ide.yaml file, developers no longer need to worry about how to start the development environment, you only need to master a command smartide start is enough.
version: smartide/v0.2
orchestrator:
type: docker-compose
version: 3
workspace:
dev-container:
service-name: boathouse-calculator
webide-port: 6800
ports:
webide: 6800
ssh: 6822
application: 3001
ide-type: vscode
volumes:
git-config: true
ssh-key: true
command:
- npm install
- npm start
docker-compose-file: docker-compose.yaml
Sample program
The Boathouse calculator application is a fully functional node.js sample application for the community. You can quickly launch the application in the following ways to experience it.
//gitee.com/idcf-boat-house/boathouse-calculator.git
## simplified instruction
se up https://gitee.com/idcf-boat-house/boathouse-calculator.git
smartide start https:
Then you can develop and debug, isn’t that cool?
Key points in the figure:
- Through the terminal in the lower right corner, you can see that the development environment is set up with a simple command (smartide start)
- A familiar Visual Studio Code is running in the browser in the upper right corner, and has entered the single-step debugging state, you can get the current assignment of the variable by hovering over the variable with the mouse, the call stack on the left of vscode, Variable monitor and so on are tracking the application running status in real time
- The browser on the left is the program we are debugging, which is a calculator application written in node.js and in the debugging terminal state
- All the above operations are run through the browser, without the need to install any development environment, SDK or IDE in advance. All you need is your code base and SmartIDE.
- The above environment can run on your local computer or cloud server, but the developer can all access through localhost, without opening any other port on the server.
—END—
Open Source protocol: GPL3.0
Installation document:
https://smartide.cn/zh/docs/install