Konekäännös, jota äidinkielinen puhuja ei ole tarkistanut. Viitteenä on englanninkielinen versio.

API:t ja integraatiotMuokkaa GitHubissaLähde: ide/jetbrains/README.md

Kshana JetBrains-IDE-ympäristöille

Install: Kshana — PNT simulator JetBrains Marketplacessa — tai missä tahansa JetBrains-IDE:ssä Settings → Plugins → Marketplace → search "Kshana".

Natiivi liitännäinen, joka ajaa Kshana-PNT-kestävyyssimulaattoria minkä tahansa JetBrains-IDE:n (IntelliJ IDEA, CLion, RustRover, PyCharm, …) sisältä. Napsauta skenaariota .toml hiiren kakkospainikkeella → Run Kshana Scenario; laatumittarit ja tulos-JSON virtaavat Kshana-työkaluikkunaan.

Täydentää MCP-palvelinta (joka antaa JetBrains AI Assistantille pääsyn Kshanaan): tämä liitännäinen on ihmisen osoita ja napsauta -reitti.

Mitä se tekee#

  • Toiminto Run Kshana Scenario millä tahansa kohteella .toml (editorin ja projektinäkymän kontekstivalikot) — ajaa komennon kshana <file> ja näyttää tulosteen Kshana-työkaluikkunassa.
  • Assess Receiver Trust skenaariolla receiver-trust .toml (kshana receiver-trust): luottamusaikajana, jossa on 0–100 pistemäärä ja syyt aluksesta. Ohjeellinen ohjelmisto, ei tyyppihyväksytty navigointilaite (IEC 61108, IEC 61162): käyttäjä vastaa edelleen aluksen navigoinnista.
  • Generate Training NMEA kohteella nmea-scenario .toml (kshana nmea-scenario): synteettinen siltaympäristön NMEA ja ohjaajan loki kirjoitettuna skenaarion viereen. Vain tekstiä; harjoitukseen, ei koskaan aluksen todellisiin navigointijärjestelmiin.
  • Build Interference Map ADS-B- tai AIS-tiedostolla .csv (projektinäkymä; kysyy, mikä hyväksytty aineisto se on) ja Route Exposure reittitiedostolla (kysyy karttojen kansion). Heikentynyt solu ei tunnista häiriötä syyksi; ei ole ennuste.
  • Export Test-Bench Files skenaariolla .toml (kshana bench-export): ajoneuvon liike, NMEA ja nimetyt tapahtumat laboratorion GNSS-simulaattoria varten, kirjoitettuna skenaarion viereen. Se ei kirjoita signaalia; aja simulaattoria vain siellä, missä se on sallittu.
  • Build Compliance Report ajotuloksella .json (kshana compliance-report) ja Tools → Show Compliance Mapping (kshana compliance-report --mapping): julkisen viitekehyksen vastaavuuskuvaus, näytettynä moottorin oman lausuman kanssa sanasta sanaan.
  • Verify Evidence Pack todistepaketin kansiolla (projektinäkymä; kshana evidence verify): kysyy allekirjoittajan julkisen avaimen (64 heksadesimaalinumeroa tai tiedosto .pub; aina kiinnitetty, liitännäinen ei koskaan hyväksy kiinnittämätöntä allekirjoittajaa) ja valinnaisesti koko istuntolokin. Vain varmennettu tulos luetaan varmennetuksi; ehjä paketti kiinnittämättömällä allekirjoittajalla luetaan ”NOT VERIFIED”.
  • Render Trust Telemetry tuloksella receiver-trust .json (kshana trust-telemetry --result): Prometheus-teksti, CEF/LEEF-syslog-tapahtumat tai Home Assistant MQTT -rivit tulostettuna Kshana-ikkunaan. Mitään ei lähetetä eikä tarjoilla; käynnissä olevat viejät pysyvät komentorivillä.
  • Fit Sensor Parameters from IMU Log paikallaan olevalla IMU-tiedostolla .csv (kshana imu-fit): skenaarioiden hybrid ja fusion kiihtyvyysmittarin ja gyron parametrit sovitettuna Allanin poikkeamalla, tulostettuna Kshana-ikkunaan taulukkona [accel_classical]. Mitään ei kirjoiteta; sovitus on MODELLED.
  • Validate Scenario (kshana --validate), List Scenario Kinds (Tools-valikko; kshana kinds) ja Assess Receiver Stream (alusistunto .toml sekä valitsemasi tallennettu NMEA-loki; kshana receiver-trust live --file, pisteytetty kerran ilman pistoketta ja ilman porttia).
  • Insert Example Scenario (projektinäkymän kansio tai Tools-valikko; kshana example): valitse mukana toimitettu skenaario, ja se kirjoitetaan uutena tiedostona .toml (ei koskaan tiedoston päälle). Export Scenario tiedostolla .toml (SP3, OMM, OEM, CZML, KML, GeoJSON, STK, SigMF; vain simuloitu tuloste), Animate Scenario (HTML tai SVG, avataan selaimessa) ja Import Route reittitiedostolla .geojson (kysyy, mikä skenaario).
  • Create Evidence Pack vastaanottimen luottamuksen istunnolla .toml (kshana receiver-trust evidence): kysyy ikkunan, jo olemassa olevan allekirjoitusavaintiedoston ja tulostekansion. Liitännäinen ei koskaan luo, lue eikä tallenna avainta (kshana evidence keygen pysyy komentorivillä). Attach Timestamp pakettikansiolla (kshana evidence attach-timestamp): Kshana ei tarkista aikaleimapalvelun allekirjoitusta; aja openssl ts -verify itse.
  • Edelleen vain komentorivillä: IQ-komennot, evidence keygen ja receiver-trust live.
  • Alareunan Kshana-työkaluikkuna, joka isännöi ajokonsolia.
  • Ei liitännäisessä: kshana receiver-trust live (pitkään käynnissä oleva virtaprosessi, jossa on portti ja valinnainen TCP-kuuntelija) ja kshana trust-telemetry pysyvät komentorivillä, koska IDE-toiminto ajaa komennon loppuun ja näyttää sen tulosteen; katso docs/MARITIME-TRUST.md.
  • Settings → Tools → Kshana osoittamaan binäärin kshana (tyhjä → ratkaistaan muuttujasta PATH; asenna komennolla cargo install kshana).

