LoginSignup
0
0

More than 1 year has passed since last update.

VSCode向けの拡張機能の対応状況を整理した

Last updated at Posted at 2021-04-10

概要

これまでの記事Xtext Visual Studio Code Exampleを例に、DSL向けのプログラミング環境を提供する、VSCode向けの拡張機能について書いてきました。昨今のプログラミング環境は、概ね決まった機能を提供する雛形に基づいて作られています。ここでいったん、vscode、xtext、Xtext Visual Studio Code Exampleなど関係について整理し、独自DSLのプログラミング環境を拡張機能で提供する上で、必要なことがらについてまとめていきたいと思います。

開発環境など

  • Windows10 Pro 1909
  • VSCode 1.47
  • JDK 1.8
  • Xtext 2.24

整理

まずは星取表で整理してみました。
編集途中の項目が多いので、少しずつ足していきます。

機能 vscode1.47(>LSP3.15) xtext2.24 Xtext Visual Studio Code Example 一連の記事で実現したこと。なお、コードはこちら 独自DSL化に必要なこと
コメント クライアントとして対応済を✔ LSP対応済を✔ 筆者による対応確認済を✔ ✔は、断りない限りXtext Visual Studio Code Exampleにならう
Syntax Coloring (xtextによる文法定義とは非同期のため、mydsl.tmLanguage.jsonの手動更新が必要)
Semantic Coloring
Error Checking(通常の文法エラーに報知) ✔(エラー箇所に赤い下線。1000個目以上のエラーには赤下線が引かれず)
Validation
Auto-Completion
Formatting
Hover Information
Mark Occurrences
Go To Declaration
Rename Refactoring
Debugging
Toggle Comments
Outline / Structure View
Find Reference
Call Hierarchy
Type Hierarchy
Folding ✔(こちらで対応)
保存時にファイル生成 (vscodeの機能ではない) (未対応。キー押下時にvalidationとファイル生成が連続実行される) ✔(こちらでキー押下時にvalidationのみ、保存時に生成を実施するよう変更)
進捗表示 ✔(こちらで準備、こちらで対応)
コマンド実行 ✔(MyDsl A、MyDsl Bが定義済)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0