Dropstone Docs

LSP சேவையகங்கள்

Dropstone உங்கள் LSP சேவையகங்களுடன் ஒருங்கிணைக்கிறது.

Dropstone உங்கள் Language Server Protocol (LSP) உடன் ஒருங்கிணைந்து LLM உங்கள் கோட்பேஸுடன் தொடர்பு கொள்ள உதவ முடியும். இது LLM க்கு கருத்து வழங்க நির்ணயங்களைப் பயன்படுத்துகிறது.


உள்ளமைக்கப்பட்ட

Dropstone பிரபலமான மொழிகளுக்கு பல உள்ளமைக்கப்பட்ட LSP சேவையகங்களுடன் வருகிறது:

LSP சேவையகம்நீட்டிப்புகள்தேவைகள்
astro.astroAstro திட்டங்களுக்கு தானாக நிறுவுகிறது
bash.sh, .bash, .zsh, .kshbash-language-server தானாக நிறுவுகிறது
clangd.c, .cpp, .cc, .cxx, .c++, .h, .hpp, .hh, .hxx, .h++C/C++ திட்டங்களுக்கு தானாக நிறுவுகிறது
csharp.cs, .csx.NET SDK நிறுவப்பட்டுள்ளது
clojure-lsp.clj, .cljs, .cljc, .ednclojure-lsp கட்டளை கிடைக்கிறது
dart.dartdart கட்டளை கிடைக்கிறது
deno.ts, .tsx, .js, .jsx, .mjsdeno கட்டளை கிடைக்கிறது (deno.json/deno.jsonc தானாக கண்டறிகிறது)
elixir-ls.ex, .exselixir கட்டளை கிடைக்கிறது
eslint.ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vueதிட்டத்தில் eslint சார்பு
fsharp.fs, .fsi, .fsx, .fsscript.NET SDK நிறுவப்பட்டுள்ளது
gleam.gleamgleam கட்டளை கிடைக்கிறது
gopls.gogo கட்டளை கிடைக்கிறது
hls.hs, .lhshaskell-language-server-wrapper கட்டளை கிடைக்கிறது
jdtls.javaJava SDK (version 21+) நிறுவப்பட்டுள்ளது
julials.jljulia மற்றும் LanguageServer.jl நிறுவப்பட்டுள்ளது
kotlin-ls.kt, .ktsKotlin திட்டங்களுக்கு தானாக நிறுவுகிறது
lua-ls.luaLua திட்டங்களுக்கு தானாக நிறுவுகிறது
nixd.nixnixd கட்டளை கிடைக்கிறது
ocaml-lsp.ml, .mliocamllsp கட்டளை கிடைக்கிறது
oxlint.ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .cts, .vue, .astro, .svelteதிட்டத்தில் oxlint சார்பு
php intelephense.phpPHP திட்டங்களுக்கு தானாக நிறுவுகிறது
prisma.prismaprisma கட்டளை கிடைக்கிறது
pyright.py, .pyipyright சார்பு நிறுவப்பட்டுள்ளது
razor.razor, .cshtml.NET SDK மற்றும் VS Code C# நீட்டிப்பு நிறுவப்பட்டுள்ளது
ruby-lsp (rubocop).rb, .rake, .gemspec, .ruruby மற்றும் gem கட்டளைகள் கிடைக்கிறது
rust.rsrust-analyzer கட்டளை கிடைக்கிறது
sourcekit-lsp.swift, .objc, .objcppswift நிறுவப்பட்டுள்ளது (macOS இல் xcode)
svelte.svelteSvelte திட்டங்களுக்கு தானாக நிறுவுகிறது
terraform.tf, .tfvarsGitHub வெளியீடுகளிலிருந்து தானாக நிறுவுகிறது
tinymist.typ, .typcGitHub வெளியீடுகளிலிருந்து தானாக நிறுவுகிறது
typescript.ts, .tsx, .js, .jsx, .mjs, .cjs, .mts, .ctsதிட்டத்தில் typescript சார்பு
vue.vueVue திட்டங்களுக்கு தானாக நிறுவுகிறது
yaml-ls.yaml, .ymlRed Hat yaml-language-server தானாக நிறுவுகிறது
zls.zig, .zonzig கட்டளை கிடைக்கிறது

LSP இயக்கப்பட்டிருக்கும்போது, மேலே உள்ள கோப்பு நீட்டிப்புகளில் ஒன்று கண்டறியப்பட்டு தேவைகள் பூர்த்தி செய்யப்பட்டால் சேவையகங்கள் தொடங்குகின்றன.


இது எவ்வாறு செயல்படுகிறது

LSP இயக்கப்பட்டிருக்கும்போது dropstone ஒரு கோப்பைத் திறக்கும்போது, இது:

  1. கோப்பு நீட்டிப்பை அனைத்து இயக்கப்பட்ட LSP சேவையகங்களுக்கு எதிராக சரிபார்க்கிறது.
  2. ஏற்கனவே இயங்கவில்லை என்றால் பொருத்தமான LSP சேவையகத்தைத் தொடங்குகிறது.

