Gtk# を参照し、Mono を使用してビルドし、VS Code (code.visualstudio.com) でコードを記述しています。C# のインテリセンスが欲しいです。「インテリセンス」とは、正しい関数、メンバーなどが「.」を思いつくことを意味します。- これは、ファイル内の他のコードに基づく予測提案とは別のものです。
現在の Microsoft C# 拡張機能 ( https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp ) とレガシー Microsoft C# 拡張機能 ( https://marketplace.visualstudio.com/items )の両方を試しました。 ?itemName=ms-vscode.omnisharp )。
これらは両方とも、IntelliSense を提供する手段として OmniSharp を使用しているように見え、どちらも MS ビルド ファイルおよび/または「project.json」ファイルをロードします。
現在の Microsoft C# 拡張機能は、.NET Core 専用のスキーマに従っているように見える "project.json" ファイルを使用しているようです。とにかく、Mono DLL からローカルの GtkSharp NuGet パッケージを作成してこれを活用しようとしましたが、これらの NuGet パッケージは .NET Core と互換性がないため、「ドットネット復元」できませんでした。私が従った: https://docs.nuget.org/ndocs/hosting-packages/local-feedsおよびhttps://docs.nuget.org/ndocs/create-packages/creating-a-package
Visual Studio を使用してソリューション (.sln) ファイルとプロジェクト (.csproj) ファイルを生成すると、従来の Microsoft C# 拡張機能が機能します。次に、VS Code はこれらのファイルを認識し、IntelliSense を適切に使用します。この方法を使用してセットアップするときに OmniSharp が探しているエントリが多数あるように見えるため、ソリューションとプロジェクト ファイルをハンドロールしようとして失敗しました。
基本的に、「ここに私のコード (.cs ファイル) があり、ここに私が参照するアセンブリ (.dll) とそのコメント ファイル (.xml) があります」という単純な軽量構成を提供したいと考えています。 VS Code は、これらのファイルと参照されるアセンブリに IntelliSense を提供します。.NET Core の "project.json" ファイルは単純ですが、互換性がありません。MS ビルド ファイルは私が探しているものよりもかなり複雑で、OmniSharp 互換ファイルを生成するには Visual Studio (または MS ビルドのより深い知識) が必要です。ビルド構成とインテリセンス構成の分離を探しています。
.NET Core または MSBuild を使用せずに C# の IntelliSense をサポートするように VS コードを構成するにはどうすればよいですか?
これはビルド システムとは関係なく、Microsoft が提供する OmniSharp ベースの C# VS Code 拡張機能の 1 つを使用して、「project.json」または MS Build 構成ファイルを使用せずに Intellisense サポートを提供することに厳密に関連しています。