Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>War3 Rect EditNew to Visual Studio Code? Get it now.
War3 Rect Edit

War3 Rect Edit

dogee chou

|
23 installs
| (0) | Free
在 VS Code 中可视化查看魔兽争霸 III 地形、编辑 W3R 区域并管理逻辑点。
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

War3 Rect Edit

War3 Rect Edit 是一个面向 Warcraft III LNI 地图的 VS Code 工具,用于在编辑器内查看地形、管理矩形区域和逻辑点。

功能

  • 读取并渲染 map/war3map.w3e 三维地形。
  • 优先使用地图项目中的地形资源,找不到时再从配置的魔兽目录读取原生资源。
  • 只读预览地图中的装饰物和可破坏物。
  • 读取和写入 map/war3map.w3r 矩形区域。
  • 在区域页签中创建、移动、缩放和删除矩形区域。
  • 在点页签中创建、移动和删除逻辑点。
  • 拖动点位时,自动识别 500 码内的其他点和矩形四角;X/Y 方向进入 50 码范围后吸附,并在蓝色/橙色对齐虚线中显示对象间距标尺。
  • 使用 Ctrl+Z 撤销、Ctrl+Y 前进,最多保留 10 步历史。
  • 使用 Ctrl+C 复制选中的点或区域,Ctrl+V 后移动鼠标预览、单击放置,按 Esc 取消放置。
  • 粘贴多个对象时可选择 实例 或 普通:实例粘贴会把副本与源对象绑定,之后移动任意一侧,另一侧都会跟着移动,两组的相对位置保持不变。
  • 粘贴时可以勾选 镜像,并选择 左右 或 上下;副本会按该方向翻转,实例联动时的移动方向也随之镜像。选中的对象如果有联动副本,副本会用青色虚线圈标出。
  • 对带实例关联的对象单击右键(不拖动)会弹出菜单,可 解除实例关联;链接断开后对象留在原位,操作可用 Ctrl+Z 撤销。
  • 实例关联会随保存写入工作区 .war3tool/instances.json,下次打开地图自动恢复联动。
  • 在画布或列表里选中对象时,右侧列表会自动用 0.5 秒过渡把该行滚进可视区;已经在可视区内的行不会引起任何滚动,手动滚动会立刻接管。
  • 将逻辑点导出为 Lua 文件,导出路径可在设置中配置。
  • 魔兽争霸 III 路径留空时,自动读取 Windows 注册表中的安装路径。

文件结构

插件按 LNI 地图的标准目录读取文件,不会要求移动或重命名原始文件:

地图根目录/
├─ map/
│  ├─ war3map.w3e
│  ├─ war3map.w3r
│  └─ 其他地图文件
├─ resource/
├─ table/
└─ *.w3x

点位数据默认保存到 VS Code 工作区根目录的 .war3tool/points.json,用于下次打开地图时恢复点位;首次写入区域时还会在工作区 .war3tool/ 保存 war3map.w3r.before-war3-map-tools.bak 原始备份。Lua 默认导出到工作区 .war3tool/points.lua,也可以在设置中改为其他相对或绝对路径。地图目录中已有的旧 .war3tool/points.json 仍会兼容读取。

实例关联的存储

实例粘贴建立的联系记录在工作区的 .war3tool/instances.json,与地图和脚本读取的文件完全分开:

{
  "version": 1,
  "links": [
    { "source": "point:8f1c…", "target": "point:2d47…", "axis": "none" },
    { "source": "region:12", "target": "region:15", "axis": "horizontal" }
  ]
}
  • 只记录拓扑关系(谁是谁的副本、是否镜像),不记录坐标。坐标仍然只在 points.json 和 war3map.w3r 里,所以文件不会因为拖动而反复重写,也不存在两份坐标不同步的问题。
  • axis 为 none / horizontal(左右)/ vertical(上下)。两个端点用与编辑器内部一致的 point:<id>、region:<index> 键标识。
  • 关联的两端只要有一端不存在,该条记录会被自动丢弃;同一个副本也只会归属一个源对象。
  • 没有任何关联时不会生成这个文件;删光所有关联后文件会被删除。写入过程不会改动 points.json、points.lua 和 war3map.w3r 的格式。
  • 手改这个文件后重新打开地形视图即可生效;由于坐标不在其中,把某个对象在外部挪动后再打开,这组实例会以新位置为基准继续联动。

设置

在 VS Code 设置中搜索 War3 Rect Edit:

  • war3MapTools.warcraftPath:魔兽争霸 III 安装目录。留空时自动读取注册表。
  • war3MapTools.luaExportPath:点位 Lua 导出路径。相对路径基于当前地图根目录,也支持绝对路径;修改后无需重新打开地图,下一次导出立即使用新路径。
  • war3MapTools.textEncoding:区域名称和环境音字符串编码,中文地图通常使用 gbk。

使用方式

  1. 在 VS Code 中打开包含 LNI 地图的工作区。
  2. 单击地图根目录中的 .w3x 文件,使用 War3 LNI 地形与区域 编辑器打开。
  3. 在右侧的“区域”或“点”页签中选择对应模块。
  4. 使用页签内的按钮进入新建模式;再次点击按钮可返回编辑模式。
  5. 编辑后插件会自动保存,也可以点击“保存”立即写入。

更新日志

各版本的详细变更记录在 CHANGELOG.md,也可以在扩展详情页的 Changelog 标签中查看。

开源许可证

本项目使用 MIT License 开源。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft