## 🚀 EDT MCP Server
1C:EDT用のMCP(Model Context Protocol)サーバープラグインです。AIアシスタント(Claude、GitHub Copilot、Cursorなど)がEDTワークスペースとやり取りできるようになります。
## 🚀 クイックスタート
このセクションでは、EDT MCP Serverのインストールと設定、AIアシスタントとの接続方法について説明します。
## ✨ 主な機能
- 🔧 **MCP Protocol 2025-11-25** - SSEサポート付きのストリーミング可能なHTTPトランスポート
- 📊 **プロジェクト情報** - ワークスペースのプロジェクトと構成プロパティを一覧表示
- 🔴 **エラー報告** - フィルターを使ってエラー、警告、問題の概要を取得
- 📝 **チェックの説明** - Markdownファイルからチェックのドキュメントを取得
- 🔄 **プロジェクトの再検証** - 検証がハングしたときに再検証をトリガー
- 🔖 **ブックマークとタスク** - ブックマークとTODO/FIXMEマーカーにアクセス
- 💡 **コンテンツアシスト** - 任意のコード位置で型情報、メソッドヒント、プラットフォームのドキュメントを取得
- 🧪 **クエリ検証** - プロジェクトのコンテキストで1Cクエリテキストを検証(構文 + セマンティックエラー、オプションのDCSモード)
- 🧩 **BSLコード分析** - モジュールを閲覧、構造を検査、メソッドを読み書き、コードを検索、呼び出し階層を分析
- 🖼️ **フォームのスクリーンショット取得** - フォームのWYSIWYGエディターからPNGスクリーンショットを取得して視覚的に検査
- 🚀 **アプリケーション管理** - アプリケーションを取得、データベースを更新、デバッグモードで起動
- 🎯 **ステータスバー** - ツール名、実行時間、インタラクティブなコントロールを含むリアルタイムのサーバーステータス
- ⚡ **中断可能な操作** - 長時間実行される操作をキャンセルし、AIエージェントに信号を送信
- 🏷️ **メタデータタグ** - カスタムタグでオブジェクトを整理、ナビゲーターをフィルター、キーボードショートカット(Ctrl+Alt+1-0)、マルチセレクトサポート
- 📁 **メタデータグループ** - メタデータコレクションごとにナビゲーターツリーにカスタムフォルダー階層を作成
- ✏️ **メタデータのリファクタリング** - BSLコード、フォーム、メタデータ全体で完全なカスケード更新を伴うメタデータオブジェクトの名前変更/削除;既存のオブジェクトに新しい属性を追加
## 📦 インストール
**EDT 2025.2.0以上のみ対応**
### アップデートサイトからのインストール
1. EDTで **Help → Install New Software...** を選択
2. アップデートサイトのURL `https://ditrixnew.github.io/EDT-MCP/` を追加
3. **EDT MCP Server Feature** を選択
4. EDTを再起動
### Windowsコマンドラインからのインストール - 高速な「ワンショット」インストール
EDTを閉じてから以下のコマンドを実行します。
```bash
rem ここで "%VER_EDT% = 2025.2.3+30" は例です - 実際のバージョンを設定してください!
set VER_EDT=2025.2.3+30
"\your\path\to\EDT\components\1c-edt-%VER_EDT%-x86_64\1cedt.exe" -nosplash ^
-application org.eclipse.equinox.p2.director ^
-repository https://ditrixnew.github.io/EDT-MCP/ ^
-installIU com.ditrix.edt.mcp.server.feature.feature.group ^
-profileProperties org.eclipse.update.reconcile=true
インストール結果
インストールが正常に完了すると、以下のような画面が表示されます。
インストール後、EDTは自動的にアップデートサイトを監視し、利用可能なアップデートを検出すると自動的にインストールします。また、 Help → About → Installation Details → Select MCP → Update から手動で確認することもできます。
設定
Window → Preferences → MCP Server に移動して以下の設定を行います。
- Server Port:HTTPポート(デフォルト: 8765)
- Check descriptions folder:チェックの説明のMarkdownファイルへのパス
- Auto-start:EDT起動時にサーバーを自動起動
- Default result limit:ツールが返す結果のデフォルトの数(デフォルト: 100)
- Maximum result limit:要求できる結果の最大数(デフォルト: 1000)
- Plain text mode (Cursor compatibility):MCPリソースをサポートしていないAIクライアント向けに、結果を埋め込みリソースではなくプレーンテキストで返す
- Show tags in Navigator:ナビゲーターツリーにタグを装飾として表示
- Tag decoration style:タグの表示方法 — すべてのタグを接尾辞として表示、最初のタグのみ表示、またはタグの数を表示
ステータスバーコントロール
MCPサーバーのステータスバーには、インタラクティブなコントロールとともにリアルタイムの実行ステータスが表示されます。
ステータスインジケーター:
- 🟢 緑色 - サーバーが実行中でアイドル状態
- 🟡 黄色点滅 - ツールが実行中
- ⚪ 灰色 - サーバーが停止している
ユーザー信号コントロール - ツール実行中にAIエージェントに信号を送信
ツール実行中:
- ツール名(例:
MCP: update_database)が表示されます。
- 経過時間がMM:SS形式で表示されます。
- クリックするとコントロールメニューにアクセスできます。
ツールが実行中のときは、AIエージェントに信号を送信してMCP呼び出しを中断することができます。
| ボタン |
説明 |
使用タイミング |
| Cancel Operation |
MCP呼び出しを停止し、エージェントに通知 |
長時間実行される操作をキャンセルしたいとき |
| Retry |
エージェントに操作を再試行するように指示 |
EDTでエラーが発生し、再試行したいとき |
| Continue in Background |
操作が長時間実行されることをエージェントに通知 |
エージェントに定期的にステータスを確認させたいとき |
| Ask Expert |
停止してエージェントに相談するように要求 |
ガイダンスを提供する必要があるとき |
| Send Custom Message... |
エージェントにカスタムメッセージを送信 |
任意のカスタム指示のため |
動作方法:
- ボタンをクリックすると、エージェントに送信されるメッセージが表示されるダイアログが表示されます。
- 送信前にメッセージを編集することができます。
- MCP呼び出しは直ちに中断され、エージェントに制御が戻されます。
- EDTの操作はバックグラウンドで続行されます。
- エージェントは以下のような応答を受け取ります。
USER SIGNAL: Your message here
Signal Type: CANCEL
Tool: update_database
Elapsed: 20s
Note: The EDT operation may still be running in background.
使用例:
- エージェントをブロックする長時間実行される操作(完全なデータベース更新、プロジェクト検証)
- エージェントに追加の指示を与える必要があるとき
- EDTがエラーダイアログを表示し、エージェントに再試行させたいとき
- エージェントの焦点を別のタスクに切り替えたいとき
AIアシスタントの接続
VS Code / GitHub Copilot
.vscode/mcp.json を作成します。
{
"servers": {
"EDT MCP Server": {
"type": "sse",
"url": "http://localhost:8765/mcp"
}
}
}
その他のAIアシスタント - Cursor, Claude Code, Claude Desktop
Cursor IDE
注意: CursorはMCP埋め込みリソースをサポートしていません。EDTの設定で "Plain text mode (Cursor compatibility)" を有効にしてください。 Window → Preferences → MCP Server。
.cursor/mcp.json を作成します。
{
"mcpServers": {
"EDT MCP Server": {
"url": "http://localhost:8765/mcp"
}
}
}
Claude Code
注意: .claude.json ファイルを編集することで、特定のプロジェクトまたは任意のプロジェクト(ルート)にMCPを追加することができます。mcpServersセクションがない場合は追加してください。
.claude.json(Windowsでは %USERPROFILE%\.claude.json)に以下を追加します。
"mcpServers": {
"EDT MCP Server": {
"type": "http",
"url": "http://localhost:8765/mcp"
}
}
Claude Desktop
claude_desktop_config.json に以下を追加します。
{
"mcpServers": {
"EDT MCP Server": {
"url": "http://localhost:8765/mcp"
}
}
}
Cline - VSCode用拡張機能
{
"mcpServers": {
"EDTMCPServer": {
"type": "streamableHttp",
"url": "http://localhost:8765/mcp"
}
}
}
利用可能なツール
| ツール |
説明 |
get_edt_version |
現在のEDTバージョンを返す |
list_projects |
ワークスペースのプロジェクトとそのプロパティを一覧表示 |
get_configuration_properties |
1Cの構成プロパティを取得 |
get_project_errors |
重大度、チェックID、オブジェクトのフィルターを使用してEDTの問題を返す |
get_problem_summary |
プロジェクトと重大度でグループ化された問題の数 |
clean_project |
プロジェクトのマーカーをクリーンアップし、完全な再検証をトリガー |
revalidate_objects |
FQN(例: "Document.MyDoc")で特定のオブジェクトを再検証 |
get_bookmarks |
ワークスペースのブックマークを返す |
get_tasks |
TODO/FIXMEタスクマーカーを返す |
get_check_description |
.mdファイルからチェックのドキュメントを返す |
get_content_assist |
コンテンツアシストの提案(型情報、メソッドヒント)を取得 |
get_platform_documentation |
プラットフォームの型のドキュメント(メソッド、プロパティ、コンストラクター)を取得 |
get_metadata_objects |
1Cの構成からメタデータオブジェクトのリストを取得 |
get_metadata_details |
メタデータオブジェクトの詳細なプロパティ(属性、表形式セクションなど)を取得 |
find_references |
メタデータオブジェクトへのすべての参照を検索(メタデータ、BSLコード、フォーム、ロールなど) — トップレベルのオブジェクトのみ |
rename_metadata_object |
メタデータオブジェクトまたは属性の名前を変更し、BSLコード、フォーム、メタデータ全体で完全なリファクタリングを行います。プレビュー + 確認のワークフロー |
delete_metadata_object |
メタデータオブジェクトまたは属性を削除し、参照をクリーンアップします。プレビュー + 確認のワークフロー |
add_metadata_attribute |
メタデータオブジェクト(カタログ、ドキュメント、レジスターなど)に新しい属性を追加 |
get_tags |
プロジェクトで定義されたすべてのタグのリストを取得し、説明とオブジェクトの数を表示 |
get_objects_by_tags |
タグでフィルターされたメタデータオブジェクトを取得し、タグの説明とオブジェクトのFQNを表示 |
get_applications |
プロジェクトのアプリケーション(情報ベース)のリストを取得し、更新状態を表示 |
update_database |
データベース(情報ベース)を完全または増分更新モードで更新 |
debug_launch |
アプリケーションをデバッグモードで起動(起動前に自動的にデータベースを更新) |
get_form_screenshot |
フォームのWYSIWYGエディターのPNGスクリーンショットを取得(埋め込み画像リソース) |
list_modules |
プロジェクト内のすべてのBSLモジュールをモジュールタイプと親オブジェクトとともに一覧表示 |
get_module_structure |
BSLモジュールの構造を取得:手続き/関数、シグネチャ、リージョン、パラメーター |
read_module_source |
BSLモジュールのソースコードを行番号付きで読み取ります(フルファイルまたは行範囲) |
write_module_source |
BSLソースコードをメタデータオブジェクトのモジュールに書き込みます(検索置換、置換、追加)。構文チェック付き |
read_method_source |
BSLモジュールから特定の手続き/関数を名前で読み取ります |
search_in_code |
BSLモジュール全体で全文/正規表現検索を行い、出力モードを指定できます:完全、カウント、ファイル |
get_method_call_hierarchy |
セマンティックBSL分析を使用してメソッドの呼び出し階層を検索 |
go_to_definition |
シンボルの定義に移動します(名前でメソッド、FQNでメタデータオブジェクト) |
get_symbol_info |
BSLコード内の特定の位置にあるシンボルに関する型/ホバー情報を取得します(推論された型、シグネチャ、ドキュメント) |
validate_query |
プロジェクトのコンテキストで1Cクエリテキストを検証します(構文 + セマンティックエラー、オプションのDCSモード) |
ツールの詳細 - 各ツールのパラメーターと使用例
コンテンツアシストツール
get_content_assist - BSLコード内の特定の位置でコンテンツアシストの提案を取得します。型情報、利用可能なメソッド、プロパティ、およびプラットフォームのドキュメントを返します。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
filePath |
はい |
src/ フォルダーからの相対パス(例: CommonModules/MyModule/Module.bsl) |
line |
はい |
行番号(1から始まる) |
column |
はい |
列番号(1から始まる) |
limit |
いいえ |
返す最大提案数(デフォルト: 設定から) |
offset |
いいえ |
最初のN個の提案をスキップ(ページング用、デフォルト: 0) |
contains |
いいえ |
表示文字列に含まれる部分文字列でフィルター(カンマ区切り、例: Insert,Add) |
extendedDocumentation |
いいえ |
完全なドキュメントを返す(デフォルト: false、表示文字列のみ) |
重要な注意事項:
- まずファイルを保存する - EDTは正確な提案を提供するためにディスクから現在のコンテンツを読み取る必要があります。
- 列位置 - メソッド/プロパティの提案を得るには、ドット (
.) の後にカーソルを置きます。
- ページング -
offset を使用して次のバッチの提案を取得します(例: 最初の呼び出しで limit=5、2回目の呼び出しで offset=5、limit=5)。
- フィルタリング -
contains を使用してメソッド/プロパティ名でフィルターをかけます(大文字と小文字を区別しません)。
- 動作対象:
- グローバルなプラットフォームメソッド(例:
NStr(, Format()
- ドットの後のメソッド(例:
Structure.Insert, Array.Add)
- オブジェクトのプロパティとフィールド
- 構成オブジェクトとモジュール
検証ツール
clean_project: ディスクからプロジェクトを更新し、すべての検証マーカーをクリアし、EDTのICheckSchedulerを使用して完全な再検証をトリガーします。
revalidate_objects: 特定のメタデータオブジェクトをそのFQNで再検証します。
Document.MyDocument, Catalog.MyCatalog, CommonModule.MyModule
Document.MyDoc.Form.MyForm のようなネストされたオブジェクトもサポート
validate_query: プロジェクトのコンテキストでクエリ言語のテキストを検証し、構文/セマンティックエラーを返します。
- パラメーター:
projectName(必須)、queryText(必須)、dcsMode(オプション、デフォルト false)
dcsMode=true を使用してデータ構成システム(DCS)クエリを検証します。
プロジェクトエラーツール
get_project_errors - 複数のフィルターオプションを使用してEDTから詳細な構成問題を取得します。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
いいえ |
プロジェクト名でフィルター |
severity |
いいえ |
重大度でフィルター: ERRORS, BLOCKER, CRITICAL, MAJOR, MINOR, TRIVIAL |
checkId |
いいえ |
チェックIDの部分文字列でフィルター(例: ql-temp-table-index) |
objects |
いいえ |
オブジェクトのFQNの配列でフィルター。指定されたオブジェクトからのエラーのみを返します。 |
limit |
いいえ |
最大結果数(デフォルト: 100、最大: 1000) |
オブジェクトフィルターの形式:
- FQN文字列の配列:
["Document.SalesOrder", "Catalog.Products"]
- 大文字と小文字を区別しない部分一致
- エラーの位置(objectPresentation)に対して一致
- FQNの例:
Document.SalesOrder - ドキュメント内のすべてのエラー
Catalog.Products - カタログ内のすべてのエラー
CommonModule.MyModule - 共通モジュール内のすべてのエラー
Document.SalesOrder.Form.ItemForm - 特定のフォーム内のエラー
プラットフォームドキュメントツール
get_platform_documentation - プラットフォームの型(ValueTable、Array、Structure、Queryなど)および組み込み関数(FindFiles、Message、Formatなど)のドキュメントを取得します。
パラメーター:
| パラメーター |
必須 |
説明 |
typeName |
はい |
型または関数名(例: ValueTable, Array, FindFiles, Message) |
category |
いいえ |
カテゴリ: type(プラットフォームの型)、builtin(組み込み関数)。デフォルト: type |
projectName |
いいえ |
EDTプロジェクト名(指定されていない場合は最初に利用可能なプロジェクトを使用) |
memberName |
いいえ |
メンバー名でフィルター(部分一致) - type カテゴリのみ |
memberType |
いいえ |
フィルター: method, property, constructor, event, all(デフォルト: all) - type カテゴリのみ |
language |
いいえ |
出力言語: en または ru(デフォルト: en) |
limit |
いいえ |
最大結果数(デフォルト: 50) - type カテゴリのみ |
メタデータオブジェクトツール
get_metadata_objects - 1Cの構成からメタデータオブジェクトのリストを取得します。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
metadataType |
いいえ |
フィルター: all, documents, catalogs, informationRegisters, accumulationRegisters, commonModules, enums, constants, reports, dataProcessors, exchangePlans, businessProcesses, tasks, commonAttributes, eventSubscriptions, scheduledJobs(デフォルト: all) |
nameFilter |
いいえ |
部分的な名前一致フィルター(大文字と小文字を区別しません) |
limit |
いいえ |
最大結果数(デフォルト: 100) |
language |
いいえ |
シノニムの言語コード(例: en, ru)。指定されていない場合は構成のデフォルトを使用 |
メタデータ詳細ツール
get_metadata_details - メタデータオブジェクトの詳細なプロパティを取得します。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
objectFqns |
はい |
FQNの配列(例: ["Catalog.Products", "Document.SalesOrder"]) |
full |
いいえ |
すべてのプロパティを返す (true) またはキー情報のみ返す (false)。デフォルト: false |
language |
いいえ |
シノニムの言語コード。指定されていない場合は構成のデフォルトを使用 |
参照検索ツール
find_references - メタデータオブジェクトへのすべての参照を検索します。オブジェクトが使用されているすべての場所を返します: 他のメタデータオブジェクト、BSLコード、フォーム、ロール、サブシステムなど。EDTの組み込みの「参照を検索」機能と一致します。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
objectFqn |
はい |
完全修飾名(例: Catalog.Products, Document.SalesOrder, CommonModule.Common) |
limit |
いいえ |
カテゴリごとの最大結果数(デフォルト: 100、最大: 500) |
EDT互換形式の参照を含むMarkdownを返します:
# References to Catalog.Items
**Total references found:** 122
- Catalog.ItemKeys - Attributes.Item.Type - Type: types
- Catalog.ItemKeys.Form.ChoiceForm.Form - Items.List.Item.Data path - Type: types
- Catalog.Items - Attributes.PackageUnit.Choice parameter links - Ref
- Catalog.Items.Form.ItemForm.Form - Items.GroupTop.GroupMainAttributes.Code.Data path - Type: types
- CommonAttribute.Author - Content - metadata
- Configuration - Catalogs - catalogs
- DefinedType.typeItem - Type - Type: types
- EventSubscription.BeforeWrite_CatalogsLockDataModification - Source - Type: types
- Role.FullAccess.Rights - Role rights - object
- Subsystem.Settings.Subsystem.Items - Content - content
### BSL Modules
- CommonModules/GetItemInfo/Module.bsl [Line 199; Line 369; Line 520]
- Catalogs/Items/Forms/ListForm/Module.bsl [Line 18; Line 19]
含まれる参照タイプ:
- メタデータ参照 - 属性、フォーム項目、コマンドパラメーター、型の説明
- 型の使用 - 定義された型、特性タイプのチャート、型の構成
- 共通属性 - 共通属性のコンテンツに含まれるオブジェクト
- イベントサブスクリプション - サブスクリプションのソースオブジェクト
- ロール - ロールの権限を持つオブジェクト
- サブシステム - サブシステムのコンテンツ
- BSLコード - 行番号付きのBSLモジュール内の参照
注意: find_references はトップレベルのメタデータオブジェクトのみをサポートしています(例: Catalog.DataAreas, CommonModule.Saas)。Catalog.DataAreas.Attribute.DataAreaStatus のようなサブオブジェクトのFQNを渡すと、サブオブジェクトはサポートされていないことを示す説明的なエラーが返されます。属性やネストされたオブジェクトを操作するには、rename_metadata_object または delete_metadata_object を使用してください。
メタデータリファクタリングツール
メタデータオブジェクト名前変更ツール
rename_metadata_object - メタデータオブジェクトまたは属性の名前を変更し、完全なリファクタリングサポートを提供します。BSLコード、フォーム、およびメタデータ内のすべての参照が自動的に更新されます。
ワークフロー:
confirm を指定せずに呼び出してすべての変更ポイントをプレビューします。
- 変更ポイントのインデックスを確認し、必要に応じて
disableIndices で一部をスキップします。
confirm=true で呼び出して変更を適用します。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
objectFqn |
はい |
名前を変更するオブジェクトのFQN。トップレベル: Catalog.Products。ネストされた: Document.SalesOrder.Attribute.Amount |
newName |
はい |
オブジェクトの新しい名前 |
confirm |
いいえ |
true で名前変更を実行。デフォルト false = プレビューのみ |
disableIndices |
いいえ |
省略するオプションの変更ポイントのインデックスをカンマ区切りで指定(例: '2,3,5') |
maxResults |
いいえ |
プレビューで表示する最大変更ポイント数(デフォルト: 20、0 = 制限なし) |
FQNでサポートされる子タイプ: Attribute, TabularSection, Dimension, Resource
メタデータオブジェクト削除ツール
delete_metadata_object - メタデータオブジェクトまたは属性を削除します。BSLコード、フォーム、および他のメタデータ内の参照が自動的にクリーンアップされます。
ワークフロー:
confirm を指定せずに呼び出して影響を受ける参照と問題をプレビューします。
confirm=true で呼び出して削除を適用します。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
objectFqn |
はい |
削除するオブジェクトのFQN(例: Catalog.Products, Document.SalesOrder.Attribute.Amount) |
confirm |
いいえ |
true で削除を実行。デフォルト false = プレビューのみ |
メタデータ属性追加ツール
add_metadata_attribute - BM書き込みトランザクションを介してメタデータオブジェクトに新しい属性を追加します。属性はデフォルトのプロパティで作成されます。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
parentFqn |
はい |
親オブジェクトのFQN(例: Catalog.Products, Document.SalesOrder) |
attributeName |
はい |
新しい属性の名前 |
サポートされる親タイプ: Catalog, Document, ExchangePlan, ChartOfCharacteristicTypes, ChartOfAccounts, ChartOfCalculationTypes, BusinessProcess, Task, DataProcessor, Report, InformationRegister, AccumulationRegister, AccountingRegister
タグ管理ツール
タグ取得ツール
get_tags - プロジェクトで定義されたすべてのタグのリストを取得します。タグはメタデータオブジェクトを整理するためのユーザー定義のラベルです。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
返り値: タグ名、色、説明、および割り当てられたオブジェクトの数を含むMarkdownテーブル。
タグでフィルターされたオブジェクト取得ツール
get_objects_by_tags - タグでフィルターされたメタデータオブジェクトを取得します。指定されたタグのいずれかを持つオブジェクトを返します。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
tags |
はい |
フィルターするタグ名の配列(例: ["Important", "NeedsReview"]) |
limit |
いいえ |
タグごとの最大オブジェクト数(デフォルト: 100) |
返り値: 各タグのセクションを含むMarkdown:
- タグの色と説明
- タグに割り当てられたオブジェクトのFQNのテーブル
- 見つかった総オブジェクト数の要約
アプリケーション管理ツール
アプリケーション取得ツール
get_applications - プロジェクトのアプリケーション(情報ベース)のリストを取得します。アプリケーションのID、名前、タイプ、および現在の更新状態を返します。update_database および debug_launch ツールにアプリケーションIDを取得するために使用します。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
データベース更新ツール
update_database - データベース(情報ベース)の構成を更新します。完全および増分更新モードをサポートします。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
applicationId |
はい |
get_applications からのアプリケーションID |
fullUpdate |
いいえ |
true の場合 - 完全な再読み込み、false の場合 - 増分更新(デフォルト: false) |
autoRestructure |
いいえ |
必要に応じて自動的に再構築を適用(デフォルト: true) |
デバッグ起動ツール
debug_launch - アプリケーションをデバッグモードで起動します。起動前に自動的にデータベースを更新し、既存の起動構成を見つけます。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
applicationId |
はい |
get_applications からのアプリケーションID |
updateBeforeLaunch |
いいえ |
true の場合 - 起動前にデータベースを更新(デフォルト: true) |
注意事項:
- EDTで最初に起動構成を作成する必要があります(Run → Run Configurations...)。
- 構成が存在しない場合、利用可能な構成のリストが返されます。
updateBeforeLaunch=true の場合、データベースが既に最新の場合は更新をスキップします。
BSLコード分析ツール
モジュール一覧ツール
list_modules - EDTプロジェクト内のすべてのBSLモジュールを一覧表示します。メタデータタイプまたは特定のオブジェクト名でフィルターできます。モジュールのパス、タイプ、および親オブジェクトを返します。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
metadataType |
いいえ |
フィルター: all, documents, catalogs, commonModules, informationRegisters, accumulationRegisters, reports, dataProcessors, exchangePlans, businessProcesses, tasks, constants, commonCommands, commonForms, webServices, httpServices(デフォルト: all) |
objectName |
いいえ |
モジュールを一覧表示する特定のメタデータオブジェクトの名前(例: Products) |
nameFilter |
いいえ |
モジュールパスの部分文字列フィルター(大文字と小文字を区別しません) |
limit |
いいえ |
最大結果数(デフォルト: 200、最大: 1000) |
モジュール構造取得ツール
get_module_structure - BSLモジュールの構造を取得します: すべての手続き/関数のシグネチャ、行番号、リージョン、実行コンテキスト (&AtServer, &AtClient)、エクスポートフラグ、およびパラメーター。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
modulePath |
はい |
src/ フォルダーからのパス(例: CommonModules/MyModule/Module.bsl) |
includeVariables |
いいえ |
モジュールレベルの変数宣言を含める(デフォルト: false) |
includeComments |
いいえ |
メソッドのドキュメントコメントを含める(デフォルト: false) |
返り値: 以下を含むMarkdown:
- モジュールの概要(手続き/関数の数、総行数)
- 行範囲を持つリージョンのリスト
- メソッドのテーブル: タイプ、名前、エクスポート、コンテキスト、行、パラメーター、リージョン、説明(
includeComments=true の場合)
- 変数のテーブル: 名前、エクスポートフラグ、行、リージョン(
includeVariables=true の場合)
モジュールソース読み取りツール
read_module_source - EDTプロジェクトからBSLモジュールのソースコードを読み取ります。行番号付きのソースを返します。フルファイルまたは特定の行範囲を読み取ることができます。1回の呼び出しで最大5000行までサポートします。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
modulePath |
はい |
src/ フォルダーからのパス(例: CommonModules/MyModule/Module.bsl または Documents/SalesOrder/ObjectModule.bsl) |
startLine |
いいえ |
開始行番号(1から始まる、含む)。省略した場合は先頭から読み取ります。 |
endLine |
いいえ |
終了行番号(1から始まる、含む)。省略した場合は末尾まで読み取ります。 |
モジュールソース書き込みツール
write_module_source - BSLソースコードを1Cのメタデータオブジェクトのモジュールに書き込みます。モード: 検索置換(コンテンツベースの検索と置換、デフォルト)、置換(ファイル全体を置換)、追加(末尾に追加)。modulePath または objectName + moduleType を指定します。書き込み前に自動的にBSL構文をチェックします。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
modulePath |
いいえ* |
src/ フォルダーからのパス(例: Documents/MyDoc/ObjectModule.bsl)。objectName + moduleType の代替 |
objectName |
いいえ* |
完全なオブジェクト名(例: Document.MyDoc, CommonModule.MyModule)。ロシア語の名前もサポート |
moduleType |
いいえ |
モジュールタイプ: ObjectModule(デフォルト)、ManagerModule、FormModule、CommandModule、RecordSetModule |
source |
はい |
書き込むBSLソースコード。searchReplace の場合: oldSource を置き換える新しいコード。replace の場合: 完全なモジュールコンテンツ。append の場合: 追加するコード |
oldSource |
いいえ** |
検索して置換する既存のコード(searchReplace モードで必須)。ファイル内の正確に1つの場所に一致する必要があります。現在のファイルコンテンツを読んだことの証拠として機能します。 |
mode |
いいえ |
書き込みモード: searchReplace(デフォルト)、replace、append |
formName |
いいえ |
moduleType=FormModule の場合に必要なフォーム名 |
commandName |
いいえ |
moduleType=CommandModule の場合に必要なコマンド名 |
skipSyntaxCheck |
いいえ |
BSL構文検証をスキップ(デフォルト: false)。バランスの取れた Procedure/EndProcedure, Function/EndFunction, If/EndIf, While/EndDo, For/EndDo, Try/EndTry をチェックします。 |
*modulePath または objectName のいずれかが必要です。
**searchReplace モードで必須です。
注意事項:
- コンテンツベースの編集:
searchReplace モードでは、ファイル内の oldSource を検索して source で置き換えます。oldSource が見つからないか、複数の場所に一致する場合、操作は安全に失敗します。これにより、複数の編集を行う際の行番号のずれの問題が解消されます。
- モジュールファイルが存在しない場合、新しいファイルを作成します(
replace モードのみ)。
- UTF-8 BOMエンコーディングを保持します。
- 構文チェックは、挿入された断片ではなく、完全な結果ファイルを検証します。
メソッドソース読み取りツール
read_method_source - BSLモジュールから特定の手続き/関数を名前で読み取ります。行番号とシグネチャ付きのメソッドソースコードを返します。メソッドが見つからない場合、利用可能なすべてのメソッドのリストを返します。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
modulePath |
はい |
src/ フォルダーからのパス(例: CommonModules/MyModule/Module.bsl) |
methodName |
はい |
読み取る手続き/関数の名前(大文字と小文字を区別しません) |
返り値: 以下を含むメソッドソースコード:
- メソッドのタイプ(Procedure/Function)、シグネチャ、エクスポートフラグ
- 行範囲と行数
- 行番号付きのソースコード
コード内検索ツール
search_in_code - プロジェクト内のすべてのBSLモジュールで全文検索を行います。プレーンテキストと正規表現パターンをサポートし、大文字と小文字の区別、一致箇所の前後のコンテキスト行、およびファイルパスのフィルターをサポートします。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
query |
はい |
検索文字列または正規表現パターン |
caseSensitive |
いいえ |
大文字と小文字を区別する検索(デフォルト: false) |
isRegex |
いいえ |
クエリを正規表現として扱う(デフォルト: false) |
maxResults |
いいえ |
コンテキスト付きで返す最大一致数(デフォルト: 100、最大: 500) |
contextLines |
いいえ |
各一致の前後のコンテキスト行(デフォルト: 2、最大: 5) |
fileMask |
いいえ |
モジュールパスの部分文字列でフィルター(例: CommonModules または Documents/SalesOrder) |
outputMode |
いいえ |
出力モード: full(コンテキスト付きの一致、デフォルト)、count(総数のみ、高速)、files(一致数付きのファイルリスト、コンテキストなし) |
metadataType |
いいえ |
メタデータタイプでフィルター: documents, catalogs, commonModules, informationRegisters, accumulationRegisters, reports, dataProcessors, exchangePlans, businessProcesses, tasks, constants, commonCommands, commonForms, webServices, httpServices |
メソッド呼び出し階層取得ツール
get_method_call_hierarchy - メソッドの呼び出し階層を検索します: このメソッドを呼び出すもの(呼び出し元)またはこのメソッドが呼び出すもの(呼び出し先)。BMインデックスを介したセマンティックBSL分析を使用し、テキスト検索ではありません。
パラメーター:
| パラメーター |
必須 |
説明 |
projectName |
はい |
EDTプロジェクト名 |
modulePath |
はい |
src/ フォルダーからのパス(例: CommonModules/MyModule/Module.bsl) |
methodName |
はい |
手続き/関数の名前(大文字と小文字を区別しません) |
direction |
いいえ |
callers(このメソッドを呼び出すもの、デフォルト)または callees(このメソッドが呼び出すもの) |
limit |
いいえ |
最大結果数(デフォルト: 100、最大: 500) |
注意事項:
- EMFモデル(BSL AST)が必要です — テキストフォールバックモードでは動作しません。
callers はIReferenceFinderを使用してプロジェクト全体を検索します。
callees はメソッドのASTをトラバースしてすべての呼び出しを見つけます。
定義へ移動ツール
go_to_definition - シンボルの定義に移動します。CommonModuleName.MethodName のようなメソッド呼び出しを実際の定義に解決し、ソースコード、シグネチャ、および位置を表示します。また、Catalog.Products のようなメタデータオブジェクトのFQNも解決します。英語とロシア語のメタデータタイプ名の両方をサポートします。
パラメーター: