質問: JavaScriptなどスプリクト、Ruby、Python、C♯、C++などのプログラミング言語でコードから、コメントのような動作の動きを日本語文章で説明したようになる方法はありますでしょうか? コメントのないソースコードをコメントか、それに近いような説明か動作の記述をしてくれる機能です。 たとえば以下です。 ``` document.close(); ``` この場合だと ``` // 文書を閉じる document.close(); ``` このようにメソッドの意味を書いてくれる機能です。 よろしくお願いいたします。
回答: ### 【概要】 Python & VS Code で, ソースコード作成時にマウス移動すると, メソッドの情報などポップアップされます それらの情報は (Pythonでは) Docstring と呼ばれるもので, 以下のように表示可能です ``` >>> import pandas as pd >>> print(pd.__doc__) pandas - a powerful data analysis and manipulation library for Python ===================================================================== (略) >>> print(pd.DataFrame.__doc__) Two-dimensional, size-mutable, potentially heterogeneous tabular data. Data structure also contains labeled axes (rows and columns). Arithmetic operations align on both row and column labels. Can be (以降 DataFrameの情報, 略) ``` もちろん定義側に正しく記述されていないと表示されません。が, 大抵の標準パッケージやメジャーなパッケージには含まれています。 ### 【日本語について】 * 日本語での詳細情報は, 日本語で記されていれば日本語で出るかもしれない, が英語圏には読めないので大抵英語 * (日本語と英語で Docstringを記述し切り替える ... ような仕組みは聞いたことがない, たぶん無いのでは?) * 下手に自動翻訳したところで, 意味が捉えづらいことになりかねない ### 【プログラミング言語による違い】 また, Pythonのこのような仕組みは Javaでは Javadoc があります (どちらがより優れてるとかは不明) * JavaScript にも, Javadoc のようなものを見かけたことがある * (他の言語は知らないが, 大なり小なり存在すると思われ) ### 【実装?】 VS Codeエディターでは, Pythonの場合 Pylance という language server が担っています。 * たぶん他のプログラミング言語では, その言語用の language server が同様の機能を提供するのかもしれない (未確認) * 別のエディター, (あるいは IDE) で利用するなら, language server protocolが扱えるようにして, (プログラミング言語毎に, 例えば Pythonであれば) Pylance を可動することが出来るなら, (もしかすると)同様に出来るかも? (追記) 参考 URL: * 本家の情報 Language Server Protocol * ググって見つけたところ language server protocolについて (前編)