什么是 Microi 吾码? Microi 吾码
是一个专为开发者设计的代码编辑平台,专注于提升开发者的编码效率和工作体验。它以简洁的设计
和强大的功能
著称,为开发者提供了一个高效、灵活且高度可定制
的编程环境
核心理念
Microi 吾码的设计初衷是平衡轻量与强大,让用户无需庞大的集成开发环境(IDE)
,也能享受到快速、流畅的编码体验。它适用于从日常脚本编写到大型项目开发的各种场景
功能亮点
🚩多语言支持
• Microi 吾码支持多种主流编程语言
,如 Python、Java、JavaScript、C++、Go、Ruby 等 • 提供语法高亮、代码补全、错误提示、重构等实用功能,帮助开发者更高效地编写代码
🚩轻量级但功能全面
• Microi 吾码启动速度快
,占用内存少
,但提供了类似 IDE 的功能,如调试工具、终端集成、任务管理等 • 特别适合需要在性能有限的设备
上编程的用户
🚩插件生态系统
• Microi 吾码内置插件市场
,用户可以按需安装插件,扩展功能,比如代码片段管理器、Git 版本控制、数据库工具等 • 开发者还能根据需求自行开发插件
🚩多平台支持
• 无论是 Windows
、macOS
还是 Linux
,Microi 吾码都提供了全面优化的安装包
,用户可随时跨平台
工作
🚩高可定制性
• 支持修改界面主题、图标风格、代码字体、行号显示等细节 • 用户可以通过配置文件
进一步调整编辑器行为,如键绑定、扩展功能
🚩团队协作
• 内置对 Git
等版本控制工具的支持,便于团队协作开发 • 提供实时共享
功能,支持多用户协作
编辑代码(需插件支持)
🚩内置调试工具
• 支持对多种语言的断点调试
和运行日志查看
,开发者可以快速定位代码问题
为什么选择 Microi 吾码? 🔥轻量但强大 🔥快速上手 🔥灵活扩展 🔥高效生产力
适用人群广 初学者
简单直观的界面和丰富的功能,使初学者可以专注于学习编程,而无需应对复杂的开发环境
自由职业者
轻量化设计和强大插件功能,让自由职业者能够高效管理不同项目
资深开发者
丰富的调试工具、强大的代码分析功能以及高度可定制性
,非常适合有较高要求的资深开发者
跨平台用户
对需要在多种操作系统之间切换
的用户来说,Microi 吾码的多平台支持非常便利
2.2 编译工具比较 从这张对比表可以看出,Microi 吾码在轻量性
、启动速度
和插件丰富度
上具有明显的优势
,是许多开发者的理想选择
Microi 吾码的安装使用教程 方法一 下载 Microi 吾码
打开 Microi 吾码官网
根据你的操作系统选择适配的安装包: • Windows
用户:下载 .exe
文件 • macOS
用户:下载 .dmg
文件 • Linux
用户:下载 .tar.gz
文件
安装 Microi 吾码 Windows
双击下载的 .exe
文件 按照安装向导的提示,选择安装路径
点击“下一步”
完成安装
macOS
打开下载的 .dmg
文件 将 Microi 吾码的图标拖拽到“应用程序”
文件夹中 打开“应用程序”,点击 Microi 吾码
启动
Linux
解压下载的 .tar.gz
文件:
进入解压后的文件夹:
运行安装脚本:
启动和配置
启动 Microi 吾码
,进入主界面
按需安装插件
:点击“扩展”图标,搜索并安装需要的插件
自定义主题:进入“设置”
,选择“外观”
,挑选你喜欢的编辑器主题
方法二
⌨️CentOS7一键安装脚本
url=https://static.itdos.com/install/install-microi-centos.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install-microi-centos.sh $url;fi;bash install-microi-centos.sh
注意事项 :
• 执行上面脚本时,会提示【输入 g 以公网IP安装,输入 n 以内网IP安装】
,请根据实际情况输入g
或n
• 如果服务器没有docker环境
,也会提示是否按y安装,虽然博主建议使用1Panel、宝塔之类的面板工具来管理服务器并安装docker
,但如果您想快速开始就直接键入y
吧 • 安装成功后,必需开放microi-api
端口、前端传统界面端口、前端Web
操作系统端口、MinIO
端口 • 脚本安装mysql
默认为4G内存服务器的性能配置,2G内存服务器建议下载脚本去掉性能配置再运行脚本
• 重复执行一键脚本前会提示先删除所有已安装容器,这将导致所有数据丢失
安装docker
1 docker ps -a --format "{{.Names}}" | grep "^microi-install-" | xargs -r docker rm -f
脚本代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 #!/bin/bash echo 'Microi:当前一键脚本版本:2024-11-24 11:47' LAN_IP=$(hostname -I | awk '{print $1}' ) echo 'Microi:获取局域网IP: ' $LAN_IP PUBLIC_IP=$(curl -s ifconfig.me) echo 'Microi:获取公网IP: ' $PUBLIC_IP echo 'Microi:您是想在公网访问系统还是内网访问?公网请提前做好端口开放。' echo 'Microi:输入 g 以公网IP安装,输入 n 以内网IP安装:' read -r install_typeif [ "$install_type " == "g" ]; then ACCESS_IP=$PUBLIC_IP echo 'Microi:将以公网IP安装。' elif [ "$install_type " == "n" ]; then ACCESS_IP=$LAN_IP echo 'Microi:将以内网IP安装。' else echo 'Microi:无效的输入,脚本退出。' exit 1 fi if ! [ -x "$(command -v docker) " ]; then echo 'Microi:您未安装docker,推荐使用1Panel、宝塔等面板工具来安装docker并管理您的服务器!' echo 'Microi:是否立即安装Docker?(y/n)' read -r answer if [ "$answer " != "y" ]; then echo 'Microi:安装取消,脚本退出。' exit 1 fi echo 'Microi:开始安装Docker...' sudo yum update -y sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io sudo systemctl start docker sudo systemctl enable docker echo 'Microi:Docker已成功安装。' fi DOCKER_ACCELERATOR="https://mirrors.aliyun.com/docker-ce/" echo 'Microi:配置Docker镜像加速器' sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": ["${DOCKER_ACCELERATOR}"] } EOF sudo systemctl daemon-reloadsudo systemctl restart dockerecho 'Microi:生成随机端口和密码函数' generate_random_port () { shuf -i 17777-65535 -n 1 } generate_random_password () { openssl rand -base64 12 | tr -dc 'A-Za-z0-9' | head -c16 } generate_random_data_dir () { local container_name="$1 " local dir ="/home/data-${container_name} -$(openssl rand -hex 4) " mkdir -p "${dir} " echo "${dir} " } echo 'Microi:检查并提示用户手动删除已有容器' if docker ps -a --format '{{.Names}}' | grep -q '^microi-install-' ; then echo 'Microi:脚本重复运行前,需要先通过命令【docker ps -a --format "{{.Names}}" | grep "^microi-install-" | xargs -r docker rm -f】删除所有相关容器后再重新运行,注意此操作将会删除数据库、MinIO文件,请谨慎操作' exit 1 fi if ! [ -x "$(command -v unzip) " ]; then echo 'Microi:您未安装unzip,正在为您安装...' sudo yum install -y unzip if [ $? -ne 0 ]; then echo 'Microi:unzip安装失败,脚本退出。' exit 1 fi echo 'Microi:unzip已成功安装。' else echo 'Microi:unzip已安装。' fi MYSQL_CONF_FILE="/tmp/my_microi.cnf" echo '[mysqld]' > ${MYSQL_CONF_FILE} echo 'lower_case_table_names = 1' >> ${MYSQL_CONF_FILE} echo 'max_connections = 500' >> ${MYSQL_CONF_FILE} echo 'key_buffer_size = 268435456' >> ${MYSQL_CONF_FILE} echo 'query_cache_size = 268435456' >> ${MYSQL_CONF_FILE} echo 'tmp_table_size = 268435456' >> ${MYSQL_CONF_FILE} echo 'innodb_buffer_pool_size = 536870912' >> ${MYSQL_CONF_FILE} echo 'innodb_log_buffer_size = 268435456' >> ${MYSQL_CONF_FILE} echo 'sort_buffer_size = 1048576' >> ${MYSQL_CONF_FILE} echo 'read_buffer_size = 2097152' >> ${MYSQL_CONF_FILE} echo 'read_rnd_buffer_size = 1048576' >> ${MYSQL_CONF_FILE} echo 'join_buffer_size = 2097152' >> ${MYSQL_CONF_FILE} echo 'thread_stack = 393216' >> ${MYSQL_CONF_FILE} echo 'binlog_cache_size = 196608' >> ${MYSQL_CONF_FILE} echo 'thread_cache_size = 192' >> ${MYSQL_CONF_FILE} echo 'table_open_cache = 1024' >> ${MYSQL_CONF_FILE} echo 'character_set_server=utf8mb4' >> ${MYSQL_CONF_FILE} echo 'collation_server=utf8mb4_unicode_ci' >> ${MYSQL_CONF_FILE} MYSQL_PORT=$(generate_random_port) MYSQL_ROOT_PASSWORD=$(generate_random_password) MYSQL_DATA_DIR=$(generate_random_data_dir "mysql" ) echo 'Microi:MySQL 将在端口 ' ${MYSQL_PORT} ' 上安装,root 密码: ' ${MYSQL_ROOT_PASSWORD} ,数据目录: ${MYSQL_DATA_DIR} docker pull registry.cn-hangzhou.aliyuncs.com/microios/mysql5.6:latest docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name microi-install-mysql56 -p ${MYSQL_PORT} :3306 \ -v ${MYSQL_DATA_DIR} :/var/lib/mysql \ -v ${MYSQL_CONF_FILE} :/etc/mysql/conf.d/my_microi.cnf \ -e MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} \ -e MYSQL_TIME_ZONE=Asia/Shanghai \ -d registry.cn-hangzhou.aliyuncs.com/microios/mysql5.6:latest REDIS_PORT=$(generate_random_port) REDIS_PASSWORD=$(generate_random_password) echo 'Microi:Redis 将在端口 ' ${REDIS_PORT} ' 上安装,密码: ' ${REDIS_PASSWORD} docker pull registry.cn-hangzhou.aliyuncs.com/microios/redis6.2:latest docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name microi-install-redis -p ${REDIS_PORT} :6379 \ -e REDIS_PASSWORD=${REDIS_PASSWORD} \ -d registry.cn-hangzhou.aliyuncs.com/microios/redis6.2:latest redis-server --requirepass ${REDIS_PASSWORD} echo 'Microi:等待MySQL容器启动...' sleep 5 echo 'Microi:检查MySQL是否可以连接...' for i in {1..10}; do docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e "SELECT 1" > /dev/null 2>&1 && break sleep 1 done if [ $i -eq 60 ]; then echo 'Microi:MySQL服务启动失败,脚本退出。' exit 1 fi echo 'Microi:允许root用户从任意主机连接' docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e "USE mysql; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD} ' WITH GRANT OPTION;" docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e "FLUSH PRIVILEGES;" SQL_ZIP_URL="https://static.itdos.com/download/microi/file/mysql5.6.50-bak-latest.sql.zip" SQL_ZIP_FILE="/tmp/mysql_backup.zip" SQL_DIR="/tmp/mysql_backup" SQL_FILE="${SQL_DIR} /microi_demo.sql" mkdir -p ${SQL_DIR} echo 'Microi:创建目录: ' ${SQL_DIR} curl -o ${SQL_ZIP_FILE} ${SQL_ZIP_URL} echo 'Microi:下载ZIP文件: ' ${SQL_ZIP_FILE} unzip -o -d ${SQL_DIR} ${SQL_ZIP_FILE} echo 'Microi:解压ZIP文件到: ' ${SQL_DIR} echo 'Microi:创建数据库 microi_demo' docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e "CREATE DATABASE IF NOT EXISTS microi_demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" echo 'Microi:还原MySQL数据库备份: ' ${SQL_FILE} docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} microi_demo < ${SQL_FILE} MONGO_PORT=$(generate_random_port) MONGO_ROOT_PASSWORD=$(generate_random_password) MONGO_DATA_DIR=$(generate_random_data_dir "mongodb" ) echo 'Microi:MongoDB 将在端口 ' ${MONGO_PORT} ' 上安装,root 密码: ' ${MONGO_ROOT_PASSWORD} ,数据目录: ${MONGO_DATA_DIR} docker pull registry.cn-hangzhou.aliyuncs.com/microios/mongo:latest docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name microi-install-mongodb -p ${MONGO_PORT} :27017 \ -v ${MONGO_DATA_DIR} :/data/db \ -e MONGO_INITDB_ROOT_USERNAME=root \ -e MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD} \ -d registry.cn-hangzhou.aliyuncs.com/microios/mongo:latest MINIO_PORT=$(generate_random_port) MINIO_CONSOLE_PORT=$(generate_random_port) MINIO_ACCESS_KEY=$(generate_random_password) MINIO_SECRET_KEY=$(generate_random_password) MINIO_DATA_DIR=$(generate_random_data_dir "minio" ) echo 'Microi:MinIO 将在端口 ' ${MINIO_PORT} ' 和控制台端口 ' ${MINIO_CONSOLE_PORT} ' 上安装,access key: ' ${MINIO_ACCESS_KEY} ',secret key: ' ${MINIO_SECRET_KEY} ,数据目录: ${MINIO_DATA_DIR} docker pull registry.cn-hangzhou.aliyuncs.com/microios/minio:latest docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name microi-install-minio -p ${MINIO_PORT} :9000 -p ${MINIO_CONSOLE_PORT} :9001 \ -v ${MINIO_DATA_DIR} :/data \ -v ${MINIO_DATA_DIR} /config:/root/.minio \ -e "MINIO_ROOT_USER=${MINIO_ACCESS_KEY} " \ -e "MINIO_ROOT_PASSWORD=${MINIO_SECRET_KEY} " \ -d registry.cn-hangzhou.aliyuncs.com/microios/minio:latest server /data --console-address ":9001" API_PORT=$(generate_random_port) API_IMAGE="registry.cn-hangzhou.aliyuncs.com/microios/microi-api:latest" API_CONTAINER_NAME="microi-install-api" OS_CLIENT_DB_CONN="Data Source=${LAN_IP} ;Database=microi_demo;User Id=root;Password=${MYSQL_ROOT_PASSWORD} ;Port=${MYSQL_PORT} ;Convert Zero Datetime=True;Allow Zero Datetime=True;Charset=utf8mb4;Max Pool Size=500;sslmode=None;" echo 'Microi:拉取并安装后端microi-api接口系统: ' ${API_IMAGE} docker pull ${API_IMAGE} docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name ${API_CONTAINER_NAME} -p ${API_PORT} :80 \ -e "OsClient=iTdos" \ -e "OsClientType=Product" \ -e "OsClientNetwork=Internal" \ -e "OsClientDbConn=${OS_CLIENT_DB_CONN} " \ -e "OsClientRedisHost=${LAN_IP} " \ -e "OsClientRedisPort=${REDIS_PORT} " \ -e "OsClientRedisPwd=${REDIS_PASSWORD} " \ -e "AuthServer=http://${LAN_IP} :${API_PORT} " \ -v /etc/localtime:/etc/localtime \ -v /usr/share/fonts:/usr/share/fonts \ -d ${API_IMAGE} VUE_PORT=$(generate_random_port) VUE_IMAGE="registry.cn-hangzhou.aliyuncs.com/microios/microi-client:latest" VUE_CONTAINER_NAME="microi-install-client" echo 'Microi:拉取并安装前端传统界面: ' ${VUE_IMAGE} docker pull ${VUE_IMAGE} docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name ${VUE_CONTAINER_NAME} -p ${VUE_PORT} :80 \ -e "OsClient=iTdos" \ -e "ApiBase=http://${ACCESS_IP} :${API_PORT} " \ -v /etc/localtime:/etc/localtime \ -v /usr/share/fonts:/usr/share/fonts \ -d ${VUE_IMAGE} WEBOS_PORT=$(generate_random_port) WEBOS_IMAGE="registry.cn-hangzhou.aliyuncs.com/microios/microi-os:latest" WEBOS_CONTAINER_NAME="microi-install-os" echo 'Microi:拉取并安装前端WebOS操作系统: ' ${WEBOS_IMAGE} docker pull ${WEBOS_IMAGE} docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name ${WEBOS_CONTAINER_NAME} -p ${WEBOS_PORT} :80 \ -e "OsClient=iTdos" \ -e "ApiBase=http://${ACCESS_IP} :${API_PORT} " \ -v /etc/localtime:/etc/localtime \ -v /usr/share/fonts:/usr/share/fonts \ -d ${WEBOS_IMAGE} WATCHTOWER_CONTAINER_NAME="microi-install-watchtower" echo 'Microi:安装Watchtower以自动更新API、Vue和WebOS容器' docker pull registry.cn-hangzhou.aliyuncs.com/microios/watchtower:latest docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \ --name ${WATCHTOWER_CONTAINER_NAME} -v /var/run/docker.sock:/var/run/docker.sock \ registry.cn-hangzhou.aliyuncs.com/microios/watchtower:latest ${API_CONTAINER_NAME} ${VUE_CONTAINER_NAME} ${WEBOS_CONTAINER_NAME} echo -e "==================================================================" echo 'Microi:所有服务已成功安装。' echo 'Microi:前端传统界面访问地址: http://' $ACCESS_IP ':' $VUE_PORT ',账号: admin,密码: demo123456' echo 'Microi:前端WebOS操作系统访问地址: http://' $ACCESS_IP ':' $WEBOS_PORT ',账号: admin,密码: demo123456' echo 'Microi:Redis: 容器名称 microi-install-redis, 端口 ' ${REDIS_PORT} ', 密码: ' ${REDIS_PASSWORD} echo 'Microi:MySQL: 容器名称 microi-install-mysql56, 端口 ' ${MYSQL_PORT} ', Root 密码: ' ${MYSQL_ROOT_PASSWORD} echo 'Microi:MongoDB: 容器名称 microi-install-mongodb, 端口 ' ${MONGO_PORT} ', Root 密码: ' ${MONGO_ROOT_PASSWORD} echo 'Microi:MinIO: 容器名称 microi-install-minio, 端口 ' ${MINIO_PORT} ', 控制台端口 ' ${MINIO_CONSOLE_PORT} ', Access Key: ' ${MINIO_ACCESS_KEY} , Secret Key: ${MINIO_SECRET_KEY} echo 'Microi:后端microi-api接口系统: 容器名称 ' ${API_CONTAINER_NAME} ', 端口 ' ${API_PORT} ', 镜像: ' ${API_IMAGE} ', 局域网IP: ' ${LAN_IP} echo 'Microi:前端传统界面: 容器名称 ' ${VUE_CONTAINER_NAME} ', 端口 ' ${VUE_PORT} ', 镜像: ' ${VUE_IMAGE} ', API URL: http://' ${ACCESS_IP} ':' ${API_PORT} echo 'Microi:前端WebOS操作系统: 容器名称 ' ${WEBOS_CONTAINER_NAME} ', 端口 ' ${WEBOS_PORT} ', 镜像: ' ${WEBOS_IMAGE} ', API URL: http://' ${ACCESS_IP} ':' ${API_PORT} echo 'Microi:Watchtower: 容器名称 ' ${WATCHTOWER_CONTAINER_NAME} ', 已安装以自动更新API、Vue和WebOS容器' echo -e "=================================================================="
总结 Microi 吾码不仅是一个简单的代码编辑工具,更是一个强大的编程平台。它凭借轻量化、灵活性和强大的扩展能力,成为了越来越多开发者的首选。如果你还没有尝试过,不妨安装体验,感受编程效率的飞跃!(๑•̀ㅂ•́)و✧
希望读者们多多三连支持 小编会继续更新 你们的鼓励就是我前进的动力!