Liitännäinen on puhtaasti alustapohjainen (ei kielikohtaisia riippuvuuksia), joten se latautuu jokaiseen JetBrains-IDE:hen, jonka koonti on 243 (2024,3) tai uudempi.

Rakenna ja aja#

Vaatii JDK 17+ (koonti kiinnittää JDK-version 21) ja mukana toimitetun Gradle-wrapperin.

cd ide/jetbrains
./gradlew test          # unit tests (pure CLI helpers)
./gradlew buildPlugin    # assembles build/distributions/kshana-jetbrains-<version>.zip
./gradlew runIde         # launches a sandbox IDE with the plugin loaded
./gradlew verifyPlugin   # JetBrains plugin-verifier compatibility check (downloads IDEs)

verifyPlugin tarkistaa oletuksena since-buildin 2024,3. Muiden linjojen tarkistamiseksi luettele ne muodossa TYPE:VERSION (jokainen IDE on noin 1 GB:n lataus):

KSHANA_VERIFY_IDES="IC:2024.3,IC:2025.2,IU:2026.2.3,IU:263.6259.32" ./gradlew verifyPlugin

Liitännäinen ei käytä yhdelläkään näistä vanhentunutta eikä poistettavaksi merkittyä alustan rajapintaa; pidä se sellaisena (valintaikkuna kulkee kohteen KshanaChooser kautta, ei kohteen Messages.showChooseDialog).

Asenna rakennettu zip valinnalla Settings → Plugins → ⚙ → Install Plugin from Disk….

Rakenne#

build.gradle.kts / settings.gradle.kts / gradle.properties   build config (IntelliJ Platform Gradle Plugin 2.x)
src/main/kotlin/dev/kshana/ide/
  KshanaCli.kt            pure binary-resolution + command helpers (unit-tested)
  KshanaSettings.kt       persisted binary-path setting (app service)
  KshanaConsole.kt        per-project output console (project service)
  KshanaToolWindowFactory.kt   the "Kshana" tool window
  RunScenarioAction.kt    the Run-scenario action
  KshanaRunner.kt         runs one command in the background into the tool window
  MarineActions.kt        receiver trust, training NMEA, interference map, route exposure
  KshanaConfigurable.kt   Settings → Tools → Kshana
src/main/resources/META-INF/plugin.xml   plugin descriptor
src/test/kotlin/.../KshanaCliTest.kt      unit tests

Eristys#

Kuten mcp/ ja xval/, tämä on erillinen Gradle-projekti, joka on jätetty pois julkaistusta crate-paketista kshana (/ide paketin kohdassa exclude); sen koontituloste on git ohittaa sen (gitignore).

Lisenssi: AGPL-3.0-only (tai kaupallinen lisenssi Ashforde OÜ:ltä — katso repositorion LICENSING.md).