Source Insight 4.0 の性能や機能などを確認するため、まず 30日間の体験版でお試しください。
■ 今までリリースされたバージョンの変更点:
修正: C# 式形式のメンバー関数が認識されませんでした。
修正:16 進数を使用する C/C++ プリプロセッサの条件値が機能しませんでした: 例: #if ABC< 0x100
修正: C++ および C#: さまざまなパーサーの修正。
修正: 一部のシンボル検索が機能しませんでした。
修正: 直接的または間接的な再帰的定義を持つシンボルの再帰シンボル検索を制限します。
修正: プロジェクトに多数の編集条件シンボルを追加するとクラッシュします。
修正: [条件の編集]で設定された条件値がプロジェクトに含まれている場合のパフォーマンスが向上しました。
修正: 大規模なプロジェクトで制限を超える場合のエラー処理が改善されました。
修正:コンテキストウィンドウとファイル比較ウィンドウで、概要を右クリックして[非表示]を選択しても概要が閉じません。
修正: テキストを貼り付けると、結果の新しい行がスクロールして表示されるようになりました。
変更: コンテキストウィンドウに、ファイル比較ウィンドウで選択したシンボルの定義が表示されるようになりました。
変更: リレーションウィンドウに、ファイル比較ウィンドウで選択したシンボルの結果が表示されるようになりました。
変更: 不要なプロジェクト データの書き込みを回避することで、プロジェクトを同期するパフォーマンスが向上します。
一部のツールバーボタンに小さな変更を加えて、暗い背景でより適切に機能するようにしました。
変更: ソースインサイトマクロ言語: == 演算子と != 演算子で数値の比較方法が異なるようになりました 。両方のオペランドが数値 10 進数または 16 進数の場合、文字列ではなく数値として比較されます。<、<=、>、>= などの関係演算子は、既にこれを行っています。
修正: ローカル変数または関数パラメーターの名前を入力するときのオートコンプリート機能を改善しました。パラメーターとローカル変数がリストの最初に表示されます。
修正: リレーションウィンドウは、1000 個以上の一致を持つ識別子を処理していた場合、プログラムが数秒間一時停止する原因となる可能性がありました。
修正: 外部シンボルのインポート - INCLUDE パスからのインポートは Unicode パスをサポートしておらず、INCLUDE 環境変数が未定義の場合、クラッシュする可能性がありました。
修正: Python: -> 構文を使用した関数の戻りアノテーションが正しく解析されませんでした。
修正: Python: 相対インポートが正しく認識されませんでした。
修正: Python: Python ファイルの名前を変更すると、ファイルの再解析が行われるようになりました。
修正: C++: 定義がクラス宣言と同じファイル内にある場合、クラス内のメンバー関数宣言からクラス外のメンバー関数定義にジャンプできませんでした。
修正: C++: 'if' ステートメントで宣言された変数が認識されませんでした。
修正: C ++:範囲ベースの 'for'ステートメント:イテレータ変数のauto型が認識されるようになりました。
修正: C ++: [[非推奨]]などの属性を使用するいくつかの宣言を認識していませんでした。
修正: C++: スマート ポインター テンプレート クラス (unique_ptr<> など) が使用されている場合の型の解像度が向上しました。
修正: C#:'ref'と'readonly'キーワードが正しく解析されるようになりました。
修正: C#: foreachステートメント: イテレータ変数の型が認識されるようになりました。
修正: 定義にジャンプするとジャンプして元の場所に戻ることがあります。
修正: プロジェクトレポートがクラッシュする可能性があります。
修正: プロジェクト ファイルの追加と削除: *.h などのワイルドカード フィルターを入力し、Enter キーを押して、追加するファイルをフィルター処理できます。これはプロジェクトのルートディレクトリでのみ動作していました。サブディレクトリを含むツリー全体を追加した場合、フィルタは尊重されませんでした。
修正: 定義で 'export'キーワードが認識されるようになりました。
修正: スタイルのプロパティ: 合字の組み合わせで等幅フォントを使用している場合、拡張文字間隔形式はサポートされていません。これらのオプションを組み合わせると、間隔のバグが修正されました。
変更: プロジェクトレポートに新しい情報が追加されました...ボタンは、新しいプロジェクト情報コマンドを呼び出します。ログに記録されたエラーを含む、現在のプロジェクトに関する統計情報が表示されます。
変更: [オプション] または [スタイルのプロパティ] で [表示されるタブとスペース] スタイルを編集することで、表示されるタブとスペース>色を選択できます。表示>可視タブとスペースでこのモードを有効にする必要があります。
変更: プロジェクト内のシンボルまたはインデックスエントリが多すぎる場合の検出を改善します。
修正:そのほかのバグ修正。
新規: 特殊文字の組み合わせに合字を使用する等幅プログラミングフォントのサポートを追加しました。 フォントの例としては、FiraCode と JetBrains Mono があります。 フォントの合字を有効にする表示設定もあります。 デフォルトでは有効になっていますが、合字なしでフォントを表示するには無効にすることをお勧めします。 このオプションにアクセスするには、Options > Preferences > Display を選択し、"Enable font ligatures for character combinations" (文字の組み合わせでフォントの合字を有効にする) を好みに設定します。
注意: Source Insight には、特定の演算子を記号に置き換える機能があることに注意してください。 たとえば、-> は → に置き換えられます。 これを制御するには、Options > Preferences > Syntax Decorations を選択します。 構文装飾は、新しいフォント合字サポートと組み合わせて使用できます。
また、一部のフォントでは、フォントの先頭領域を使用していることに注意してください。 Source Insight には、より多くの行を垂直方向に凝縮するために、フォントの先頭を減らすオプションがあります。Options > Preferences > Display > Spacing > "Smaller line heights" を参照してください。 先頭に伸びるグリフを持つフォントを使用している場合は、このオプションを無効にします。 そうしないと、一部の文字の上部または下部が切り取られる可能性があります。
新規:ファイルが外部で変更されると、[ファイルの再読み込み] プロンプトが表示されます。 プロンプトに新しいボタンがあります。[はい]と[表示]でファイルが再読み込みされ、ウィンドウがアクティブになります。Yes and View は、ファイルを再読み込みし、そのウィンドウをアクティブにします、 Yes and Compare は、現在のファイルバッファのバックアップを作成し、ファイルをリロードし、File Compare パネルを使用して違いを表示します。 変更を保持したくない場合は、バックアップファイルから復元できます。 次の項目を参照してください。
新規:File > Open Backup File で新しいボタンがあります:Restore File は、選択したバックアップを現在のファイルバッファにロードします。 バッファは保存されないままであり、元に戻すことができます。 Compare は、File Compare パネルを開いて、現在のファイルバッファと選択したバックアップファイルの違いを表示します。 Tools > Compare With Backup にも同様の Restore File ボタンがあります。
修正:リモート ドライブに多数のプロジェクト ファイルがある場合、Source Insight が定期的に数秒間一時停止することがありました。 一時停止は、Project Folder Browser パネルが原因で発生しました。 Folder パネルが別のスレッドに表示されるようになりました。
修正:ファイルが変更されていなくても、Source Insight が変更されたファイルの再読み込みを求める場合がありました。 一貫性はありませんでしたが、これはファイルがネットワーク ドライブ上にある場合にのみ発生します。
修正:Reformat Source Code: C-スタイルのキャストを使用するステートメントにより、キャスト後に誤った改行が発生していました。
修正:長い文字列の検索がクラッシュする可能性がありました。
修正:その他の小さなバグ修正。
修正:状況によっては、画面の解像度またはモニターを変更すると、ドッキングされたパネルが正しく配置されない場合がありました。
修正:貼り付けコマンドを使用してインデントレベルを変更した場合、行末文字が保持されない場合がありました。
修正:構造体が匿名で別の構造体の内部にネストされていて、ネストされた構造体を使用して外部構造体のメンバーを宣言した場合、オートコンプリートは構造体メンバーを提案しませんでした。 例えば:
struct Outer { struct { int member_foo; } data; };
struct Outer an_outer;
an_outer.data.m <-- member_foo not proposed
修正:Lookup References & Smart Rename: (クラスメンバー以外の)関数プロトタイプを選択して操作を実行した場合、Source Insightは、関数プロトタイプまたは同じ名前の関数定義のいずれかを選択するように求めます。 ここでは、両方を参照していることを前提としています。 これは、クラスメンバー関数のプロトタイプとメンバー関数ですでに正しく機能していました。
修正: C++: クラス本体の外部のメンバー関数定義の後に、= default または = delete キーワードを使用すると、関数を認識しなかった。 例: ClassFoo::ClassFoo() = default;
修正:Overview スクロール コントロール:コード ポップアップが機能していませんでした。
修正:その他の安定性の修正。
行末文字:混在した行末 (EOL, End-of-Line) シーケンスを処理するために、多くの修正と機能強化が行われました。
行末が混在しているファイルを開くと、Source Insight はファイルを保存するときに行末を保持し、変更しません。
File > Save As を使用し、新しい EOL 形式を選択して保存し、行末を選択した形式に変更できます。
行末が混在しているファイルを開くと、行末を正規化して修正するよう求めるプロンプトが表示されます。 その時点で、使用する EOL 形式を選択できます。 このプロンプトが不要な場合は、Options > Preferences > Files からオプションを選択して有効または無効にすることができます。 デフォルトでは有効になっています。
開いているファイルバッファーで一貫性のない EOL 形式を修正するには、Edit > Special Edit > Normalize End Of Line Characters を選択します。 EOL 形式を選択できます。 行全体を選択して、選択した行のみを処理することもできます。
Options > Preferences > Files で設定されたデフォルトの EOL 形式は、Source Insight で作成する新しいファイルに使用されます。 以前は、ファイルで編集したすべての行にも使用されていました。 これで、開いたファイルを編集しても、元の行の EOL 形式が保持されます。
Options > Preferences > Files: "Convert to default line ending format when saving"(保存時にデフォルトの行末フォーマットに変換する) の新しいオプションを有効にすることで、すべてのファイルをデフォルトの EOL 形式で強制的に保存できます。 このオプションはデフォルトで無効になっています。 ファイルを保存すると、すべての EOL シーケンスがデフォルト設定に変換されます。
EOL 文字を表示するには、View > Visible End Of Line を選択します。 EOL の可視性は、 Options > File Type Options でファイルタイプごとに制御されます。 EOL マークの表示フォーマットは、「End of Line」という新しいスタイルで制御されます。 これは、Options > Style Properties で編集できます。 たとえば、背景の色やサイズを変更できます。
EOL マークの表示方法には 2 つのオプションがあります。 このオプションは、Options > Preferences > Syntax Decorations で設定できます。
ファイル タイプ オプション:ダイアログボックスを再編成しました。 「Visible End of Line」オプションを追加し、ミニメニューを使用してフォントを選択するように Screen/Printer Font ボタンを変更しました。
コンテキスト ウィンドウ:ローカル変数または関数パラメーターをクリックすると、関数内の参照が強調表示されます。 注: ハイライトは、Options > Style Properties から "Reference Highlight" という名前のスタイルを使用します。
コンテキストウィンドウ:"Show in Relation Window" のツールバーボタンをクリックすると、リレーション ウィンドウがまだ表示されていない場合に開きます。
ファイルの置換とスマートな名前変更:置換/名前変更操作によって開かれ、変更されたファイルは、保存されていないファイル バッファーとして開いたままになりました。 これで、これらのファイルの変更がディスクに保存されます。 この変更前は、[ファイルの置換] 操作の後、 File > Save All コマンドを使用しない限り、一部の変更がファイルに保存されない場合があります。
一般的な表示:プログラム ウィンドウのサイズを非常に小さくしたり狭くしたりすると、ドッキングされたパネルが小さすぎると閉じられます。 これは仕様によるものでしたが、パネルが閉じないように変更されました。 これにより、サイズや解像度が異なるモニター間でプログラム ウィンドウを移動するとき、またはスリープ/休止状態から復帰するとき、または別のモニターやリモート デスクトップに接続するときのレイアウトの問題を回避できます。
ファイル比較パネル:ディレクトリ比較パネルの現在の選択と同期するようになりました。これらを並べて使用すると、全体として動作します。 ファイル比較パネルの応答性も改善されました。
ファイル比較パネル:ブロック内の単一の行を選択した場合、Copy Line Right/Left (行の右/左コピー) 機能はブロック内のすべての行をコピーしていませんでした。
リレーション ウィンドウ:画面の解像度を変更したり、新しいモニターに切り替えたり、スリープ/ハイバネーションから復帰したりすると、リレーション ウィンドウがロックされていると、リレーション ウィンドウの内容が消えます。
リレーション ウィンドウ:言語のキーワードまたはその他の一般的な「ストップ」ワードを選択した場合のパフォーマンスの問題を修正しました。
概要スクローラー (ミニビュー) :アウトライン機能を使用してソース ファイルの一部が折りたたまれている場合、クリックに応答しない可能性があるバグを修正しました。
強化された垂直スクロールバー:いくつかの視覚的な更新が追加されました。 現在の機能を強調表示するオプションを追加しました。 Shift キーとマウス クリックで、クリックした位置までスクロールします。 つまみコントロールのドラッグ中に表示されるコード ヒント ウィンドウのちらつきを低減しました。
JSON ファイル:JSON に空の配列が含まれている場合に記号が表示されない解析バグを修正しました。
修正: スニペットプロパティ:スニペットのテキストを編集する際のいくつかのバグを修正しました。
修正: Check for Updates コマンドは、ネットワークプロキシの背後にいる一部のユーザーに対してクラッシュを引き起こす可能性がありました。 同じバグにより、プログラムがバックグラウンドで更新を確認しているときに、起動後数秒でプログラムがクラッシュする可能性がありました。
修正: その他の安定性の修正。
変更: プロジェクト データベース ファイルのメモリ管理が改善されました。 これにより、複数のインポート プロジェクトを使用するときの表示とシンボルの検索速度が速くなり、大きなプロジェクトをサポートするために必要なメモリが少なくなります。 大きな変更に気付いた場合は、フィードバックをお寄せください。 フィールドで調整できるパラメータがいくつかあります。
変更: 次のダイアログ ウィンドウのサイズを変更でき、位置はセッション間で記憶されます。
- プロジェクトファイルの追加と削除 (Add and Remove Project Files) - リストに長いパス名またはより多くのファイルを表示します。
- シンボル情報 (Symbol Info)
- 複数の定義 (Multiple Definitions) - 定義にジャンプして複数の記号が一致する場合に表示されます。
- ビジュアル テーマの管理 (Manage Visual Themes)
- 外部シンボルのインポート (Import External Symbols)
- バックアップ ファイルと比較 (Compare with Backup File)
- バックアップ ファイルを開く (Open Backup File)
- 条件付き解析リスト (Conditional Parsing List)
変更: 可能な場合、より多くのパスを表示することにより、長いファイルパスの表示トリミングを改善しました。 このオプションは、Options > Preferences > Display > "Trim long path names with ellipses"([省略記号付きの長いパス名をトリムする) で設定します。
変更: 遅いリモート デスクトップ接続でのマウス テキスト選択の応答性が改善されました。
修正: 場合によっては、Source Insight がハングするか、システムのクリップボードをビジー状態 (ロック) のままにしていました。 このバグは残念ながらリリース 4.0.0107 で導入されました。
修正: PHP: 戻り値の型宣言を正しく解析します: 例: function foo () : string { .... }
修正: "An Update is Available"(更新が利用可能です) というメッセージは、特定のタイムゾーンにいる場合、閉じた後でもポップアップし続けます。
修正: 非常にまれですが、リストアイテム (Project > Open Project など) をダブルクリックすると、クラッシュが発生する可能性があります。
修正: クリップボード処理バグが 2019年 12月のバージョン 4.0.0104 でありました。Source Insight がシステムクリップボードを更新しないか、間違った内容を貼り付けることがありました。
修正: その他の Perl 解析および表示バグ。
修正:ピュアな ANSI C ファイルの場合、ネストされた構造体のメンバーは親構造体のスコープ内にあります。 例えば:
struct Outer { struct Inner { int hello; }; } an_outer;
an_outer.hello = 1; // member "hello" is visible in Outer.
修正:バージョン 4.0.0104 からの次の修正は、まったく正しくありませんでした。 これを修正しました:ANSI C の場合:ネストされた構造体では、内側の構造体名も定義され、外側の構造体の外側のスコープ内にありますが、C++ では外側の構造体のスコープ/名前空間内でのみ定義されます。
修正:バージョン 4.0.0104 で Relation ウィンドウのリグレッション バグが発生し、匿名構造体メンバーへの参照が見つかりませんでした。
修正:Relation ウィンドウ:参照を表示すると、関数が自分自身を参照しているように見えることがありました。
修正:Lookup References および Relation ウィンドウは、変数をその初期化リストに正しく関連付けていませんでした。
修正:その他の小さな修正。
新規: Ctrl +マウスホイールを使用して、テキストのスケーリングを無効にできます。 通常、マウスホイールと CTRL キーを使用してテキストをスケーリングします。 Options > Preferences > General を選択し、"Allow Ctrl+Mouse Wheel to scale text"(Ctrl +マウスホイールによるテキストのスケーリングを許可する) というオプションを使用します。
新規: 自動インストールを簡単にするために、ライセンス インストール コマンドライン オプションが追加されました。 これらについては、FAQ の「7. 自動インストールとライセンス」のトピックをご覧ください。
修正: C/C++: 一部のキャストが認識されませんでした。たとえば: ((foo *)ptr)->member
...
また、static_cast<>、dynamic_cast() などの認識が良くなりました。
修正: C/C++: for ステートメント内の複数の宣言が認識されませんでした。たとえば: for (int i = 0, j = 0; ... ; ...) { ... }
修正: ANSI C: ネストされた構造体では、内部構造体名も外部構造体の外側のスコープで定義されますが、C++ では外側構造体のスコープ/名前空間内でのみ定義されます。 Source Insight の「ANSI C」言語タイプは、これを正しくサポートするようになりました。 純粋な C コードを使用する場合は、ファイル タイプ オプションを変更して、*.c および *.h を "C/C++ Source File" タイプではなく "C Source File" タイプに関連付けることを検討してください。 (ファイルタイプオプションを参照)
たとえば:
struct Outer { struct Inner { ... }; };
struct Inner foo; // you can refer to Inner outside of Outer in C
修正: C/C++: try または catch ブロックに展開されるトークン マクロを使用する場合の解析バグ。
修正: Relation ウィンドウと Search Results に適切な関数名が表示されないことがありましたが、代わりに
"if (condition...)...
" のようなものが表示されました。これらは実際には、問題の関数内に含まれている if または while
ステートメントのスニペットです。
修正: C#: 一部のジェネリック クラスが正しく解析されませんでした。
修正: オートコンプリートは、一部のネストされた構造体の構造体メンバーを提案していませんでした。
修正: Perl: 解析と構文の書式設定に対する多くの修正。
修正: コードのブロックが折りたたまれている場合、定義を検索またはジャンプしても、ブロックが展開されずターゲット行が表示されません。
修正: Page-Down を使用して下にスクロールしてから、Page-Up がウィンドウ上部の同じ行番号に戻らない。
修正: 条件によっては、実際にはファイルが変更されていない場合に、変更されたファイルを再ロードするように求められる場合があります。
修正: コンテキスト ウィンドウは、文字列リテラル内の識別子を追跡していました。 デフォルト設定はこれをオフにするはずでした。
修正: 書式設定:メンバー関数への参照は、常に正しい "Ref To Method" スタイルでスタイル設定されていませんでした。
修正: ファイル比較ウィンドウ:一部のキーボードコマンドが機能していませんでした。
修正: 安定性の修正。
パフォーマンス: 初期起動と設定の読み込みが高速化されました。
パフォーマンス: Lookup References と Relation ウィンドウの速度が少し向上しました。
パフォーマンス: Overview コントロールが表示されているときの入力時の表示更新速度が改善されました。
修正: ライセンス:オフラインライセンスファイルを使用すると、 "This page requires a secure connection which includes server authentication..." (このページにはサーバー認証を含む安全な接続が必要です...) というメッセージ ウィンドウがポップアップ表示されることがありました。 これは起こるはずがなかったため、修正されました。
修正: 書式設定:メンバー関数への参照は、常に正しい「Ref To Method」スタイルでスタイル設定されていませんでした。
修正: C/C++: Relation ウィンドウと検索結果に関数名が表示されず、問題の関数に含まれる複合ステートメントのスニペットである「if (条件...)」のようなものが表示されることがありました。 これで、関数名が正しく表示されます。
修正: ファイルパスが非常に長いときにファイル タブにマウスを移動するとクラッシュする。
修正: 予期しないクラッシュを引き起こす可能性のある重要な安定性のバグが修正されました。 すぐに更新することをお勧めします。
修正: プロジェクト設定:フォルダを参照するのに使用されていた "..."ボタンが選択を保存しませんでした。
以下の修正は、1 つ以前のバージョン 4.0.0097 で修正されました。
修正: C++: 演算子 :: を使用する完全修飾名でクラス、構造体、および名前空間を正しく識別しませんでした。
例 : namespace Foo::Bar {...}
修正: C/C++: ネストしたインライン構造体宣言が機能しませんでした。
例: struct X { struct Inlined; };
修正: C++: *.cc ファイルはデフォルトで C++ ファイル タイプに含まれるようになりました。
修正: C/C++: 名前空間のような別のスコープでネストされた extern "C" {...} の使用は正しく解析されませんでした。
修正: C++: 関数が try ブロックを正しく解析されませんでした。 これは、try ブロックが関数本体全体を囲むときです。
例: Foo::Foo () try : bar(1) {...} catch( const SomeException &e ) {...}
修正: C/C++/C#: enum 宣言は、ウィンドウの左側のシンボル ウィンドウ内に重複した enum 値を作成しました。
修正: C++: alignas() ディレクティブが正しく解析されませんでした。
修正: Java: ラムダ式が正しく解析されませんでした。
修正: XML: CDATA セクション内の 1つのダブル クォートが原因でファイルが解析されませんでした。
修正: Python: 1 つのステートメントで複数の変数を代入しても変数定義が初期化されず、変数が認識されませんでした。
修正: スニペット: "Enable text variables when inserting (挿入時にテキスト変数を有効にする)" オプションがスニペットで有効になっていない場合、スニペットを挿入しても自動的にインデントされませんでした。
修正: ソース ファイル ウィンドウ、プロジェクト シンボル リストパネル、または自動補完リストに入力している間、リレーション ウィンドウが時々 UI の動作を停止することがありました。
修正: プロジェクトを削除する際に、2 つのインデックス データ ファイルが残った。他のすべてのデータ ファイルは正しく削除されました。
修正: Source Insight が待機状態の場合に、ファイルを開けないことに関する、避けられない一連のメッセージボックスが表示されることがありました。選択したシンボルへの参照を強調表示するオプション (File Type Options にあります) が有効な場合に、プロジェクトを同期せずにソース ファイルを新しいディレクトリに移動した場合に発生します。
修正: フォルダー参照ダイアログ (プロジェクトのソース ディレクトリを選択するためにプロジェクト設定で使用されるダイアログなど) は、開いたときにツリー内の正しいフォルダを選択していませんでした。
修正: Source Dynamics 社が提供するオフラインのライセンス ファイルを使用し、そのライセンスにユーザー名が含まれていない場合、[ヘルプ] > [Source Insight について] ウィンドウにライセンスがアクティベートされていないと誤って表示されました。
修正: リストにある「すべて選択」を Ctrl + A を使用して実行ができませんでした。
修正: プロジェクト フォルダ パネル:ディレクトリ リストでディレクトリを選択した場合、右クリック メニューのファイル検索コマンドが機能しませんでした。
変更 : コード署名証明書が更新されました。
修正: スニペット エディター - ビルド番号 4.00.0095 でスニペット パネルからスニペットを編集した場合、同じ文字が 2 回入力されるというバグが発見されました。
修正: C/C++/C#: 関数スコープ内で宣言された構造体またはクラスは、関数内の他の場所で参照された場合、そのメンバーが正しくフォーマットされない場合があります。
修正: C/C++/C#/Java: 宣言行でトークンのマクロ置換が行われた場合、変数またはパラメーターのタイプが間違っていることがありました。
修正: C/C++: // コメントがバックスラッシュの継続マークで終了した場合、コメントが正しく表示されませんでした。
修正: C++: クラス テンプレート内のメンバー関数プロトタイプから定義へのジャンプ機能が動作しませんでした。
修正: #if や #endif などのプリプロセッサ文と同じ行で開始した場合、/* と */ デリミターを使用した複数行コメントが正しく表示されませんでした。
修正: Java: String [] test = new String []{"abc"};
など、静的に初期化された配列が間違って解析されない。
修正: Perl: "our" や "my" 変数の宣言を含むいくつかのパーサーを修正しました。
修正: Python: "async def" コルーチン定義のサポートを追加しました。
修正: Window タブ オプション: 名前で並べ替えるオプションが保持されていませんでした。
修正: Relation Window: ソート順序を変更するために [Name] 見出しをクリックすることでソートが変更されましたが、セッション間で設定を保持しませんでした。レイアウト ファイルに保存されます。
修正: デフォルト以外の場所にプロジェクトを作成した場合、プロジェクト ファイルのファイル パスが破損する可能性がありました。それにより、プロジェクト ファイルを開くことができませんでした。
修正: 選択したパスによっては、[オプション] > [環境設定] > [フォルダ] を使用して プロジェクト フォルダを変更できませんでした。
修正: パネル グループ内のタブをクリックしてすばやくドラッグした場合、ドラッグしている間にウィンドウが不自然に配置される可能性があります。
修正: Project Search Bar: [Word Fragments] オプションが有効な場合、[Match Case] オプションが機能しませんでした。また、[詳細設定] ボタンをクリックしてオプションを設定した場合、検索バーのチェックボックスにオプションが反映されませんでした。
修正: 空白行で終わるクリップとスニペットは、ファイルに貼り付けた場合、空白行が削除されます。
修正: ALT + nnn を使用してソース ファイル ウィンドウに文字コードを入力できませんでした。
修正: 検索と置換のクラッシュ: Perl と互換性のある regex を使用して、空の行で行末 ($) を置き換える場合に発生しました。
修正: Page Setup 設定が保存されず、構成ファイルから読み込まれませんでした。
修正: キーワード式を使用した Project Search Bar (および [Search] > [Search Project]) は、[Skip Inactive Code]、[Skip Comments]、および [Search Only Comments] オプションを尊重していませんでした。
修正: Windows エクスプローラーで複数のファイルを選択し、右クリックして [Open with Source Insight (Source Insight で開く)] を選択した場合、最初のファイルのみを開きます。
修正: 行の最大の長さが 4,092 を超えるファイルを読み込んだ場合、ファイル内でシンボルの解析が行われません。
修正: コマンド ラインからファイル名の引数を指定して呼び出した場合、[ファイル] > [最近使ったファイル] へファイルが追加されませんでした。Windows エクスプローラーでファイルを選択し、[Open with Source Insight (Source Insight で開く)] を選択した場合も同じ問題が発生しました。
変更: Symbol Info コマンドがコンテキスト ウィンドウのツールバーと右クリック メニューに追加されました。
修正: マクロ関数の RunCmdLine が不適切な値を返していました。これにより、ドキュメントに準拠し、プロセスが正常に起動した場合は True を返し、失敗した場合は False を返します。プロセスが終了コードを設定している場合、新しい関数である GetRunCmdLineExitCode を呼び出し、取得できます。
新規: マクロ関数:GetRunCmdLineExitCode()
: RunCmdLine
を呼び出して起動した最後のプロセスの終了コードを返します。これは、RunCmdLine
の fWait パラメーターが呼び出されて True に設定されている場合に限り有効です。
GetProjMasterFileList (hproj)
: プロジェクトのマスター ファイル リストのパスを返します。マスター
ファイルがプロジェクト内で使用されていない場合、空の文字列を返します。hproj
= NewProj や GetCurrentProj で返されるようなプロジェクト
ハンドルです。
SetProjMasterFileList (hproj, sMasterFile)
: プロジェクトのマスター ファイル
リストのパスを設定します。hproj
= NewProj や GetCurrentProj で返されるようなプロジェクト
ハンドルです。sMasterFile
= マスター ファイル リストの新しいファイルパスです。ファイルは既に存在するはずです。空の文字列を渡して、プロジェクトでマスター
ファイル リストの使用を無効にします。
注意: ファイル リストは、SyncProj の呼び出しなど、同期されるまでプロジェクトに影響を及ぼすことはありません。
修正: Wine: Wine または Linux で実行した場合、ツールバーの不適切な描画によるディスプレイの問題がありました。これにより、Crossover や MacOS
で実行する場合に発生した同じ問題も修正されることが予想されます。
注意:
Source Insight は Microsoft Windows 向けに開発されているため、Wine や Crossover のようなエミュレータは公式にサポートしていません。
修正: 大規模なプロジェクト インデックスのメモリ管理を修正しました。非常に大規模なプロジェクトで使用する場合、メモリ不足によるエラーがなくなります。
修正: C/C++: #if、#ifdef、#else、または #endif 文が、次の行に続く /* コメントで終了した際にバグを解析します。
修正: C/C++/C#: 関数スコープ内で宣言された構造体またはクラスは、関数内の他の場所で参照された場合、そのメンバーが正しくフォーマットされない場合があります。
修正: C/C++/C#/Java: 宣言行でトークンのマクロ置換が行われた場合、変数またはパラメーターのタイプが間違っていることがありました。
修正: C/C++: // コメントがバックスラッシュの継続マークで終了した場合、コメントが正しく表示されませんでした。
修正: C++: クラス テンプレート内のメンバー関数プロトタイプから定義へのジャンプ機能が動作しませんでした。
修正: #if や #endif などのプリプロセッサ文と同じ行で開始した場合、/* と */ デリミターを使用した複数行コメントが正しく表示されませんでした。
修正: Java: String [] test = new String []{"abc"};
など、静的に初期化された配列が間違って解析されていました。
修正: Perl: "our" や "my" 変数の宣言を含むいくつかのパーサーを修正しました。
修正: Python: "async def" コルーチン定義のサポートを追加しました。
修正: Window タブ オプション: 名前で並べ替えるオプションが保持されていませんでした。
修正: Relation Window: ソート順序を変更するために [Name] 見出しをクリックすることでソートが変更されましたが、セッション間で設定を保持しませんでした。レイアウト ファイルに保存されます。
修正: デフォルト以外の場所にプロジェクトを作成した場合、プロジェクト ファイルのファイル パスが破損する可能性がありました。それにより、プロジェクト ファイルを開くことができませんでした。
修正: 選択したパスによっては、[オプション] > [環境設定] > [フォルダ] を使用して プロジェクト フォルダを変更できませんでした。
修正: パネル グループ内のタブをクリックしてすばやくドラッグした場合、ドラッグしている間にウィンドウが不自然に配置される可能性があります。
修正: Project Search Bar: [Word Fragments] オプションが有効な場合、[Match Case] オプションが機能しませんでした。また、[詳細設定] ボタンをクリックしてオプションを設定した場合、検索バーのチェックボックスにオプションが反映されませんでした。
修正: 空白行で終わるクリップとスニペットは、ファイルに貼り付けた場合、空白行が削除されます。
修正: ALT + nnn を使用してソース ファイル ウィンドウに文字コードを入力できませんでした。
修正: 検索と置換のクラッシュ: Perl と互換性のある regex を使用して、空の行で行末 ($) を置き換える場合に発生しました。
修正: Page Setup 設定が保存されず、構成ファイルから読み込まれませんでした。
修正: キーワード式を使用した Project Search Bar (および [Search] > [Search Project]) は、[Skip Inactive Code]、[Skip Comments]、および [Search Only Comments] オプションを尊重していませんでした。
修正: Windows エクスプローラーで複数のファイルを選択し、右クリックして [Open with Source Insight (Source Insight で開く)] を選択した場合、最初のファイルのみを開きます。
修正: 行の最大の長さが 4,092 を超えるファイルを読み込んだ場合、ファイル内でシンボルの解析が行われません。
修正: コマンド ラインからファイル名の引数を指定して呼び出した場合、[ファイル] > [最近使ったファイル] へファイルが追加されませんでした。Windows エクスプローラーでファイルを選択し、[Open with Source Insight (Source Insight で開く)] を選択した場合も同じ問題が発生しました。
変更: Symbol Info コマンドがコンテキスト ウィンドウのツールバーと右クリック メニューに追加されました。
修正: マクロ関数の RunCmdLine が不適切な値を返していました。これにより、ドキュメントに準拠し、プロセスが正常に起動した場合は True を返し、失敗した場合は False を返します。プロセスが終了コードを設定している場合、新しい関数である GetRunCmdLineExitCode を呼び出し、取得できます。
新規: マクロ関数:GetRunCmdLineExitCode()
: RunCmdLine
を呼び出して起動した最後のプロセスの終了コードを返します。これは、RunCmdLine
の fWait パラメーターが呼び出されて True に設定されている場合に限り有効です。
GetProjMasterFileList (hproj)
: プロジェクトのマスター ファイル リストのパスを返します。マスター
ファイルがプロジェクト内で使用されていない場合、空の文字列を返します。hproj
= NewProj や GetCurrentProj で返されるようなプロジェクト
ハンドルです。
SetProjMasterFileList (hproj, sMasterFile)
: プロジェクトのマスター ファイル
リストのパスを設定します。hproj
= NewProj や GetCurrentProj で返されるようなプロジェクト
ハンドルです。sMasterFile
= マスター ファイル リストの新しいファイルパスです。ファイルは既に存在するはずです。空の文字列を渡して、プロジェクトでマスター
ファイル リストの使用を無効にします。
注意: ファイル リストは、SyncProj の呼び出しなど、同期されるまでプロジェクトに影響を及ぼすことはありません。
修正: version 4.0.0092 での C++ 修正不具合: 戻り値の型が shared_ptr などの "スマート"なポインタテンプレート型を使用していた場合、関数の正しい戻り値の型を見つけることができませんでした。
修正: 長い行の Perl ファイルを解析するときにクラッシュする。 これは、ファイルの同期中、またはプロジェクトがバックグラウンドで解析されるときのアイドル状態で発生する可能性がありました。
修正: トークンマクロが使用されている場合に、誤った構造体メンバーを自動的に見つけ出すことがあります。
修正: Python: 一部のインポート文を解析する際にエラーが発生すると、残りのファイルが解析されなくなる可能性があります。
修正: Python: '#'で始まるコメントのみの行が、現在のインデント/ネスト レベルに間違って影響していました。
修正: メンバフィールドがトークンマクロ拡張で定義されていると、自動補完が動作しないことがありました。
修正: Project Folder Browser パネル、Project > Add and Remove Project Files:名前が 64文字より長い単一のフォルダにナビゲートできませんでした。
修正: C++: 戻り値の型が shared_ptr などの "スマート" なポインタ テンプレート型を使用していた場合、関数の戻り値の型を見つけることができませんでした。
修正: C++: グローバルスコープ解決演算子 :: が常に正しく解釈されるとは限りませんでした。
修正: C++: 演算子 [] を実装したテンプレートの配列要素の型を推定できませんでした。
修正: プロジェクト固有条件の編集、およびプロジェクト固有のインポートが読み取り専用プロジェクトで許可されました。
修正: 異なるプロジェクトを開いたときにプロジェクト固有の構成部品が読み込まれていなかった。
修正: "enhanced"(拡張) スクロールバーが使用されているかどうかによって、Options > Preferences > Windows で垂直スクロールバーが無効になっている場合、垂直スクロールバーにスクロールバーが表示されないことがありました。
修正: 5千万を超えるインデックスエントリを持つ非常に大きなプロジェクトを開くときのメモリ管理の問題。
変更: Style Properties で現在のファイルの既定のフォントを設定できるようになりました。 「デフォルト」スタイルを選択してフォントを選択すると、ファイルタイプオプションの一部である現在のファイルのスクリーンフォントが設定されます。 Options > File Type Options を選択し、スクリーンフォントを設定するのと同じです。
変更: Options > Preferences > Searching: "Automatically load selection into find pattern" (選択を検索パターンに自動的に読み込む) は、その意味を少し変更しました。 このオプションを無効にすると、挿入ポイントのテキストまたは選択したテキストが決して検索パターンに読み込まれません。 1つ以上の文字が選択されている場合は、それを読み込むために使用されます。
修正: ファイルが Source Insight の外部で変更されてから、再度読み込まれたときに、DocumentChanged マクロ イベントが呼び出されなかった。
修正: C++: 中括弧を使った Uniform 初期化が機能しませんでした。例: void SomeClass::Function() : member{x}
修正: C++: 桁区切り文字のサポート。例: int x = 234'000;
修正: C++: ラムダ関数: その他の修正: 参照、後続の戻り値の型、指定子、例外による変数の取得
修正: C++: std::unique_ptr を使用するポインター参照解除を修正。
修正: 検索結果: Lookup References および Search Files を使用して、一部の検索結果を表示するために不適切なコードページが使用されることがありました。
修正: ヘッダー ファイルを開くために、Jump to Definition コマンドを使用する場合、C/C++ の include ステートメントが相対パスに対して正しく動作しませんでした。
修正: 一部の .NET アセンブリをインポート中に、複数のエラーが発生しました。
修正: あまりにも多くの外部ライブラリまたはアセンブリをインポートするとクラッシュする可能性がありました。
修正: プロジェクトを開いていないとき、検索し、検索結果でファイル リンクをクリックするとクラッシュしました。
修正: 時々一時停止する: ある条件下で、インターネット アクセスがない場合、プログラムが数秒間、応答を停止することがあります。これに関連して、"HttpSendRequest" についてのエラー メッセージが表示されることがあります。
修正: ファイルをプロジェクトに追加するため、プロジェクト ファイル リスト パネルにドラッグアンドドロップしてプロジェクトに追加することができます。このリストはファイルをドロップした直後に更新していませんでした。
修正: Symbol ウィンドウ ペインに水平スクロールバーを追加しました。
修正: Project Symbol カテゴリ パネル: フォント設定が機能しませんでした。
新機能: Microchip C 拡張機能のサポートが追加されました。有効にするには、Options > Preferences > Languages を選択します。Special... ボタンをクリックします。"Support Microchip C extensions" のチェックボックスを選択します。
修正: コマンドラインが Unicode テキストを認識しませんでした。さらに、Windows エクスプローラーでファイルをダブルクリックしても、ファイル名が ANSI 以外の場合に開かれませんでした。
新規: [Options] - [Load Configuration] に、version 3.5 のカスタム コマンドをインポートするオプションが追加されました。
修正: C/C++ ソース ファイル: *.hh ファイルの関連付けを追加。
修正: [Project] - [Add and Remove Project Files] - プロンプト内のキーボードのショートカットを修正し、トップレベルのサブディレクトリを追加。
修正: Source Insight のアプリケーション ウィンドウを有効化する際、クラッシュする可能性がありました。
修正: [Search] - [Replace]: "Preserve Old Case (置換後のテキストの大文字と小文字を維持する)" オプションが動作していませんでした。
修正: Shift + CapsLock または Shift + Pause をタイプすると、不正な文字が挿入されました。
修正: C++: 匿名の名前空間が正しく解析されませんでした。
修正: C/C++: 指定されたイニシャライザが解析されていませんでした。
修正: C++: テンプレート クラスがメンバー関数に正しく解析されていませんでした。
例:
SomeClass::Function() { ... }
修正: 体験版で -ub コマンド ライン オプションを使用して、プロジェクトをバッチ モードで更新すると、クラッシュが発生しました。
修正: コンテキスト ウィンドウ オプションが保存されていませんでした - "Show base structure (基礎構造を表示)"。
修正: シンボル ペインでクラスやメンバー関数が存在しないことがありました。
修正: まれに、オートコンプリート ウィンドウが透明な背景で描画されました。
修正: プロジェクトを HTML にエクスポート: 本文の背景色は設定されていましたが、テキストの色が設定されていませんでした。
修正: Perl による解析でクラッシュが修正されました。
修正: リレーション ウィンドウのグラフ ビューでノードを選択する際、クラッシュする可能性がありました。
修正: 大規模プロジェクトのメモリ管理が改善されました。非常に大きなプロジェクトの場合、プロジェクト シンボル パネルでメモリが不足することがありました。
修正: ブロック選択の際、マクロ関数の GetWndSel が不適切な選択レコードを返していました。xLeft および xRight フィールドが存在していませんでした。
修正: Code Reformatter (コードの再フォーマット): 'const' や 'final' などの関数指示子の処理が改善されました。
修正: [Window] - [Pick Window]: ウィンドウを閉じても、ウィンドウ タブ バーがすぐに更新されませんでした。
変更: Source Insight のプログラムが無効化された際、プロジェクト シンボル パネルのテキストが削除されませんでした。
修正: Windows アカウント名に英数字以外の日本語文字などが含まれる場合にエラーが発生しました。これにより、プロジェクト リストの作成ができない、またはプロジェクトを開くことができないというエラー メッセージが表示される可能性がありました。
修正: Lookup References: 入力した文字列が宣言されたシンボル名でない場合、結果が見つかりませんでした。たとえば、コメント内の単語。これはバージョン 3.5 とは異なります。
修正: C++: 関数宣言で、特定のキーワードの後に純粋な仮想構文 "= 0"を使用すると、関数が認識されなくなりました。
修正: C++: パラメータリストを省略した Lambda 関数の解析エラー。 例:[capture-list] {body}
修正: コード スニペット: スニペットを挿入したときに、インデントが正しくないことがありました。
修正: 新しい行を正しいインデントレベルで貼り付けることになっているインテリジェント ペースト機能の不具合を修正。
修正: マウス使用: Ctrl + 左クリックが正しく Jump To Definition の動作をしませんでした。これは、v3.5 のキー組み合わせ設定をインポートした場合に発生しました。
修正: プロジェクトの同期中にクラッシュする可能性がありました。クラステンプレートのパラメーター宣言する構文エラーのあるコードを解析中にこのクラッシュが起こりました。
修正: アプリケーションの横または下部にドッキングされたコンテキスト ウィンドウと他のパネルの高さを覚えていませんでした。
修正: カスタム コマンド: "ファイル名を指定して実行" のコマンドラインの文字列の長さによってクラッシュすることがありました。
修正: マクロ ファイルで、/* と */ 区切り文字を使用して、コメントした場合、マクロは動作しませんでした。
修正: "Delimiters (区切り文字)" 用のスタイル更新。 不正な改ページを引き起こした "print together with next line" プロパティを削除しました。
修正: スタイル プロパティ: 新規のユーザー定義スタイルを追加した場合、その設定が次回の Source Insight の起動時に復元されませんでした。
修正: スタイル プロパティ: Font Name の下の [Pick...] を選択してから、キャンセルした場合、現在のフォントが台無しになりました。
修正: ディレクトリの比較: Comparison Method (比較メソッド) が "compare file contents (ファイルの内容を比較する)" に設定された場合、ファイルのタイムスタンプが異なっている場合に実行しませんでした。このメソッドを選択した場合、タイムスタンプは完全に無視するようにしました。
修正: "Smart Beginning of Line" コマンドの説明の記載ミスを修正しました。
修正: コンフィグレーション ファイルを読み込むときに発生したメモリーリークを修正。
セキュリティの変更: 今回、Source Insight インストール ファイルに含まれるすべてのプログラム ファイルは、Source Dynamics 社の Authenticode コード署名証明書を使用して署名されました。以前は、セットアップ ファイルだけが署名されていました。プログラム ファイルが正しく署名され、改ざんされていないことを確認するには、Windows エクスプローラーでその .exe ファイルを右クリックして、プロパティを選択し、[デジタル署名] タブを表示します。リスト上に Source Dynamics 署名を確認できます。それを選択し、[詳細] をクリックして、署名情報の詳細を表示できます。
修正: Unicode 以外のコードページでエンコードされたファイルが正しく表示されませんでした。特定のエンコーディングを使用してファイルを開いたり、再読み込みしたり、保存するための新しいコマンドが
[File]
メニューに追加されました。 これは、日本語 Shift-JIS、中国語
Big5、その他のコードページを使用するファイルに影響します。ファイルを開いてエンコードが正しくないと思われる場合、[File] - [Reload As Encoding
(エンコードしなおして再読み込み)] を選択し、正しいエンコードを選択してください。
参照: File Encoding
新規: [Options] - [Preference] を選択し、[Files] タブに新しいオプション "Default encoding (デフォルトのエンコード)" が追加されました。 Source Insight は、非 Unicode ファイルを開くとき、または最初に新しいファイルを保存するときに、この文字エンコードを想定します。
修正: Input Method Editor (IME) が文字や記号の挿入に失敗しました。 (日本語の入力が修正されました。)
修正: プロジェクトのシンボルリストなどのパネル ウィンドウで、クリップボードからテキストを貼り付けた場合、リストが自動補完されませんでした。
修正: Alt + G がプロジェクト シンボル リスト パネルをアクティブにしませんでした。
修正: カスタム コマンド: "Capture Output" と "Paste Output" の両方を無効にすると、エラーまたはクラッシュする可能性がありました。
修正: ファイルをネットワーク ドライブに保存するとき、ファイルが Source Insight 以外で変更されたという誤ったメッセージが表示されることがありました。
修正: Temp ファイルがクリーンアップされず、削除されないことがありました。
修正: コンテキスト ウィンドウを使用し、コンテキスト ウィンドウ内に表示されたファイルを開いて編集し、保存せずに閉じた場合、クラッシュすることがありました。
修正: Python : 行末に行継続のバックスラッシュを処理していませんでした。
修正: ファイル比較ウィンドウ: 一部のキーコマンドが機能しませんでした。
修正: Unicode 以外のコードページでエンコードされたファイルが正しく表示されませんでした。特定のエンコーディングを使用してファイルを開いたり、再読み込みしたり、保存するための新しいコマンドが
[File]
メニューに追加されました。 これは、日本語 Shift-JIS、中国語
Big5、その他のコードページを使用するファイルに影響します。ファイルを開いてエンコードが正しくないと思われる場合、[File] - [Reload As Encoding
(エンコードしなおして再読み込み)] を選択し、正しいエンコードを選択してください。
参照: File Encoding
新規: [Options] - [Preference] を選択し、[Files] タブに新しいオプション "Default encoding (デフォルトのエンコード)" が追加されました。 Source Insight は、非 Unicode ファイルを開くとき、または最初に新しいファイルを保存するときに、この文字エンコードを想定します。
修正: Input Method Editor (IME) が文字や記号の挿入に失敗しました。 (日本語の入力が修正されました。)
修正: プロジェクトのシンボルリストなどのパネル ウィンドウで、クリップボードからテキストを貼り付けた場合、リストが自動補完されませんでした。
修正: Alt + G がプロジェクト シンボル リスト パネルをアクティブにしませんでした。
修正: カスタム コマンド: "Capture Output" と "Paste Output" の両方を無効にすると、エラーまたはクラッシュする可能性がありました。
修正: ファイルをネットワーク ドライブに保存するとき、ファイルが Source Insight 以外で変更されたという誤ったメッセージが表示されることがありました。
修正: Temp ファイルがクリーンアップされず、削除されないことがありました。
修正: コンテキスト ウィンドウを使用し、コンテキスト ウィンドウ内に表示されたファイルを開いて編集し、保存せずに閉じた場合、クラッシュすることがありました。
修正: Python : 行末に行継続のバックスラッシュを処理していませんでした。
修正: ファイル比較ウィンドウ: 一部のキーコマンドが機能しませんでした。