கட்டமைக்க

உங்கள் dropstone கட்டமைப்பில் lsp பிரிவின் மூலம் LSP சேவையகங்களை இயக்கி தனிப்பயனாக்க முடியும்.

அனைத்து உள்ளமைக்கப்பட்ட LSP சேவையகங்களை இயக்க, lsptrue ஆக அமைக்கவும்.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "lsp": true
}

உள்ளமைக்கப்பட்டவற்றை இயக்கியே வைத்துக்கொண்டு மேலெழுதுதல்கள் அல்லது தனிப்பயன் சேவையகங்களை கட்டமைக்க ஒரு பொருளைப் பயன்படுத்தவும்.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "lsp": {}
}

ஒவ்வொரு கட்டமைக்கப்பட்ட LSP சேவையக உள்ளீடு பின்வருவனவற்றை ஆதரிக்கிறது:

சேவையக உள்ளீடுகளுக்கு command தேவை, அவை ஒரு சேவையகத்தை முடக்கும் வரை.

சொத்துவகைவிளக்கம்
disabledbooleanLSP சேவையகத்தை முடக்க இதை true ஆக அமைக்கவும்
commandstring[]LSP சேவையகத்தைத் தொடங்க கட்டளை
extensionsstring[]இந்த LSP சேவையகம் கையாள வேண்டிய கோப்பு நீட்டிப்புகள்
envobjectசேவையகத்தைத் தொடங்கும்போது அமைக்க சூழல் மாறிகள்
initializationobjectLSP சேவையகத்திற்கு அனுப்ப ஆரம்ப விருப்பங்கள்

சில உதாரணங்களைப் பார்ப்போம்.


சூழல் மாறிகள்

LSP சேவையகத்தைத் தொடங்கும்போது சூழல் மாறிகளை அமைக்க env சொத்தைப் பயன்படுத்தவும்:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "lsp": {
    "rust": {
      "command": ["rust-analyzer"],
      "env": {
        "RUST_LOG": "debug"
      }
    }
  }
}

ஆரம்ப விருப்பங்கள்

LSP சேவையகத்திற்கு ஆரம்ப விருப்பங்களை அனுப்ப initialization சொத்தைப் பயன்படுத்தவும். இவை LSP initialize கோரிக்கையின் போது அனுப்பப்படும் சேவையக-குறிப்பிட்ட அமைப்புகள்:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "lsp": {
    "custom-lsp": {
      "command": ["custom-lsp-server", "--stdio"],
      "extensions": [".custom"],
      "initialization": {
        "preferences": {
          "importModuleSpecifierPreference": "relative"
        }
      }
    }
  }
}

Note:

ஆரம்ப விருப்பங்கள் LSP சேவையகத்தைப் பொறுத்து மாறுபடும். கிடைக்கும் விருப்பங்களுக்கு உங்கள் LSP சேவையகத்தின் ஆவணங்களைச் சரிபார்க்கவும்.


LSP சேவையகங்களை முடக்குதல்

lsp தவிர்க்கப்பட்டால், அனைத்து LSP சேவையகங்களும் முடக்கப்படும். மற்றொரு கட்டமைப்பு அவற்றை இயக்கிய பிறகு அனைத்து LSP சேவையகங்களையும் முடக்க, lspfalse ஆக அமைக்கவும்:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "lsp": false
}

குறிப்பிட்ட LSP சேவையகத்தை முடக்க, disabledtrue ஆக அமைக்கவும்:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "lsp": {
    "typescript": {
      "disabled": true
    }
  }
}

தனிப்பயன் LSP சேவையகங்கள்

கட்டளை மற்றும் கோப்பு நீட்டிப்புகளைக் குறிப்பிடுவதன் மூலம் தனிப்பயன் LSP சேவையகங்களைச் சேர்க்க முடியும்:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "lsp": {
    "custom-lsp": {
      "command": ["custom-lsp-server", "--stdio"],
      "extensions": [".custom"]
    }
  }
}

கூடுதல் தகவல்

PHP Intelephense

PHP Intelephense உரிமை விசையின் மூலம் பிரீமியம் அம்சங்களை வழங்குகிறது. உரிமை விசையை பின்வரும் இடத்தில் ஒரு உரை கோப்பில் வைப்பதன் மூலம் வழங்க முடியும்:

  • macOS/Linux இல்: $HOME/intelephense/license.txt
  • Windows இல்: %USERPROFILE%/intelephense/license.txt

கோப்பு கூடுதல் உள்ளடக்கம் இல்லாமல் உரிமை விசையை மட்டுமே கொண்டிருக்க வேண்டும்.

Ctrl+I