code inseight で Language Server Protocol(LSP) が強制になってしまった

解決


ポンコツプログラマ  2022-03-22 07:50:51  No: 150122  IP: [192.*.*.*]

Delphi 11.1にしたら code inseight の支援機能マネージャからDelphi(クラシック)が無くなってしましました。
(正確には11.0のときはどうだったか調べられていませんが、11.1になってから ctrl+spaceを押したときの動作ががらりと変わったのでそう思っています)
IDEで ツール → オプション → ユーザインターフェース → エディタ → 言語の の中の「支援機能」タブ の 支援機能マネージャ のところです。
ミガロさんの https://www.migaro.co.jp/contents/support/technical_report_search/no13/tech/13_01_03.pdf の資料などを読むと 中間一致をサポートしているようです。実際そのように機能します。
賢くなったのはよいのですが、for → ctrl+space で for文のテンプレートが デフォルトで選択されずイライラします。
・デフォルトの選択位置カスタマイズする方法
もしくは
・LSPではなくクラッシックに戻す方法
はないでしょうか?
よろしくお願いします。

編集 削除
take  URL  2022-03-22 23:15:37  No: 150123  IP: [192.*.*.*]

ホームページ欄にURL貼っておきますが

>従来のコード補完の終了
>Delphi の従来のコード補完は、IDE より削除されました。LSP オプションのみが Delphi 支援機能で使用できます。

残念ながら従来からの切り替えどころか
機能自体が削除されているみたいですね。

編集 削除
ポンコツプログラマ  2022-03-22 23:59:39  No: 150124  IP: [192.*.*.*]

takeさん、ありがとうございます。
11.0から従来機能なくなってるんですね。11.0のときは違和感がなかったので気づきませんでした。
ということは、ctrl+space押したときのデフォルトカーソル位置がおかしい、という不具合が出ているのかもしれませんね
11.2が出るまで様子見します。

編集 削除
take  2022-03-23 00:25:51  No: 150125  IP: [192.*.*.*]

Delphi 10.4 ぐらいでも新設計のIDEで
・候補リストから意図しないコードに置き換えられる
・選択中の補完コードが入力されない
・不要な中括弧が入力されてしまう
など様々な現象があり パッチで修正された経緯がありましたので
そのうち修正されると信じるしか無いですね

https://blogs.embarcadero.com/ja/10-4-patch-2-delphi-code-completion-and-ide-fixes-ja/

編集 削除
ポンコツプログラマ  2022-03-23 01:01:34  No: 150126  IP: [192.*.*.*]

10.4はかなり安定したバージョンかと思っていましたが結構いろいろあるんですね・・
11はDPI面で革新的な変化があったので仕方ないとは思うのですが、不具合(ツールチップが極小サイズになって何も見えない)が出ましたので、Delphi11(DPI Unaware) の方を使っていました。(DPI革新の意味ない)
11.1は、このツールチップが見えなくなるバグが直っています。
code insight は for→ctrl+space ではなく forb→ctrl+spaceとすることで回避します。
ありがとうございます。

編集 削除
ポンコツプログラマ  2022-03-24 06:40:45  No: 150128  IP: [192.*.*.*]

残念ながら、Delphi11で code insight が全く効かなくなってしまいました。。。
タスクマネージャで見るとEmbaracadero LSP Server for Delphi が3ついるんですが、うんともすんとも反応しません。
10.4でも動作せず。
しばらくは10.4のクラシック支援機能で使います。
何のために11をインストールしたのか・・・

編集 削除
ポンコツプログラマ  2022-03-25 04:01:47  No: 150129  IP: [192.*.*.*]

CnWizards(CnPack)をアンインストールし、再インストールしたら無事 Delphi LSPが動作するようになりました。
お騒がせしました。
CnWizardsの InputHelper あたりとバッティングしやすいのかもしれません。disableにはしてあったのですが。

編集 削除