## 前提環境
- [[Neovim]] v0.10.2
- [[nvim-lspconfig]] `b58d56c`
- [[@vue language-server]] 2.1.6
## 経緯
以下のようなコードがある。
```ts
const sample = {
aaaaaaaaaaaaaaa: "hoge",
bbbbbbbbbbbbbbb: "hoge",
ccccccccccccccc: "hoge",
ddddddddddddddd: "hoge",
eeeeeeeeeeeeeee: "hoge",
fffffffffffffff: "hoge",
ggggggggggggggg: "hoge",
hhhhhhhhhhhhhhh: "hoge",
iiiiiiiiiiiiiii: "hoge",
jjjjjjjjjjjjjjj: "hoge",
kkkkkkkkkkkkkkk: "hoge",
lllllllllllllll: "hoge",
mmmmmmmmmmmmmmm: "hoge",
nnnnnnnnnnnnnnn: "hoge",
};
```
この `sample` の型を表示しようとすると、以下のように途中が省略されてしまう。
![[Pasted image 20241020171222.png]]
同様に型エラーでも表示が省略されてしまう。
![[Pasted image 20241020171427.png]]
これでは何が悪いのか分からないのですべて表示したい。
## 方法
`compilerOptions`の[[noErrorTruncation (tsconfig)|noErrorTruncation]]を`true`に指定する。
```ts
{
"extends": "@tsconfig/recommended/tsconfig.json",
"compilerOptions": {
"noErrorTruncation": true
}
}
```
![[Pasted image 20241020173322.png|frame]]
*型定義が省略されずに表示される*
![[Pasted image 20241020171744.png|frame]]
*エラーが省略されずに表示される*
ただ、型確認はあまりに文字数が増えるとtruncateされてしまう模様。
![[Pasted image 20241020174221.png|frame]]
*1600文字程度で省略の...が*
少し調べてみると、どうやら[[tsserver]]の実装で`defaultMaximumTruncationLength`の長さにsubstringされる処理がある。これが[[VSCode]]のみなのかは不明だが、以下のサイトでも1600文字程度にとどめているため、このままでも実害はあまりなさそう。
<div class="link-card">
<div class="link-card-header">
<img src="https://static.zenn.studio/images/logo-transparent.png" class="link-card-site-icon"/>
<span class="link-card-site-name">Zenn</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">VSCodeでホバー時のTypeScriptの型ヒントをすべて表示する</p>
</div>
<img src="https://res.cloudinary.com/zenn/image/upload/s--5aRBAF-W--/c_fit%2Cg_north_west%2Cl_text:notosansjp-medium.otf_55:VSCode%25E3%2581%25A7%25E3%2583%259B%25E3%2583%2590%25E3%2583%25BC%25E6%2599%2582%25E3%2581%25AETypeScript%25E3%2581%25AE%25E5%259E%258B%25E3%2583%2592%25E3%2583%25B3%25E3%2583%2588%25E3%2582%2592%25E3%2581%2599%25E3%2581%25B9%25E3%2581%25A6%25E8%25A1%25A8%25E7%25A4%25BA%25E3%2581%2599%25E3%2582%258B%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Cl_text:notosansjp-medium.otf_37:%25E3%2581%258B%25E3%2582%2589%25E3%2581%2593%25E3%2582%258D%2520%252F%2520karacoro%2Cx_203%2Cy_121/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2MwNmQwMjRkZGIuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_95/v1627283836/default/og-base-w1200-v2.png" class="link-card-image" />
</div>
<a href="https://zenn.dev/karan_coron/articles/dcab49bed5b2ff"></a>
</div>