pi-x-ide 1.14.0 → 1.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +218 -0
- package/README.md +31 -59
- package/README.zh-CN.md +25 -49
- package/RELEASE.md +213 -0
- package/dist/src/pi/commands.js +0 -1
- package/dist/src/pi/connection.js +2 -4
- package/dist/src/pi/context.js +2 -4
- package/dist/src/pi/diagnostics.js +0 -1
- package/dist/src/pi/discovery.js +0 -3
- package/dist/src/pi/ide-host.js +0 -3
- package/dist/src/pi/index.js +0 -1
- package/dist/src/pi/install.js +0 -5
- package/dist/src/pi/reconnect.js +0 -1
- package/dist/src/pi/safety.js +0 -1
- package/dist/src/pi/state.js +0 -1
- package/dist/src/pi/ui.js +44 -21
- package/dist/src/pi/zed.js +5 -45
- package/dist/src/shared/config-options.js +0 -1
- package/dist/src/shared/config.js +4 -3
- package/dist/src/shared/display-width.js +98 -0
- package/dist/src/shared/errors.js +0 -3
- package/dist/src/shared/format.js +11 -6
- package/dist/src/shared/ide-server.js +0 -3
- package/dist/src/shared/lock-file.js +0 -1
- package/dist/src/shared/paths.js +3 -15
- package/dist/src/shared/platform.js +0 -14
- package/dist/src/shared/protocol.js +0 -3
- package/dist/src/shared/schema.js +0 -1
- package/dist/src/shared/ws.js +0 -1
- package/package.json +11 -7
- package/dist/package.json +0 -68
- package/dist/src/nvim/sidecar-schema.d.ts +0 -25
- package/dist/src/nvim/sidecar-schema.js +0 -64
- package/dist/src/nvim/sidecar-schema.js.map +0 -1
- package/dist/src/nvim/sidecar.d.ts +0 -16
- package/dist/src/nvim/sidecar.js +0 -174
- package/dist/src/nvim/sidecar.js.map +0 -1
- package/dist/src/pi/commands.d.ts +0 -20
- package/dist/src/pi/commands.js.map +0 -1
- package/dist/src/pi/connection.d.ts +0 -42
- package/dist/src/pi/connection.js.map +0 -1
- package/dist/src/pi/context.d.ts +0 -8
- package/dist/src/pi/context.js.map +0 -1
- package/dist/src/pi/diagnostics.d.ts +0 -10
- package/dist/src/pi/diagnostics.js.map +0 -1
- package/dist/src/pi/discovery.d.ts +0 -16
- package/dist/src/pi/discovery.js.map +0 -1
- package/dist/src/pi/ide-host.d.ts +0 -17
- package/dist/src/pi/ide-host.js.map +0 -1
- package/dist/src/pi/index.d.ts +0 -4
- package/dist/src/pi/index.js.map +0 -1
- package/dist/src/pi/install.d.ts +0 -55
- package/dist/src/pi/install.js.map +0 -1
- package/dist/src/pi/reconnect.d.ts +0 -6
- package/dist/src/pi/reconnect.js.map +0 -1
- package/dist/src/pi/safety.d.ts +0 -7
- package/dist/src/pi/safety.js.map +0 -1
- package/dist/src/pi/state.d.ts +0 -31
- package/dist/src/pi/state.js.map +0 -1
- package/dist/src/pi/ui.d.ts +0 -13
- package/dist/src/pi/ui.js.map +0 -1
- package/dist/src/pi/zed.d.ts +0 -31
- package/dist/src/pi/zed.js.map +0 -1
- package/dist/src/shared/config-options.d.ts +0 -50
- package/dist/src/shared/config-options.js.map +0 -1
- package/dist/src/shared/config.d.ts +0 -8
- package/dist/src/shared/config.js.map +0 -1
- package/dist/src/shared/errors.d.ts +0 -5
- package/dist/src/shared/errors.js.map +0 -1
- package/dist/src/shared/format.d.ts +0 -24
- package/dist/src/shared/format.js.map +0 -1
- package/dist/src/shared/ide-server.d.ts +0 -24
- package/dist/src/shared/ide-server.js.map +0 -1
- package/dist/src/shared/lock-file.d.ts +0 -17
- package/dist/src/shared/lock-file.js.map +0 -1
- package/dist/src/shared/paths.d.ts +0 -14
- package/dist/src/shared/paths.js.map +0 -1
- package/dist/src/shared/platform.d.ts +0 -5
- package/dist/src/shared/platform.js.map +0 -1
- package/dist/src/shared/protocol.d.ts +0 -137
- package/dist/src/shared/protocol.js.map +0 -1
- package/dist/src/shared/schema.d.ts +0 -10
- package/dist/src/shared/schema.js.map +0 -1
- package/dist/src/shared/ws.d.ts +0 -2
- package/dist/src/shared/ws.js.map +0 -1
- package/dist/test/connection.test.d.ts +0 -1
- package/dist/test/connection.test.js +0 -312
- package/dist/test/connection.test.js.map +0 -1
- package/dist/test/diagnostics.test.d.ts +0 -1
- package/dist/test/diagnostics.test.js +0 -168
- package/dist/test/diagnostics.test.js.map +0 -1
- package/dist/test/ide-server.test.d.ts +0 -1
- package/dist/test/ide-server.test.js +0 -50
- package/dist/test/ide-server.test.js.map +0 -1
- package/dist/test/install.test.d.ts +0 -1
- package/dist/test/install.test.js +0 -125
- package/dist/test/install.test.js.map +0 -1
- package/dist/test/nvim-sidecar.test.d.ts +0 -1
- package/dist/test/nvim-sidecar.test.js +0 -148
- package/dist/test/nvim-sidecar.test.js.map +0 -1
- package/dist/test/shared.test.d.ts +0 -1
- package/dist/test/shared.test.js +0 -522
- package/dist/test/shared.test.js.map +0 -1
- package/dist/test/zed.test.d.ts +0 -1
- package/dist/test/zed.test.js +0 -609
- package/dist/test/zed.test.js.map +0 -1
- package/src/nvim/sidecar-schema.ts +0 -71
- package/src/nvim/sidecar.ts +0 -223
- package/src/pi/commands.ts +0 -174
- package/src/pi/connection.ts +0 -240
- package/src/pi/context.ts +0 -102
- package/src/pi/diagnostics.ts +0 -115
- package/src/pi/discovery.ts +0 -152
- package/src/pi/ide-host.ts +0 -82
- package/src/pi/index.ts +0 -478
- package/src/pi/install.ts +0 -349
- package/src/pi/reconnect.ts +0 -33
- package/src/pi/safety.ts +0 -38
- package/src/pi/state.ts +0 -39
- package/src/pi/ui.ts +0 -198
- package/src/pi/zed.ts +0 -507
- package/src/shared/config-options.ts +0 -63
- package/src/shared/config.ts +0 -65
- package/src/shared/errors.ts +0 -43
- package/src/shared/format.ts +0 -101
- package/src/shared/ide-server.ts +0 -183
- package/src/shared/lock-file.ts +0 -67
- package/src/shared/paths.ts +0 -119
- package/src/shared/platform.ts +0 -79
- package/src/shared/protocol.ts +0 -159
- package/src/shared/schema.ts +0 -189
- package/src/shared/ws.ts +0 -8
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [1.15.1](https://github.com/balaenis/pi-x-ide/compare/v1.15.0...v1.15.1) (2026-06-29)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **ui:** use grapheme-aware width for CJK-safe IDE status bar truncation ([9513960](https://github.com/balaenis/pi-x-ide/commit/95139605c36926be7e0ecb1553f823d3639a2b65))
|
|
9
|
+
|
|
10
|
+
## [1.15.0](https://github.com/balaenis/pi-x-ide/compare/v1.14.0...v1.15.0) (2026-06-23)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* **context:** wrap editor context in SELECTED_CONTEXT_MARKER for precise detection ([341e957](https://github.com/balaenis/pi-x-ide/commit/341e957e6f9ea32f60a90645f8fafa2e814bf267))
|
|
16
|
+
|
|
17
|
+
## [1.14.0](https://github.com/balaenis/pi-x-ide/compare/v1.13.1...v1.14.0) (2026-06-22)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* **jetbrains:** add JetBrains IDE plugin with lock-file, selection-tracking, and WebSocket server ([401e65d](https://github.com/balaenis/pi-x-ide/commit/401e65d50ed00f2803324c954560551f9ebe5c70)), closes [#47](https://github.com/balaenis/pi-x-ide/issues/47)
|
|
23
|
+
* **jetbrains:** add plugin icons, toolbar group, and icon references to actions ([ab5b0c4](https://github.com/balaenis/pi-x-ide/commit/ab5b0c483d004b2cc1d5950acbbdab9af8b9d9b6))
|
|
24
|
+
* **jetbrains:** add signing and publishPlugin support for JetBrains Marketplace ([d86f5e0](https://github.com/balaenis/pi-x-ide/commit/d86f5e0ec2769eeaec5a90b4c117c40d08e4df4e))
|
|
25
|
+
* **jetbrains:** run pi through login shell for proper PATH setup on native Unix and WSL ([7bf2924](https://github.com/balaenis/pi-x-ide/commit/7bf2924918692481c80a78fffd3ccffa67b166d3))
|
|
26
|
+
* **wsl:** add WSL-aware IDE discovery and cross-platform host resolution ([d8bd2e4](https://github.com/balaenis/pi-x-ide/commit/d8bd2e42687a79022a47337149169f03f1034b21))
|
|
27
|
+
|
|
28
|
+
## [1.13.1](https://github.com/balaenis/pi-x-ide/compare/v1.13.0...v1.13.1) (2026-06-20)
|
|
29
|
+
|
|
30
|
+
### Bug Fixes
|
|
31
|
+
|
|
32
|
+
- **vscode:** run pi through login shell in tmux terminal ([bee8563](https://github.com/balaenis/pi-x-ide/commit/bee8563bfde5623eb08d1db40260e50ea6ff2d94))
|
|
33
|
+
|
|
34
|
+
## [1.13.0](https://github.com/balaenis/pi-x-ide/compare/v1.12.0...v1.13.0) (2026-06-19)
|
|
35
|
+
|
|
36
|
+
### Features
|
|
37
|
+
|
|
38
|
+
- add error containment boundaries across all extension entry points ([064e725](https://github.com/balaenis/pi-x-ide/commit/064e72589f18979e57024166692627de7464edf0))
|
|
39
|
+
|
|
40
|
+
### Bug Fixes
|
|
41
|
+
|
|
42
|
+
- guard stale extension context callbacks ([316b1c1](https://github.com/balaenis/pi-x-ide/commit/316b1c1cea974229c8bef94a94d105b31cc76796))
|
|
43
|
+
- **pi:** guard stale connection callbacks and extension ctx errors ([094975c](https://github.com/balaenis/pi-x-ide/commit/094975c0081a48fb08ae226f4d8f64b5b38b5084))
|
|
44
|
+
|
|
45
|
+
## [1.12.0](https://github.com/balaenis/pi-x-ide/compare/v1.11.1...v1.12.0) (2026-06-16)
|
|
46
|
+
|
|
47
|
+
### Features
|
|
48
|
+
|
|
49
|
+
- **ui:** add animated spinner for connecting state ([ae82969](https://github.com/balaenis/pi-x-ide/commit/ae82969223f79c6ce28315337e846888738649aa))
|
|
50
|
+
|
|
51
|
+
## [1.11.1](https://github.com/balaenis/pi-x-ide/compare/v1.11.0...v1.11.1) (2026-06-15)
|
|
52
|
+
|
|
53
|
+
### Bug Fixes
|
|
54
|
+
|
|
55
|
+
- **ci:** Modify the rules guide and trigger once release pr ([f468f5a](https://github.com/balaenis/pi-x-ide/commit/f468f5ab8d61227b1d16faf2719f218a17829ecc))
|
|
56
|
+
|
|
57
|
+
## [1.11.0](https://github.com/balaenis/pi-x-ide/compare/v1.10.0...v1.11.0) (2026-06-14)
|
|
58
|
+
|
|
59
|
+
### Features
|
|
60
|
+
|
|
61
|
+
- **diagnostics:** send diagnostic context to one connected Pi client instead of broadcasting ([9681fd4](https://github.com/balaenis/pi-x-ide/commit/9681fd4dcf88aad1a43a5c1d002219a2477c5279))
|
|
62
|
+
|
|
63
|
+
### Bug Fixes
|
|
64
|
+
|
|
65
|
+
- **diagnostics:** escape primary context line marker to avoid markdown blockquote interpretation ([c2f005e](https://github.com/balaenis/pi-x-ide/commit/c2f005e8cd16c2743838d2e79d0ca0987a2e0a8d))
|
|
66
|
+
|
|
67
|
+
## [1.10.0](https://github.com/balaenis/pi-x-ide/compare/v1.9.0...v1.10.0) (2026-06-14)
|
|
68
|
+
|
|
69
|
+
### Features
|
|
70
|
+
|
|
71
|
+
- **diagnostics:** add configurable fix prompt for IDE diagnostics ([ca8621c](https://github.com/balaenis/pi-x-ide/commit/ca8621c6050c37ed921e20efcb4dd38907b1cbb9))
|
|
72
|
+
- **nvim:** verify sidecar binary against GitHub Release SHA-256 digest ([0cc1d9b](https://github.com/balaenis/pi-x-ide/commit/0cc1d9bf1ee5ef8f30d50374ffe68953c242d4ce))
|
|
73
|
+
- **vscode:** add Fix with Pi suggest quick action for diagnostics ([e8dc6d5](https://github.com/balaenis/pi-x-ide/commit/e8dc6d56543afb1d8019bcede0a540cacd440c6d))
|
|
74
|
+
- **vscode:** add Pi: Send diagnostic quick fix action ([d53d72b](https://github.com/balaenis/pi-x-ide/commit/d53d72bb1030f58da7f82136a75b95da2568f28a))
|
|
75
|
+
- **vscode:** hide pi terminal from user initially and show without stealing focus ([15ca612](https://github.com/balaenis/pi-x-ide/commit/15ca6121a4c25a1ed68cb6631372b5a100c77a7b))
|
|
76
|
+
|
|
77
|
+
### Bug Fixes
|
|
78
|
+
|
|
79
|
+
- **pi:** wrap diagnostic context message with marker on both sides ([592da42](https://github.com/balaenis/pi-x-ide/commit/592da424d16a190c958eac86a70045405e91e936))
|
|
80
|
+
|
|
81
|
+
## [1.9.0](https://github.com/balaenis/pi-x-ide/compare/v1.8.0...v1.9.0) (2026-06-13)
|
|
82
|
+
|
|
83
|
+
### Features
|
|
84
|
+
|
|
85
|
+
- **vscode:** add useTmux setting to open Pi through tmux ([93cec4d](https://github.com/balaenis/pi-x-ide/commit/93cec4de9f2f51312db4c3a4672b2f2ffe2ddc61))
|
|
86
|
+
|
|
87
|
+
### Bug Fixes
|
|
88
|
+
|
|
89
|
+
- **pi/install:** filter out unknown-reason candidates from auto-install ([375449b](https://github.com/balaenis/pi-x-ide/commit/375449b2306d8fa1098a30a0176eff9dc5f602e2))
|
|
90
|
+
|
|
91
|
+
## [1.8.0](https://github.com/balaenis/pi-x-ide/compare/v1.7.0...v1.8.0) (2026-06-12)
|
|
92
|
+
|
|
93
|
+
### Features
|
|
94
|
+
|
|
95
|
+
- **attach:** make TUI attach shortcut configurable via PI_X_IDE_ATTACH_SHORTCUT ([20a7e9c](https://github.com/balaenis/pi-x-ide/commit/20a7e9c80644d4a46cdc4459c7394faa7f3e21e5))
|
|
96
|
+
- **ide:** register Ctrl+Alt+K shortcut in Pi TUI for /ide attach ([9803840](https://github.com/balaenis/pi-x-ide/commit/9803840f73bc965dae3e0e0a53f7fccae173e2d7))
|
|
97
|
+
|
|
98
|
+
## [1.7.0](https://github.com/balaenis/pi-x-ide/compare/v1.6.0...v1.7.0) (2026-06-12)
|
|
99
|
+
|
|
100
|
+
### Features
|
|
101
|
+
|
|
102
|
+
- **zed:** add configurable poll interval env var and clean up env schema ([04d870e](https://github.com/balaenis/pi-x-ide/commit/04d870e88d756a2faea998e741f8893bc95c3a31))
|
|
103
|
+
|
|
104
|
+
## [1.6.0](https://github.com/balaenis/pi-x-ide/compare/v1.5.1...v1.6.0) (2026-06-12)
|
|
105
|
+
|
|
106
|
+
### Features
|
|
107
|
+
|
|
108
|
+
- **mise:** add compile and compile:all tasks ([517e9cd](https://github.com/balaenis/pi-x-ide/commit/517e9cdfe533294f69d71021680b471662104a32))
|
|
109
|
+
- **pi:** limit reconnect attempts and add handshake timeout ([4dc855e](https://github.com/balaenis/pi-x-ide/commit/4dc855e715f1b8bf141a0f055962af53ac581696))
|
|
110
|
+
|
|
111
|
+
## [1.5.1](https://github.com/balaenis/pi-x-ide/compare/v1.5.0...v1.5.1) (2026-06-11)
|
|
112
|
+
|
|
113
|
+
### Bug Fixes
|
|
114
|
+
|
|
115
|
+
- **nvim:** capture sidecar download stderr and handle job start failure ([eae98bf](https://github.com/balaenis/pi-x-ide/commit/eae98bfd7cd313f2e57b4c5665255df6ef30d25f))
|
|
116
|
+
|
|
117
|
+
## [1.5.0](https://github.com/balaenis/pi-x-ide/compare/v1.4.3...v1.5.0) (2026-06-11)
|
|
118
|
+
|
|
119
|
+
### Features
|
|
120
|
+
|
|
121
|
+
- **nvim:** auto-download sidecar binary from GitHub Releases ([85f8e0a](https://github.com/balaenis/pi-x-ide/commit/85f8e0a395cb12f436bf972628d0306e78ee0bf5))
|
|
122
|
+
- **nvim:** compile sidecar to standalone binary via bun ([c7b0763](https://github.com/balaenis/pi-x-ide/commit/c7b07632a5d5a683c48f7517334bc4033cb8d556))
|
|
123
|
+
|
|
124
|
+
## [1.4.3](https://github.com/balaenis/pi-x-ide/compare/v1.4.2...v1.4.3) (2026-06-11)
|
|
125
|
+
|
|
126
|
+
### Bug Fixes
|
|
127
|
+
|
|
128
|
+
- always create a fresh Pi terminal instead of reusing existing ([6ad4438](https://github.com/balaenis/pi-x-ide/commit/6ad4438acdd41ea6464c62a0f0ac2858b0c2f2d7))
|
|
129
|
+
|
|
130
|
+
## [1.4.2](https://github.com/balaenis/pi-x-ide/compare/v1.4.1...v1.4.2) (2026-06-11)
|
|
131
|
+
|
|
132
|
+
### Bug Fixes
|
|
133
|
+
|
|
134
|
+
- **pi:** normalize Windows drive letter to uppercase for path matching ([cb4e8ad](https://github.com/balaenis/pi-x-ide/commit/cb4e8adef41d2d80cf2577c3e33879c5aaceb52b))
|
|
135
|
+
- **pi:** skip extensionless search on Windows to avoid matching shell scripts ([bb47f76](https://github.com/balaenis/pi-x-ide/commit/bb47f761c7388f316c10d2a6eae53b839e486322))
|
|
136
|
+
- **pi:** update install notification on connection success or failure ([46a8901](https://github.com/balaenis/pi-x-ide/commit/46a8901fb271c4c4c6931c02f4da33794224f638))
|
|
137
|
+
- update notification messages to reference `/ide` instead of `/ide auto` ([cc27727](https://github.com/balaenis/pi-x-ide/commit/cc277274d1e0fda23e8fbf3e597de9924d2863f5))
|
|
138
|
+
|
|
139
|
+
## [1.4.1](https://github.com/balaenis/pi-x-ide/compare/v1.4.0...v1.4.1) (2026-06-11)
|
|
140
|
+
|
|
141
|
+
### Bug Fixes
|
|
142
|
+
|
|
143
|
+
- **docs:** replace lazy.nvim `rtp` with `init` block in install instructions ([1f186ff](https://github.com/balaenis/pi-x-ide/commit/1f186fffa6e050e495fcece71a8ddc185a4f217d))
|
|
144
|
+
- **nvim:** safely stop timer with pcall to prevent errors ([22c422e](https://github.com/balaenis/pi-x-ide/commit/22c422e53057eb2ed7c1b2b343851d751a936632))
|
|
145
|
+
|
|
146
|
+
## [1.4.0](https://github.com/balaenis/pi-x-ide/compare/v1.3.0...v1.4.0) (2026-06-11)
|
|
147
|
+
|
|
148
|
+
### Features
|
|
149
|
+
|
|
150
|
+
- **config:** support pi config env overrides ([1aa20c1](https://github.com/balaenis/pi-x-ide/commit/1aa20c1027ec2172c5ca86cdfb4c1fb362d616b1))
|
|
151
|
+
|
|
152
|
+
## [1.3.0](https://github.com/balaenis/pi-x-ide/compare/v1.2.0...v1.3.0) (2026-06-10)
|
|
153
|
+
|
|
154
|
+
### Features
|
|
155
|
+
|
|
156
|
+
- **vscode:** cache selection snapshot when terminal tab is active ([785f834](https://github.com/balaenis/pi-x-ide/commit/785f834a5092ec77944e7659ca0efa2c6a94f74b))
|
|
157
|
+
- **zed:** add Zed editor integration with SQLite polling ([90da726](https://github.com/balaenis/pi-x-ide/commit/90da726a4d997446f3d05d0b3fb9a439572bec9f))
|
|
158
|
+
- **zed:** support WSL+Windows path normalization for cross-OS Zed DB access ([963e975](https://github.com/balaenis/pi-x-ide/commit/963e975eb3e4824b8e46015ae324bfcc8c33f6c0))
|
|
159
|
+
|
|
160
|
+
### Performance Improvements
|
|
161
|
+
|
|
162
|
+
- **zed:** skip DB snapshot when WAL unchanged, checkpoint into snapshot ([76a6dab](https://github.com/balaenis/pi-x-ide/commit/76a6dab7e6af78a534d9f7401901b1df813dd039))
|
|
163
|
+
|
|
164
|
+
## [1.2.0](https://github.com/balaenis/pi-x-ide/compare/v1.1.0...v1.2.0) (2026-06-10)
|
|
165
|
+
|
|
166
|
+
### Features
|
|
167
|
+
|
|
168
|
+
- **vscode:** add editor toolbar button to open Pi terminal ([6289dbd](https://github.com/balaenis/pi-x-ide/commit/6289dbdab4ba8414231cc38c883724f7a56efcb5))
|
|
169
|
+
|
|
170
|
+
### Bug Fixes
|
|
171
|
+
|
|
172
|
+
- **pi:** restrict auto-connect to direct workspace matches ([6899dda](https://github.com/balaenis/pi-x-ide/commit/6899dda792571e2a51402f235d45c7ff3667eeb2))
|
|
173
|
+
|
|
174
|
+
## [1.1.0](https://github.com/balaenis/pi-x-ide/compare/v1.0.5...v1.1.0) (2026-06-10)
|
|
175
|
+
|
|
176
|
+
### Features
|
|
177
|
+
|
|
178
|
+
- **pi:** auto-install IDE extension and add /ide install command ([cbaeb11](https://github.com/balaenis/pi-x-ide/commit/cbaeb11dcd897790f68941b84b297505b370dac6)), closes [#6](https://github.com/balaenis/pi-x-ide/issues/6)
|
|
179
|
+
|
|
180
|
+
## [1.0.5](https://github.com/balaenis/pi-x-ide/compare/v1.0.4...v1.0.5) (2026-06-10)
|
|
181
|
+
|
|
182
|
+
### Bug Fixes
|
|
183
|
+
|
|
184
|
+
- build vsix error display name is taken ([477a044](https://github.com/balaenis/pi-x-ide/commit/477a0447b7c4fbfa0f582c47c649ea0e5c5983bd))
|
|
185
|
+
|
|
186
|
+
## [1.0.4](https://github.com/balaenis/pi-x-ide/compare/v1.0.3...v1.0.4) (2026-06-10)
|
|
187
|
+
|
|
188
|
+
### Bug Fixes
|
|
189
|
+
|
|
190
|
+
- build vsix error ([fab6668](https://github.com/balaenis/pi-x-ide/commit/fab66685ce416fa170a939d74564ca75d480ae50))
|
|
191
|
+
|
|
192
|
+
## [1.0.3](https://github.com/balaenis/pi-x-ide/compare/v1.0.2...v1.0.3) (2026-06-10)
|
|
193
|
+
|
|
194
|
+
### Bug Fixes
|
|
195
|
+
|
|
196
|
+
- force release ([6525d08](https://github.com/balaenis/pi-x-ide/commit/6525d083f661d40a7a9506e8cc93db3fd34a6893))
|
|
197
|
+
|
|
198
|
+
## [1.0.2](https://github.com/balaenis/pi-x-ide/compare/v1.0.1...v1.0.2) (2026-06-10)
|
|
199
|
+
|
|
200
|
+
### Bug Fixes
|
|
201
|
+
|
|
202
|
+
- release workflows ([30f6b70](https://github.com/balaenis/pi-x-ide/commit/30f6b70492746f376b5b0520aefc44be687603d1))
|
|
203
|
+
|
|
204
|
+
## [1.0.1](https://github.com/balaenis/pi-x-ide/compare/v1.0.0...v1.0.1) (2026-06-10)
|
|
205
|
+
|
|
206
|
+
### Bug Fixes
|
|
207
|
+
|
|
208
|
+
- test release pipeline ([2d887b8](https://github.com/balaenis/pi-x-ide/commit/2d887b8a27da44c116e4e6a42c69727c469c873d))
|
|
209
|
+
|
|
210
|
+
## 1.0.0 (2026-06-09)
|
|
211
|
+
|
|
212
|
+
### Features
|
|
213
|
+
|
|
214
|
+
- **ci:** add CI/CD workflows and release automation ([a989bfc](https://github.com/balaenis/pi-x-ide/commit/a989bfc2ed39644d9543e4f8a28ece48a0596612))
|
|
215
|
+
- **pi:** add argument completions for ide command ([bc95e88](https://github.com/balaenis/pi-x-ide/commit/bc95e887172ebea5b86263d330c16bad00de3047))
|
|
216
|
+
- **protocol:** broadcast selection_cleared when no active editor ([3fd4c32](https://github.com/balaenis/pi-x-ide/commit/3fd4c328e906b29c83fb61d8dfe6d84ba753b180))
|
|
217
|
+
- **vscode:** add extension icon and branding assets ([efb71b5](https://github.com/balaenis/pi-x-ide/commit/efb71b5852f6ea81097079c8b42f052a2bd67053))
|
|
218
|
+
- **vscode:** send editor selection snapshot on client init ([a268483](https://github.com/balaenis/pi-x-ide/commit/a2684832ba1f3f36ad73cf45a70ae8b76cc61270))
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Automatically attaches the currently opened or selected file and text range from VS Code, Zed, Neovim, and JetBrains IDEs to the Pi TUI, submitting them as conversation context to the LLM.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
<img width="3822" height="2010" alt="pi-x-ide-guide" src="https://github.com/user-attachments/assets/70abe40d-e4ac-4c2e-aca7-80d2e7867945" />
|
|
8
8
|
|
|
9
9
|
## Installation & Usage
|
|
10
10
|
|
|
@@ -42,17 +42,8 @@ No extension installation is needed. Pi automatically detects Zed when running i
|
|
|
42
42
|
|
|
43
43
|
#### Neovim
|
|
44
44
|
|
|
45
|
-
Neovim support uses a Lua plugin plus a sidecar process.
|
|
46
|
-
|
|
47
|
-
x64 or arm64) from GitHub Releases and verifies it against the release asset's
|
|
48
|
-
SHA-256 digest before caching it. If the download or checksum verification fails,
|
|
49
|
-
or no binary matches your platform, the plugin falls back to the bundled Node.js
|
|
50
|
-
sidecar — Node.js is then required on PATH.
|
|
51
|
-
|
|
52
|
-
Downloaded binaries are cached under `stdpath("cache")/pi-x-ide/` and reused on
|
|
53
|
-
subsequent starts. The optional lazy.nvim build hook uses the bundled binary when
|
|
54
|
-
present; otherwise it checks the release digest on install and update,
|
|
55
|
-
downloading only when the cached binary is missing or stale.
|
|
45
|
+
Neovim support uses a Lua plugin plus a sidecar process. The plugin auto-downloads
|
|
46
|
+
a platform binary on first start and falls back to Node.js if unavailable.
|
|
56
47
|
|
|
57
48
|
**lazy.nvim:**
|
|
58
49
|
|
|
@@ -73,14 +64,10 @@ downloading only when the cached binary is missing or stale.
|
|
|
73
64
|
}
|
|
74
65
|
```
|
|
75
66
|
|
|
76
|
-
> **Note:** The `init` block
|
|
77
|
-
>
|
|
78
|
-
>
|
|
79
|
-
>
|
|
80
|
-
> (`:Lazy build pi-x-ide` to re-run) and downloads only when the cached binary is
|
|
81
|
-
> missing or stale. It is safe to omit: the plugin still downloads the binary
|
|
82
|
-
> lazily on first start and falls back to the Node.js sidecar if the download is
|
|
83
|
-
> unavailable.
|
|
67
|
+
> **Note:** The `init` block adds the plugin subdirectory to the runtime path to
|
|
68
|
+
> work around a Lua module resolution issue with some lazy.nvim versions. The
|
|
69
|
+
> optional `build` hook pre-downloads the sidecar binary; it is safe to omit —
|
|
70
|
+
> the plugin downloads it lazily on first start.
|
|
84
71
|
|
|
85
72
|
**Native package:**
|
|
86
73
|
|
|
@@ -93,25 +80,7 @@ See [Configuration Reference](#neovim-2) for full setup options, commands, and t
|
|
|
93
80
|
|
|
94
81
|
#### JetBrains IDEs
|
|
95
82
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
Run a sandbox IDE:
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
cd ide-plugins/jetbrains
|
|
102
|
-
./gradlew runIde
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Build a plugin ZIP for manual installation:
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
cd ide-plugins/jetbrains
|
|
109
|
-
./gradlew buildPlugin
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
The ZIP is written to `ide-plugins/jetbrains/build/distributions/`. Install it from **Settings | Plugins | ⚙ | Install Plugin from Disk...**.
|
|
113
|
-
|
|
114
|
-
JetBrains MVP support includes live active-file tracking, live selection tracking, `Ctrl+Alt+K` / **Pi x IDE: Attach Selection**, Pi-side `/ide auto`, and **Pi x IDE: Open Pi Terminal**. Diagnostic Quick Fix actions and Pi-side automatic JetBrains plugin installation are not part of the MVP.
|
|
83
|
+
Download the latest JetBrains plugin ZIP(pi-x-ide-jetbrains-\*.zip) from the [latest GitHub Release](https://github.com/balaenis/pi-x-ide/releases/latest), then install it in your JetBrains IDE via **Settings | Plugins | ⚙ | Install Plugin from Disk...**.
|
|
115
84
|
|
|
116
85
|
### Connect Pi & Verify
|
|
117
86
|
|
|
@@ -121,21 +90,26 @@ Start Pi in the **same project directory** as your IDE workspace:
|
|
|
121
90
|
pi
|
|
122
91
|
```
|
|
123
92
|
|
|
124
|
-
Pi auto-loads `pi-x-ide` and connects to your IDE. The TUI
|
|
93
|
+
Pi auto-loads `pi-x-ide` and connects to your IDE. The TUI shows a widget above the
|
|
94
|
+
editor with the current IDE connection and selection state.
|
|
125
95
|
|
|
126
96
|
**Verify it works:**
|
|
127
97
|
|
|
128
98
|
Open a file in your IDE and select some text. The widget should update in real time:
|
|
129
99
|
|
|
130
100
|
```
|
|
131
|
-
|
|
101
|
+
⧉ ⇡ foo.ts#L10-L20
|
|
132
102
|
```
|
|
133
103
|
|
|
134
104
|
Attach the selection from either side: press `Ctrl+Alt+K` (Linux/Windows) or `Cmd+Alt+K` (macOS) in a VS Code-family IDE, press `Ctrl+Alt+K` or run **Pi x IDE: Attach Selection** in JetBrains, use `:PiXIdeAttach` in Neovim, or focus the Pi TUI and press `Ctrl+Alt+K` / run `/ide attach`. The Pi input box should insert `@src/foo.ts#L10-L20`.
|
|
135
105
|
|
|
136
|
-
Type a chat prompt in Pi and submit it. The selected text is injected as LLM context
|
|
106
|
+
Type a chat prompt in Pi and submit it. The selected text is injected as LLM context.
|
|
107
|
+
After submission, the widget changes to
|
|
108
|
+
`⧉ ✓ foo.ts#L10-L20`.
|
|
137
109
|
|
|
138
|
-
|
|
110
|
+
**Diagnostic Quick Fix (VS Code only):** place the cursor on an error or warning,
|
|
111
|
+
open Quick Fix, and choose **Pi: Fix it** to send the diagnostic to Pi and start an
|
|
112
|
+
analysis turn, or **Pi: Send diagnostic** to paste it into the input box.
|
|
139
113
|
|
|
140
114
|
**If the connection doesn't appear:**
|
|
141
115
|
|
|
@@ -143,13 +117,14 @@ For diagnostics in VS Code-family IDEs, connect Pi first, then place the cursor
|
|
|
143
117
|
- If the IDE was started after Pi, reload the IDE window and run `/ide auto` again.
|
|
144
118
|
- Run `/ide` to manually select a connection from the list.
|
|
145
119
|
|
|
146
|
-
### WSL2
|
|
147
|
-
|
|
148
|
-
VS Code Remote WSL works like a same-host setup: the extension host runs inside WSL, writes Linux-side lock files under `~/.pi/pi-x-ide/lock`, and binds the WebSocket server inside the WSL network namespace.
|
|
120
|
+
### WSL2
|
|
149
121
|
|
|
150
|
-
When Pi runs inside WSL2 and
|
|
122
|
+
When Pi runs inside WSL2 and your IDE runs on native Windows, Pi automatically
|
|
123
|
+
discovers the IDE connection across the WSL boundary. No extra configuration is
|
|
124
|
+
needed in most cases.
|
|
151
125
|
|
|
152
|
-
If your WSL networking mode, firewall, or endpoint security blocks the
|
|
126
|
+
If your WSL networking mode, firewall, or endpoint security blocks the automatic
|
|
127
|
+
discovery, set `PI_X_IDE_HOST_OVERRIDE`:
|
|
153
128
|
|
|
154
129
|
```bash
|
|
155
130
|
PI_X_IDE_HOST_OVERRIDE=127.0.0.1 pi
|
|
@@ -191,8 +166,6 @@ Default database paths:
|
|
|
191
166
|
- **Windows:** `%LOCALAPPDATA%\Zed\db\0-stable\db.sqlite`
|
|
192
167
|
- **WSL with Windows Zed:** `/mnt/c/Users/<user>/AppData/Local/Zed/db/0-stable/db.sqlite`
|
|
193
168
|
|
|
194
|
-
When Pi runs in WSL and Zed runs as a Windows app, pi-x-ide normalizes Windows paths (`C:\Users\<user>\project`) to `/mnt/c/Users/<user>/project`, and matching WSL UNC paths to `/home/<user>/project`.
|
|
195
|
-
|
|
196
169
|
#### Neovim
|
|
197
170
|
|
|
198
171
|
```lua
|
|
@@ -201,14 +174,12 @@ require("pi_x_ide").setup({
|
|
|
201
174
|
keymap = "<C-A-k>",
|
|
202
175
|
debounce_ms = 150,
|
|
203
176
|
-- sidecar_cmd = { "node", "/absolute/path/to/pi-x-ide-nvim-sidecar.cjs" },
|
|
204
|
-
-- (defaults to the platform binary; falls back to node + cjs if no binary found)
|
|
205
177
|
-- workspace_folders = { "/path/to/project" },
|
|
206
178
|
})
|
|
207
179
|
```
|
|
208
180
|
|
|
209
181
|
If the sidecar does not start, run `:PiXIdeStatus`, or set `sidecar_cmd` to a
|
|
210
|
-
custom command.
|
|
211
|
-
when no binary matches.
|
|
182
|
+
custom command.
|
|
212
183
|
|
|
213
184
|
**Commands:**
|
|
214
185
|
|
|
@@ -252,13 +223,14 @@ See [schemas/config.json](schemas/config.json) for editor schema guidance. A [co
|
|
|
252
223
|
| Diagnostic Quick Fix | ✅ | ❌ | ❌ | ❌ |
|
|
253
224
|
| Auto-install | ✅ VS Code-family only | N/A | ❌ | ❌ |
|
|
254
225
|
|
|
255
|
-
###
|
|
256
|
-
|
|
257
|
-
After the IDE WebSocket server starts, connection information is written to `~/.pi/pi-x-ide/lock/`.
|
|
226
|
+
### How Discovery Works
|
|
258
227
|
|
|
259
|
-
Pi
|
|
228
|
+
Pi discovers IDE connections via lock files under `~/.pi/pi-x-ide/lock/`. It
|
|
229
|
+
auto-connects when your terminal `cwd` is inside one of the IDE's workspace
|
|
230
|
+
folders. If `cwd` is only a parent directory (e.g. `~/`), run `/ide` to choose a
|
|
231
|
+
connection manually.
|
|
260
232
|
|
|
261
|
-
See [docs/specs/ide-protocol.md](docs/specs/ide-protocol.md) for protocol
|
|
233
|
+
See [docs/specs/ide-protocol.md](docs/specs/ide-protocol.md) for the full protocol.
|
|
262
234
|
|
|
263
235
|
---
|
|
264
236
|
|
|
@@ -353,6 +325,6 @@ This project uses [Release Please](https://github.com/googleapis/release-please)
|
|
|
353
325
|
|
|
354
326
|
See [RELEASE.md](RELEASE.md) for the full release guide.
|
|
355
327
|
|
|
356
|
-
##
|
|
328
|
+
## Reference
|
|
357
329
|
|
|
358
330
|
- [opencode](https://github.com/anomalyco/opencode)
|
package/README.zh-CN.md
CHANGED
|
@@ -42,14 +42,8 @@ PI_X_IDE_AUTO_INSTALL=0
|
|
|
42
42
|
|
|
43
43
|
#### Neovim
|
|
44
44
|
|
|
45
|
-
Neovim 支持由一个 Lua 插件和一个 sidecar
|
|
46
|
-
|
|
47
|
-
x64 或 arm64),并在写入缓存前用 release asset 的 SHA-256 digest 做校验。下载
|
|
48
|
-
或校验失败、或无匹配二进制时,插件降级到内置的 Node.js sidecar — 此时需要
|
|
49
|
-
PATH 中有 Node.js。
|
|
50
|
-
|
|
51
|
-
下载的二进制文件缓存在 `stdpath("cache")/pi-x-ide/` 目录,后续启动直接复用。可选的
|
|
52
|
-
lazy.nvim build 钩子会优先使用插件包内的 bundled binary;如果不存在,则在安装和更新时检查 release digest,仅在缓存二进制缺失或过期时下载。
|
|
45
|
+
Neovim 支持由一个 Lua 插件和一个 sidecar 进程组成。插件首次启动时自动下载
|
|
46
|
+
平台二进制文件,不可用时回退到 Node.js。
|
|
53
47
|
|
|
54
48
|
**lazy.nvim:**
|
|
55
49
|
|
|
@@ -70,9 +64,9 @@ lazy.nvim build 钩子会优先使用插件包内的 bundled binary;如果不
|
|
|
70
64
|
}
|
|
71
65
|
```
|
|
72
66
|
|
|
73
|
-
> **注意:** `init`
|
|
74
|
-
>
|
|
75
|
-
>
|
|
67
|
+
> **注意:** `init` 块将插件子目录加入 runtime path,以规避部分版本 lazy.nvim 的
|
|
68
|
+
> Lua 模块解析兼容性问题。可选的 `build` 钩子会预下载 sidecar 二进制;可以省略
|
|
69
|
+
> — 插件会在首次启动时按需下载。
|
|
76
70
|
|
|
77
71
|
**原生 package:**
|
|
78
72
|
|
|
@@ -85,25 +79,7 @@ lua require("pi_x_ide").setup({ keymap = "<leader>pa" })
|
|
|
85
79
|
|
|
86
80
|
#### JetBrains IDE
|
|
87
81
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
运行 sandbox IDE:
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
cd ide-plugins/jetbrains
|
|
94
|
-
./gradlew runIde
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
构建用于手动安装的插件 ZIP:
|
|
98
|
-
|
|
99
|
-
```bash
|
|
100
|
-
cd ide-plugins/jetbrains
|
|
101
|
-
./gradlew buildPlugin
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
ZIP 会输出到 `ide-plugins/jetbrains/build/distributions/`。在 JetBrains IDE 中通过 **Settings | Plugins | ⚙ | Install Plugin from Disk...** 安装。
|
|
105
|
-
|
|
106
|
-
JetBrains MVP 支持实时活跃文件追踪、实时选区追踪、`Ctrl+Alt+K` / **Pi x IDE: Attach Selection**、Pi 侧 `/ide auto`,以及 **Pi x IDE: Open Pi Terminal**。诊断 Quick Fix 和 Pi 侧自动安装 JetBrains 插件不属于 MVP 范围。
|
|
82
|
+
从 [GitHub 最新 Release](https://github.com/balaenis/pi-x-ide/releases/latest) 下载 JetBrains 插件 ZIP,然后在 JetBrains IDE 中通过 **Settings | Plugins | ⚙ | Install Plugin from Disk...** 安装。
|
|
107
83
|
|
|
108
84
|
### 连接 Pi 并验证
|
|
109
85
|
|
|
@@ -113,21 +89,25 @@ JetBrains MVP 支持实时活跃文件追踪、实时选区追踪、`Ctrl+Alt+K`
|
|
|
113
89
|
pi
|
|
114
90
|
```
|
|
115
91
|
|
|
116
|
-
Pi 自动加载 `pi-x-ide` 并连接 IDE。TUI
|
|
92
|
+
Pi 自动加载 `pi-x-ide` 并连接 IDE。TUI 在编辑器上方显示一个 widget,展示当前
|
|
93
|
+
IDE 连接和选区状态。
|
|
117
94
|
|
|
118
95
|
**验证是否正常:**
|
|
119
96
|
|
|
120
97
|
在 IDE 中打开文件并选中文本,widget 应实时更新:
|
|
121
98
|
|
|
122
99
|
```text
|
|
123
|
-
|
|
100
|
+
⧉ ⇡ foo.ts#L10-L20
|
|
124
101
|
```
|
|
125
102
|
|
|
126
103
|
可以从任一侧附加选区:在 VS Code 系列 IDE 中按 `Ctrl+Alt+K`(Linux/Windows)或 `Cmd+Alt+K`(macOS),在 JetBrains 中按 `Ctrl+Alt+K` 或运行 **Pi x IDE: Attach Selection**,在 Neovim 中使用 `:PiXIdeAttach`,或聚焦 Pi TUI 后按 `Ctrl+Alt+K` / 运行 `/ide attach`。Pi 输入框应插入 `@src/foo.ts#L10-L20`。
|
|
127
104
|
|
|
128
|
-
在 Pi 中输入对话提示并提交,选中文本会作为 LLM
|
|
105
|
+
在 Pi 中输入对话提示并提交,选中文本会作为 LLM 上下文注入。
|
|
106
|
+
提交后 widget 变为 `⧉ ✓ foo.ts#L10-L20`。
|
|
129
107
|
|
|
130
|
-
|
|
108
|
+
**诊断 Quick Fix(仅 VS Code):** 将光标放在 error 或 warning 上,打开 Quick Fix,
|
|
109
|
+
选择 **Pi: Fix it** 将诊断信息发送给 Pi 并启动分析对话,或选择 **Pi: Send diagnostic**
|
|
110
|
+
将其粘贴到输入框。
|
|
131
111
|
|
|
132
112
|
**如果连接未出现:**
|
|
133
113
|
|
|
@@ -135,13 +115,13 @@ IDE: vscode ✓ src/foo.ts#L10-L20 pending
|
|
|
135
115
|
- 如果 IDE 在 Pi 之后启动,reload IDE 窗口后再次运行 `/ide auto`
|
|
136
116
|
- 运行 `/ide` 手动从列表中选择连接
|
|
137
117
|
|
|
138
|
-
### WSL2
|
|
139
|
-
|
|
140
|
-
VS Code Remote WSL 的行为等同于同主机连接:扩展宿主运行在 WSL 内部,在 Linux 侧的 `~/.pi/pi-x-ide/lock` 写入 lock file,并在 WSL 网络命名空间中绑定 WebSocket server。
|
|
118
|
+
### WSL2
|
|
141
119
|
|
|
142
|
-
当 Pi 运行在 WSL2
|
|
120
|
+
当 Pi 运行在 WSL2 中、IDE 运行在原生 Windows 上时,Pi 会自动跨 WSL 边界发现
|
|
121
|
+
IDE 连接。大多数情况下无需额外配置。
|
|
143
122
|
|
|
144
|
-
如果你的 WSL
|
|
123
|
+
如果你的 WSL 网络模式、防火墙或终端安全策略阻止自动发现,可设置
|
|
124
|
+
`PI_X_IDE_HOST_OVERRIDE`:
|
|
145
125
|
|
|
146
126
|
```bash
|
|
147
127
|
PI_X_IDE_HOST_OVERRIDE=127.0.0.1 pi
|
|
@@ -183,8 +163,6 @@ Pi 默认也会在 TUI 中注册 `Ctrl+Alt+K`,作为 `/ide attach` 的快捷
|
|
|
183
163
|
- **Windows:** `%LOCALAPPDATA%\Zed\db\0-stable\db.sqlite`
|
|
184
164
|
- **WSL + Windows 版 Zed:** `/mnt/c/Users/<user>/AppData/Local/Zed/db/0-stable/db.sqlite`
|
|
185
165
|
|
|
186
|
-
当 Pi 运行在 WSL 中而 Zed 是 Windows 应用时,pi-x-ide 会将 Windows 路径(`C:\Users\<user>\project`)规范化为 `/mnt/c/Users/<user>/project`,并将 WSL UNC 路径规范化为 `/home/<user>/project`。
|
|
187
|
-
|
|
188
166
|
#### Neovim
|
|
189
167
|
|
|
190
168
|
```lua
|
|
@@ -193,13 +171,11 @@ require("pi_x_ide").setup({
|
|
|
193
171
|
keymap = "<C-A-k>",
|
|
194
172
|
debounce_ms = 150,
|
|
195
173
|
-- sidecar_cmd = { "node", "/absolute/path/to/pi-x-ide-nvim-sidecar.cjs" },
|
|
196
|
-
-- (默认使用平台二进制文件;找不到时降级到 node + cjs)
|
|
197
174
|
-- workspace_folders = { "/path/to/project" },
|
|
198
175
|
})
|
|
199
176
|
```
|
|
200
177
|
|
|
201
|
-
如果 sidecar 无法启动,请运行 `:PiXIdeStatus`,或设置 `sidecar_cmd`
|
|
202
|
-
命令。插件优先使用平台二进制文件,找不到匹配项时降级到 Node.js。
|
|
178
|
+
如果 sidecar 无法启动,请运行 `:PiXIdeStatus`,或设置 `sidecar_cmd` 为自定义命令。
|
|
203
179
|
|
|
204
180
|
**命令:**
|
|
205
181
|
|
|
@@ -243,13 +219,13 @@ Pi 侧变量可设为真实环境变量或写入 `~/.pi/pi-x-ide/config.json`
|
|
|
243
219
|
| 诊断 Quick Fix | ✅ | ❌ | ❌ | ❌ |
|
|
244
220
|
| 自动安装 | ✅ 仅 VS Code 系列 | N/A | ❌ | ❌ |
|
|
245
221
|
|
|
246
|
-
###
|
|
247
|
-
|
|
248
|
-
IDE WebSocket server 启动后默认将连接信息写入 `~/.pi/pi-x-ide/lock/`。
|
|
222
|
+
### 发现机制
|
|
249
223
|
|
|
250
|
-
Pi 通过
|
|
224
|
+
Pi 通过 `~/.pi/pi-x-ide/lock/` 下的 lock file 发现 IDE 连接。当终端 `cwd`
|
|
225
|
+
位于某个 IDE workspace 目录内时自动连接;如果 `cwd` 只是父级目录(如 `~/`),
|
|
226
|
+
请运行 `/ide` 手动选择连接。
|
|
251
227
|
|
|
252
|
-
|
|
228
|
+
完整协议见 [docs/specs/ide-protocol.md](docs/specs/ide-protocol.md)。
|
|
253
229
|
|
|
254
230
|
---
|
|
255
231
|
|