Initialize Harmness Browser JetBrains plugin skeleton

- Gradle + Kotlin + IntelliJ Platform SDK build
- JCEF embedded browser tool window with configurable start URL
- Settings page (Tools > Harmness Browser)
- JS<->Java bridge scaffold (window.harmnessBridge)
- Vite + React + TypeScript web scaffold for embedded page
- README: build, register, upload to Marketplace, install guide
This commit is contained in:
harmness
2026-09-10 13:27:43 +08:00
commit cbe41e4f4f
23 changed files with 1125 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
<idea-plugin>
<id>com.harmness.toolwindow</id>
<name>Harmness Browser</name>
<vendor>harmness</vendor>
<description>
Embed a configurable browser panel (e.g. a local Harmness instance) directly inside
JetBrains IDE sidebars. Enables seamless AI-assisted coding inside PyCharm / IntelliJ
IDEA without switching to a separate browser window.
</description>
<!--
IDE version compatibility:
sinceBuild / untilBuild 控制插件兼容的 IDE 版本范围。
这里要求 2024.2 及以上、2024.3.* 及以下。
如需支持更老版本,请参考 https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
-->
<idea-version since-build="242" until-build="243.*"/>
<!-- 依赖 platform -->
<depends>com.intellij.modules.platform</depends>
<!-- 工具窗口扩展点 -->
<extensions defaultExtensionNs="com.intellij">
<toolWindow
id="Harmness Browser"
icon="/icons/harmness.svg"
factoryClass="com.harmness.toolwindow.HarmnessToolWindowFactory"
anchor="right"
condition="class#==com.intellij.ui.jcef.JBCefApp"
/>
<!-- 插件设置页:Settings | Tools | Harmness Browser -->
<applicationConfigurable
parent="tools"
instance="com.harmness.toolwindow.HarmnessSettingsConfigurable"
id="com.harmness.toolwindow.HarmnessSettingsConfigurable"
displayName="Harmness Browser"/>
<!-- 持久化组件 -->
<applicationService
serviceImplementation="com.harmness.toolwindow.SettingsState"/>
<applicationService
serviceImplementation="com.harmness.toolwindow.WindowFocusService"/>
</extensions>
</idea-plugin>