Source Insight 3.5 ユーザー マニ ュ アル ( 参考訳 ) 発行 : 2008 年 7 月 7 日 エ ク セルソ フ ト 株式会社 〒 108-0014 東京都港区芝 5-1-9 ブゼンヤビル 4F TRANSLATED BY XLSOFT CORPORATION 目次 第1章 は じ めに ..................................................................... 17 製品概要 .................................................................... 18 製品の特長 ................................................................ 20 システム要件 ................................................................. 32 テ ク ニ カル サポー ト ................................................. 34 第2章 セ ッ ト ア ッ プ と ク イ ッ ク ス タ ー ト ........................... 35 Source Insight のイ ン ス ト ール ................................. 35 Windows NT/2000/XP へのイ ン ス ト ール ...................... 35 バージ ョ ン 2 からのア ッ プグレー ド ............................. 35 バージ ョ ン 3.0 および 3.1 からのア ッ プグレー ド ........ 36 CD-ROM の挿入 ............................................................ 36 イ ン ス ト ール先の選択 ................................................... 36 バージ ョ ン 3 と バージ ョ ン 2 の併用............................. 37 Source Insight の設定 .................................................... 37 シ リ アル番号の入力 ....................................................... 37 コ モ ン プ ロ ジ ェ ク ト の作成 ........................................... 38 プ ロ ジ ェ ク ト の作成 ....................................................... 38 第3章 ウ ィ ン ド ウの説明....................................................... 41 Source Insight ア プ リ ケーシ ョ ン ウ ィ ン ド ウ........... 41 ツールバー ................................................................ 42 ソ ース フ ァ イル ウ ィ ン ド ウ ..................................... 45 シ ンボル ウ ィ ン ド ウ ................................................. 47 フ ローテ ィ ン グ ウ ィ ン ド ウ ...................................... 49 プ ロ ジ ェ ク ト ウ ィ ン ド ウ .......................................... 50 フ ァ イルを開 く .............................................................. 51 プ ロ ジ ェ ク ト ウ ィ ン ド ウ ビ ュ ー ................................... 51 コ ン テキス ト ウ ィ ン ド ウ .......................................... 55 フ ァ イルのプ レ ビ ュ ー ................................................... 56 宣言 と 定義の表示 .......................................................... 56 構造を表示するベース タ イ プの解読 ............................ 58 コ ン テキス ト ウ ィ ン ド ウのカ ス タ マ イ ズ ..................... 58 リ レ ーシ ョ ン ウ ィ ン ド ウ .......................................... 59 Source Insight ユーザー マニ ュ アル 1 目次 アウ ト ラ イ ン と グ ラ フ ビ ュ ー ........................................ 60 リ レーシ ョ ン シ ッ プの タ イ プ ......................................... 61 リ レーシ ョ ン ウ ィ ン ド ウの性能 .................................... 61 リ レーシ ョ ン シ ッ プのルール ......................................... 61 コ ール グ ラ フ ................................................................. 62 複数の リ レーシ ョ ン ウ ィ ン ド ウ .................................... 62 リ レーシ ョ ン ウ ィ ン ド ウのカ ス タ マ イ ズ ...................... 62 ク リ ッ プ ウ ィ ン ド ウ ................................................. 63 ク リ ッ プ と は .................................................................. 63 新規ク リ ッ プの作成 ....................................................... 63 ク リ ッ プの保存 .............................................................. 64 検索結果ウ ィ ン ド ウ .................................................. 64 第4章 SOURCE INSIGHT の概念.............................................. 67 プ ロ ジ ェ ク ト ............................................................. 67 プ ロ ジ ェ ク ト の機能 ....................................................... 69 プ ロ ジ ェ ク ト の作成 ....................................................... 69 プ ロ ジ ェ ク ト デ ィ レ ク ト リ ........................................... 70 フ ァ イル名の正規化 ....................................................... 71 プ ロ ジ ェ ク ト リ ス ト ...................................................... 72 プ ロ ジ ェ ク ト に フ ァ イルを追加する .............................. 72 プ ロ ジ ェ ク ト から フ ァ イルを削除する .......................... 73 プ ロ ジ ェ ク ト を閉 じ る ................................................... 73 プ ロ ジ ェ ク ト を開 く ....................................................... 73 プ ロ ジ ェ ク ト の削除 ....................................................... 74 プ ロ ジ ェ ク ト 設定の変更 ................................................ 74 チームでの作業 ......................................................... 74 ネ ッ ト ワー クの使用 ....................................................... 75 プ ロ ジ ェ ク ト に リ モー ト フ ァ イルを追加する .............. 75 ソ ース管理の使用 ........................................................... 76 シ ンボルお よびプ ロ ジ ェ ク ト について ..................... 77 ソ ース フ ァ イルの解析に使用する言語 ......................... 78 シ ンボルの命名 .............................................................. 78 シ ンボル デー タ ベースの更新 ........................................ 78 シ ンボル形式のフ ァ イル名 ............................................ 79 プ ロ ジ ェ ク ト フ ァ イルの同期 ........................................ 79 コ モ ン プ ロ ジ ェ ク ト の使用 : プ ロ ジ ェ ク ト シ ンボル パス 80 プ ロ ジ ェ ク ト シ ンボル パスの検索 ............................... 81 2 Source Insight ユーザー マニ ュ アル 目次 プ ロ ジ ェ ク ト を開かないで作業する ............................. 81 ベース プ ロ ジ ェ ク ト ...................................................... 81 プ ロ グ ラ ミ ン グ言語 .................................................. 82 ビル ト イ ン言語 .............................................................. 82 カ ス タ ム言語 ................................................................. 82 .NET Framework のサポー ト ......................................... 83 HTML の使用 ................................................................. 84 HTML と ASP の複合言語の使用 ................................... 84 Java 言語の編集 ............................................................ 84 C/C++ 言語の機能 ..................................................... 85 非ア ク テ ィ ブ コ ー ド の処理 - ifdef のサポー ト .............. 85 条件付き解析 ................................................................. 86 プ リ プ ロ セ ッ サ ト ー ク ン マ ク ロ ................................... 87 解析の考慮事項 .............................................................. 90 解析の結果を良 く する コ ーデ ィ ングの コ ツ ................... 91 ド キ ュ メ ン ト タ イ プ ................................................. 92 ド キ ュ メ ン ト 固有のオプ シ ョ ン ..................................... 93 フ ァ イル と ド キ ュ メ ン ト タ イ プの関連付け .................. 93 特殊な フ ァ イル名の関連付け ........................................ 93 新規フ ァ イル タ イ プの追加 ........................................... 94 ド キ ュ メ ン ト オプ シ ョ ンの編集 .................................... 94 シ ラ ブル イ ンデ ッ ク ス を使用 し たシ ン ボル名の入力94 シ ンボル シ ラ ブル と は .................................................. 95 プ ロ ジ ェ ク ト のシ ンボル イ ンデ ッ ク ス ......................... 95 プ ロ ジ ェ ク ト 用イ ンデ ッ ク ス オプ シ ョ ンの設定 .......... 95 シ ラ ブル マ ッ チ ングの制御 ........................................... 96 シ ラ ブル マ ッ チ ングの使用 ........................................... 96 シ ラ ブル シ ョ ー ト カ ッ ト の使用 .................................... 97 解析機能 .................................................................... 98 構文解析 ......................................................................... 98 シ ンボル ナビゲーシ ョ ン コ マ ン ド ............................... 98 プ ロ ジ ェ ク ト ウ ィ ン ド ウのシ ンボル リ ス ト ................. 99 コ ール ツ リ ー と 参照ツ リ ー ........................................... 99 コ ン テキス ト ウ ィ ン ド ウ ............................................ 100 コ マ ン ド ラ イ ン シ ンボル ア ク セス ............................ 100 シ ンボルへの参照の検索 ............................................. 100 プ ロ ジ ェ ク ト レポー ト の作成 ..................................... 100 名前の変更 ................................................................... 101 構文 フ ォ ーマ ッ ト と ス タ イル.................................. 101 Source Insight ユーザー マニ ュ アル 3 目次 ス タ イルの動作 ............................................................ 101 フ ォ ーマ ッ ト プ ロパテ ィ ............................................. 102 親ス タ イル ................................................................... 102 ス タ イルのソ ース コ ー ド への適用 .............................. 104 言語キーワー ド ス タ イル ............................................. 104 宣言ス タ イル ................................................................ 105 参照ス タ イル ................................................................ 105 Inactive Code ス タ イル ................................................ 106 コ メ ン ト ス タ イル ........................................................ 107 構文修飾 ....................................................................... 108 構文フ ォ ーマ ッ ト の制御 .............................................. 109 テキス ト の検索 と 置換 ............................................ 111 シ ンボル参照の検索 ......................................................111 識別子名の変更 ............................................................ 112 カ レ ン ト フ ァ イルの検索 ............................................. 112 カ レ ン ト フ ァ イルの置換 ............................................. 112 複数フ ァ イルの検索 ..................................................... 112 複数フ ァ イルの置換 ..................................................... 113 キーワー ド の検索 ......................................................... 113 正規表現 .................................................................. 113 ワ イル ド カ ー ド マ ッ チ ング ......................................... 113 行頭または行末のマ ッ チ ング ....................................... 113 タ グまたはスペースのマ ッ チ ング ............................... 114 0 または 1 回以上の繰 り 返 し マ ッ チ ング ..................... 114 文字セ ッ ト のマ ッ チ ング .............................................. 114 正規表現グループ ......................................................... 115 正規表現文字の無効化 ................................................. 115 正規表現のま と め ......................................................... 115 ブ ッ ク マー ク ........................................................... 116 選択履歴のナ ビゲーシ ョ ン ..................................... 117 [Go Back] と [Go Forward] コ マ ン ド ............................ 117 ソ ース リ ン ク を使用 し たナ ビゲーシ ョ ン ............... 117 検索 と ソ ース リ ン ク .................................................... 118 ソ ース リ ン クの作成 .................................................... 119 カ ス タ ム コ マ ン ド 出力からのソ ース リ ン ク ............... 119 ソ ース リ ン クの移動 .................................................... 119 テキス ト のス ク ロール と 選択.................................. 120 フ ァ イル内の移動 ......................................................... 120 ス ク ロール コ マ ン ド .................................................... 121 4 Source Insight ユーザー マニ ュ アル 目次 選択 コ マ ン ド ............................................................... 121 選択範囲の拡張 ............................................................ 123 選択シ ョ ー ト カ ッ ト ..................................................... 124 フ ァ イル バ ッ フ ァ について .................................... 126 タ イムス タ ン プ ............................................................ 127 Source Insight 起動時の状態 ....................................... 127 ク ラ ッ シ ュか ら の リ カバ リ ..................................... 128 リ カバ リ 手順 ............................................................... 128 警告 .............................................................................. 129 コ マ ン ド ラ イ ンの構文 ........................................... 129 フ ァ イルの引数の指定 ................................................. 130 フ ァ イルを開 く ............................................................ 130 ワー ク スペース を開 く ................................................. 131 コ マ ン ド ラ イ ン オプ シ ョ ン ........................................ 131 ユーザーレ ベル コ マ ン ド ........................................ 133 カ ス タ ム コ マ ン ド ................................................... 134 Source Insight のカ ス タ マ イ ズ ............................... 135 設定のロー ド と 保存 ..................................................... 135 プ ロ ジ ェ ク ト 設定 ........................................................ 135 設定の保存 .............................................................. 136 設定フ ァ イル ............................................................... 137 設定フ ァ イルの格納場所 ............................................. 137 設定のロー ド ............................................................... 137 設定の保存 ................................................................... 137 ワー ク ス ペースの保存 と リ ス ト ア ......................... 138 ワー ク ス スペースのロー ド と 保存 .............................. 138 ワー ク スペースで タ ス ク を管理する .......................... 139 パ フ ォ ーマ ン スの調整 ............................................ 139 パフ ォ ーマ ン スに影響する要因 ................................... 139 プ ログ ラムのス ピー ド ア ッ プ ...................................... 143 Source Insight に よ り 作成 さ れる フ ァ イル ............. 147 プ ログ ラム デ ィ レ ク ト リ のフ ァ イル .......................... 147 ユーザーご と のデー タ フ ォルダ .................................. 148 ユーザーご と に作成 さ れる フ ァ イル ........................... 148 すべてのユーザー用のテ ン プ レー ト 設定 .................... 150 プ ロ ジ ェ ク ト ご と に作成 さ れる フ ァ イル .................... 150 Source Insight ユーザー マニ ュ アル 5 目次 第5章 コ マ ン ド リ フ ァ レ ン ス ............................................ 151 コ マ ン ド の概要 ....................................................... 151 About Source Insight ............................................... 152 Activate Menu コ マ ン ド .......................................... 152 Activate Global Symbol List..................................... 153 Activate Relation Window........................................ 153 Activate Search Results .......................................... 153 Activate Symbol Window ......................................... 153 Add and Remove Project Files ................................ 153 Add File ................................................................... 156 Add File List............................................................. 157 Advanced Options ................................................... 157 Back Tab.................................................................. 158 Backspace ............................................................... 158 Beginning of Line..................................................... 158 Beginning of Selection............................................. 158 Blank Line Down ..................................................... 158 Blank Line Up .......................................................... 158 Block Down ............................................................. 158 Block Up .................................................................. 158 Bookmark ................................................................ 159 Bottom of File .......................................................... 159 Bottom of Window ................................................... 159 Browse Files............................................................ 160 Browse Project Symbols ......................................... 160 [Browse Project Symbols] ダ イ ア ロ グ ボ ッ ク ス ..... 161 Browse Local File Symbols ..................................... 163 Cascade Windows................................................... 165 Checkpoint .............................................................. 165 Checkpoint All ......................................................... 165 Clear Highlights ....................................................... 166 Clip Properties......................................................... 166 Clip Window Properties ........................................... 166 Close ....................................................................... 167 Close All .................................................................. 168 6 Source Insight ユーザー マニ ュ アル 目次 Close Project ........................................................... 168 Close Window ......................................................... 168 Color Options .......................................................... 169 Command Shell ....................................................... 170 Complete Symbol .................................................... 170 Context Window ...................................................... 171 Context Window Properties ..................................... 171 Copy ........................................................................ 173 Copy Line ................................................................ 174 Copy Line Right ....................................................... 174 Copy List ................................................................. 174 Copy Symbol ........................................................... 174 Copy To Clip ............................................................ 175 Create Key List ........................................................ 175 Create Command List ............................................. 175 Cursor Down ........................................................... 175 Cursor Left............................................................... 175 Cursor Right ............................................................ 175 Cursor Up ................................................................ 176 Custom Commands................................................. 176 Cut ........................................................................... 184 Cut Line ................................................................... 185 Cut Line Left ............................................................ 185 Cut Line Right.......................................................... 185 Cut Selection] or Paste............................................ 185 Cut Symbol .............................................................. 185 Cut To Clip ............................................................... 185 Cut Word ................................................................. 185 Cut Word Left .......................................................... 186 Delete ...................................................................... 186 Delete All Clips ........................................................ 186 Delete Character ..................................................... 186 Delete Clip ............................................................... 186 Delete File ............................................................... 186 Delete Line .............................................................. 186 Display Options ....................................................... 187 Source Insight ユーザー マニ ュ アル 7 目次 Document Options................................................... 194 Draft View ................................................................ 200 Drag Line Down....................................................... 200 Drag Line Down More ............................................. 200 Drag Line Up ........................................................... 201 Drag Line Up More .................................................. 201 Duplicate ................................................................. 201 Duplicate Symbol .................................................... 201 Edit Condition .......................................................... 201 Enable Event Handlers............................................ 202 End of Line .............................................................. 202 End of Selection ...................................................... 203 Exit .......................................................................... 203 Exit and Suspend .................................................... 203 Expand Special........................................................ 203 File Options ............................................................. 203 Folder Options......................................................... 207 Function Down ........................................................ 209 Function Up ............................................................. 209 General Options ...................................................... 209 Go Back................................................................... 212 Go Back Toggle ....................................................... 213 Go Forward ............................................................. 213 Go To First Link ....................................................... 213 Go To Line ............................................................... 215 Go To Next Change ................................................. 215 Go To Previous Change .......................................... 215 Go To Next Link....................................................... 215 Go To Previous Link ................................................ 215 Help ......................................................................... 215 Help Mode ............................................................... 216 Highlight Word ......................................................... 216 Incremental Search ................................................. 216 Incremental Search Mode ....................................... 217 Incremental Search Backward................................. 217 Horizontal Scroll Bar................................................ 217 8 Source Insight ユーザー マニ ュ アル 目次 HTML Help .............................................................. 217 Indent Left................................................................ 217 Indent Right ............................................................. 218 Insert ASCII ............................................................. 218 Insert File................................................................. 219 Insert Line................................................................ 220 Insert Line Before Next............................................ 220 Insert New Line ....................................................... 220 Join Lines ................................................................ 220 Jump To Base Type ................................................. 221 Jump To Caller ........................................................ 221 Jump To Definition ................................................... 221 Jump To Link ........................................................... 222 Jump To Prototype .................................................. 222 Key Assignments..................................................... 222 Keyword List ............................................................ 224 Language Options ................................................... 228 Language Properties ............................................... 231 Line Numbers .......................................................... 237 Link All Windows ..................................................... 238 Link Window ............................................................ 238 Load Configuration .................................................. 239 Load File.................................................................. 241 Load Search String.................................................. 243 Lock Context Window.............................................. 243 Lock Relation Window ............................................. 243 Lookup References ................................................. 244 Make Column Selection .......................................... 247 Menu Assignments .................................................. 248 New ......................................................................... 249 New Clip .................................................................. 250 New Relation Window ............................................. 250 New Project ............................................................. 250 New Window ........................................................... 251 Next File .................................................................. 251 Next Relation Window View .................................... 251 Source Insight ユーザー マニ ュ アル 9 目次 Open........................................................................ 251 Open Project ........................................................... 252 Page Down .............................................................. 253 Page Setup.............................................................. 253 Page Up .................................................................. 255 Paren Left ................................................................ 255 Paren Right ............................................................. 255 Parse Source Links ................................................. 255 Paste ....................................................................... 256 Paste From Clip....................................................... 257 Paste Line ............................................................... 257 Paste Symbol .......................................................... 257 Play Recording ........................................................ 257 Preferences ............................................................. 257 Print ......................................................................... 258 Print Relation Window ............................................. 258 Project Document Types ......................................... 259 Project File Browser ................................................ 259 Project File List ........................................................ 260 Project Symbol Classes .......................................... 261 Project Symbol List.................................................. 261 Project Window Properties ...................................... 262 Project Settings ....................................................... 263 Project Report ......................................................... 268 Project Window コ マ ン ド ........................................ 268 Rebuild Project ........................................................ 269 Record New Default Properties ............................... 270 Redo ........................................................................ 270 Redo All ................................................................... 271 Redraw Screen........................................................ 271 Reform Paragraph ................................................... 271 Refresh Relation Window........................................ 271 Relation Graph Properties ....................................... 272 Relation Window ..................................................... 273 Relation Window Properties .................................... 273 [Relation Window Properties] ダ イ ア ロ グ ボ ッ ク ス 274 10 Source Insight ユーザー マニ ュ アル 目次 Reload File .............................................................. 279 Reload Modified Files .............................................. 279 Remove File ............................................................ 280 Remove Project ....................................................... 281 Remote Options ...................................................... 282 Rename ................................................................... 283 Renumber................................................................ 283 Repeat Typing ......................................................... 284 Replace ................................................................... 284 Replace Files........................................................... 286 Restore File ............................................................. 288 Restore Lines .......................................................... 289 Save ........................................................................ 289 Save A Copy ........................................................... 290 Save All ................................................................... 290 Save All Quietly ....................................................... 291 Save As ................................................................... 291 Save Configuration .................................................. 292 Save Selection ........................................................ 294 Save Workspace ..................................................... 294 Scroll Half Page Down ............................................ 294 Scroll Half Page Up ................................................. 294 Scroll Left................................................................. 294 Scroll Line Down ..................................................... 295 Scroll Line Up .......................................................... 295 Scroll Right .............................................................. 295 SDK Help................................................................. 295 Search ..................................................................... 295 Search Backward .................................................... 296 Search Backward for Selection ............................... 296 Search Files ............................................................ 297 Search Forward ....................................................... 300 Search Forward for Selection .................................. 300 Search List .............................................................. 300 Search Project ......................................................... 301 Searching Options ................................................... 301 Source Insight ユーザー マニ ュ アル 11 目次 Select All ................................................................. 302 Select Block............................................................. 302 Select Char Left....................................................... 302 Select Char Right .................................................... 302 Select Function or Symbol ...................................... 302 Select Line............................................................... 302 Select Line Down .................................................... 302 Select Line Up ......................................................... 302 Select Match............................................................ 302 Select Next Window ................................................ 302 Select Sentence ...................................................... 303 Select Symbol ......................................................... 303 Select To.................................................................. 303 Select To End Of File............................................... 303 Select To Top Of File ............................................... 303 Select Word ............................................................. 303 Select Word Left ...................................................... 303 Select Word Right.................................................... 303 Selection History ..................................................... 304 Setup Common Projects.......................................... 304 Setup HTML Help .................................................... 306 Setup WinHelp File.................................................. 306 Show Clipboard ....................................................... 306 Show File Status...................................................... 307 Simple Tab............................................................... 307 Smart End of Line.................................................... 307 Smart Beginning of Line .......................................... 307 Smart Rename ........................................................ 307 Smart Tab ................................................................ 309 Sort Symbol Window ............................................... 310 Sort Symbols By Line .............................................. 310 Sort Symbols by Name............................................ 310 Sort Symbols By Type ............................................. 311 Source Dynamics on the Web ................................. 311 Start Recording........................................................ 311 Stop Recording........................................................ 311 12 Source Insight ユーザー マニ ュ アル 目次 Style Properties ....................................................... 311 Symbol Info ............................................................. 314 Symbol Lookup Options .......................................... 315 Symbol Window コ マ ン ド ....................................... 317 Symbol Window Properties ..................................... 318 Sync File Windows .................................................. 319 Synchronize Files .................................................... 319 Syntax Decorations ................................................. 320 Syntax Formatting ................................................... 322 Tile Horizontal.......................................................... 325 Tile One Window ..................................................... 325 Tile Two Windows.................................................... 325 Tile Vertical .............................................................. 325 Toggle Insert Mode .................................................. 325 Top of File ................................................................ 325 Top of Window ......................................................... 326 Touch All Files in Relation ....................................... 326 Typing Options ........................................................ 327 Undo ........................................................................ 330 Undo All ................................................................... 331 Vertical Scroll Bar .................................................... 331 View Relation Outline .............................................. 331 View Relation Window Horizontal Graph................. 331 View Relation Window Vertical Graph ..................... 331 Window List ............................................................. 332 Word Left ................................................................. 333 Word Right............................................................... 333 Zoom Window ......................................................... 333 第6章 マ ク ロ言語ガ イ ド ..................................................... 335 マ ク ロ言語の概要.................................................... 335 基本的な構文規則 ........................................................ 336 変数 ......................................................................... 339 変数の宣言 ................................................................... 340 変数の初期化 ............................................................... 340 Source Insight ユーザー マニ ュ アル 13 目次 グローバル変数 ............................................................ 340 変数名の拡張 ................................................................ 341 文字列内の変数の拡張 ................................................. 342 変数の演算 ................................................................... 342 文字列のイ ンデ ッ ク ス ................................................. 342 レ コ ー ド 変数 ................................................................ 343 レ コ ー ド 変数の保存 ..................................................... 343 配列手法 ....................................................................... 344 特別な定数 .............................................................. 345 演算子...................................................................... 345 条件およびループ : if-else と while ......................... 346 命名規則 .................................................................. 349 標準のレ コ ー ド 構造 ................................................ 350 Bookmark レ コ ー ド ...................................................... 350 Bufprop レ コ ー ド .......................................................... 350 DIM レ コ ー ド ............................................................... 351 Link レ コ ー ド ............................................................... 351 ProgEnvInfo レ コ ー ド .................................................. 351 ProgInfo レ コ ー ド ........................................................ 352 Rect レ コ ー ド ............................................................... 353 Selection レ コ ー ド ....................................................... 353 Symbol レ コ ー ド .......................................................... 354 SYSTIME レ コ ー ド ...................................................... 355 内部マ ク ロ関数 ....................................................... 355 文字列関数 .............................................................. 355 ユーザー入力および出力関数.................................. 357 バ ッ フ ァ リ ス ト 関数 ............................................... 361 フ ァ イル バ ッ フ ァ 関数 ........................................... 361 環境関数 と プ ロ セス関数......................................... 366 ウ ィ ン ド ウ リ ス ト 関数 ........................................... 369 ウ ィ ン ド ウ関数 ....................................................... 370 Bookmark 関数 ........................................................ 376 シ ンボル リ ス ト 関数 ............................................... 377 シ ンボル関数 ........................................................... 379 関数の検索 .............................................................. 385 プ ロ ジ ェ ク ト 関数.................................................... 388 14 Source Insight ユーザー マニ ュ アル 目次 その他のマ ク ロ関数 ................................................ 391 マ ク ロ についてのその他の情報 .............................. 392 デバ ッ グ ....................................................................... 392 持続性 .......................................................................... 392 非自己書き換えマ ク ロ ................................................. 392 サン プル マ ク ロ ........................................................... 392 イ ベ ン ト ハン ド ラ ................................................... 393 第7章 マ ク ロ イ ベン ト ハン ド ラ ........................................ 395 マ ク ロ イ ベン ト ハン ド ラ ....................................... 395 イ ベ ン ト ハン ド ラ の使用 ........................................ 396 イ ベ ン ト ハン ド ラ の Source Insight への追加........ 397 イ ベン ト ハン ド ラの有効化 ......................................... 397 イ ベン ト ハン ド ラ フ ァ イルの編集 ............................. 397 イ ベン ト ハン ド ラのエ ラ ー ......................................... 397 同期イ ベン ト と 非同期イ ベン ト .................................. 398 その他の ヒ ン ト ............................................................ 398 ア プ リ ケーシ ョ ン イ ベン ト .................................... 398 ド キ ュ メ ン ト イ ベン ト ........................................... 399 プ ロ ジ ェ ク ト イ ベン ト ........................................... 400 ス テー タ ス バー イ ベン ト ....................................... 400 第8章 付録 : 以前のバージ ョ ンから のア ッ プグ レー ド ...... 401 バージ ョ ン 3.1 またはバージ ョ ン 3.0 か ら のア ッ プグ レ ー ド 401 ユーザーご と のデー タ フ ォルダ .................................. 401 ユーザーご と のプ ロ ジ ェ ク ト リ ス ト .......................... 402 プ ロ ジ ェ ク ト フ ァ イルの保存 ..................................... 402 .NET Framework のサポー ト ....................................... 403 バージ ョ ン 2 か ら のア ッ プグ レー ド ...................... 403 バージ ョ ン 3 のイ ン ス ト ール ...................................... 404 以前のプ ロ ジ ェ ク ト を開 く .......................................... 404 以前のプ ロ ジ ェ ク ト の検索 .......................................... 404 以前のカ ス タ マ イズのロー ド ...................................... 404 バージ ョ ン 3 と バージ ョ ン 2 の併用........................... 405 バージ ョ ン 3 の新機能 ............................................ 405 Source Insight ユーザー マニ ュ アル 15 目次 言語機能の改良 ............................................................ 406 参照機能 と 解析機能の改良 .......................................... 407 編集機能 と 表示機能の改良 .......................................... 408 新 し い コ マ ン ド ....................................................... 409 新 し い コ マ ン ド の リ ス ト .............................................. 409 以前のバージ ョ ン と のフ ァ イル形式の互換性 ............. 412 第9章 16 LICENSE AGREEMENT ................................................ 415 Source Insight ユーザー マニ ュ アル 第1章 はじめに Source Insight をお買い上げ頂 き あ り が と う ご ざい ます。 Source Insight は、 10 年以上に渡 り 改良を重ね進化 し 続けてい る 製品です。 Source Insight は生産性を向上 さ せ、 プ ロ グ ラ ミ ン グ を楽 し く し ます。 こ の章では、 Source Insight の機能について ご紹介 し ます。 Source Insight ユーザー マニ ュ アル 17 第1章 は じ めに 製品概要 問題点 開発者の周辺には、 多数の ソ ース フ ァ イ ルが存在 し ます。 第三者が記 述 し たプ ロ グ ラ ム ソ ースや関数を扱わなければな ら ない こ と も あ り ま す。 その コ ー ド が ど の よ う に動作す る か を理解 し 、 関連す る フ ァ イ ル について も 調査や確認が必要です。 自身が作成 し た コ ー ド ではない コ ー ド も 、 ま た、 かな り 以前に記述 し た コ ー ド について も 理解す る こ と が求め ら れ ます。 世界で有数の開発者のひ と り であ っ て も 、 プ ロ グ ラ ム中の無数に存在 す る プ ロ グ ラ ム部分をすべて見つけ る こ と は不可能です し 、 ま た、 コ ー ド を理解 し て、 それを記憶 し なければ、 作業の生産性を向上 さ せ る こ と はで き ません。 Source Insight は、 こ の よ う な問題に対応す る 最適な ソ リ ュ ーシ ョ ン で す。 Your Program Source Insight You ソ リ ュ ーシ ョ ン Source Insight はプ ロ グ ラ ム の理解 と 修正作業の効率を向上 さ せ る よ う デザ イ ン さ れてい ます。 Source Insight の目標は、 ソ ース コ ー ド を明確 に し て簡単な方法で情報を示 し 、 プ ロ グ ラ マが大規模で複雑なプ ロ ジ ェ ク ト を修正で き る よ う にす る こ と で、 プ ロ グ ラ ミ ン グ チームの生 産性を高め る こ と です。 プ ロ グ ラ ムの ソ ース コ ー ド を自由形式の情報デー タ ベース と し て考え て く だ さ い。 そ こ には ク ラ ス、 メ ンバ、 機能情報だけではな く 、 多 く の重要な コ メ ン ト も 含ま れてい ます。 ソ ース コ ー ド には履歴 も あ り ます。 実際、 多 く の大規模なプ ロ グ ラ ム は何年に も 渡っ て多 く のプ ロ グ ラ マが関わ り 、 作業時間は長 く な り ま 18 Source Insight ユーザー マニ ュ アル 第1章 製品概要 す。 以前の ソ ース コ ー ド がわか り に く く て も 、 無視す る わけにはい き ません。 Source Insight はプ ロ ジ ェ ク ト の ソ ース コ ー ド を取 り 巻 く 情報サーバー と し て機能 し ます。 Source Insight があれば、 プ ロ グ ラ ム内のシ ン ボル 情報やテ キ ス ト 情報に簡単にア ク セ ス で き ます。 プ ロ ジ ェ ク ト に新規に参加 し た場合で も 、 Source Insight を使用す る こ と で、 直ちに生産性の高い作業を開始で き ます。 Source Insight ユーザー マニ ュ アル 19 第1章 は じ めに 製品の特長 Source Insight は、 C/C++、 C#、 お よ び Java プ ロ グ ラ ム を解析で き る 、 プ ロ ジ ェ ク ト 指向のプ ロ グ ラ ム コ ー ド エデ ィ タ / ブ ラ ウ ザです。 ソ ー ス コ ー ド を解析 し 、 作業中に独自のシ ン ボ リ ッ ク 情報のデー タ ベース を ダ イ ナ ミ ッ ク に管理 し て、 役立つ コ ン テ キ ス ト 情報を自動的に提供 し ます。 Source Insight は、 優れたプ ロ グ ラ ム エデ ィ タ であ る だけではな く 、 参 照ツ リ ー、 ク ラ ス階層ダ イ ア グ ラ ム、 コ ール ツ リ ーを表示す る こ と も で き ます。 ま た、 ソ ース コ ー ド と 任意のプ ロ グ ラ ミ ン グ エデ ィ タ の ソ ース情報の迅速なナビ ゲーシ ョ ン も 特長です。 Source Insight は、 ソ ース コ ー ド と ソ ース情報に対 し て、 素早 く 、 革新 的な ア ク セ ス が可能です。 多 く の他のエデ ィ タ 製品 と 異な り 、 Source Insight は、 編集中に ソ ース コ ー ド を解釈 し て、 役立つ情報を素早 く 提 供 し ます。 図 1.1 Source Insight は、 革新的な構文 フ ォ ーマ ッ ト と ダ イ ナ ミ ッ ク な関係表 示を使用 し て、 ソ ース コ ー ド をわか り やす く 表示 し ます。 常に最新の情報 プ ロ グ ラ ムの開発中は コ ー ド が頻繁に変更 さ れ る ため、 コ ンパ イ ル さ れない コ ー ド 中のシ ン ボルを含めて細かい精度で コ ー ド を表示で き る こ と は重要です。 Source Insight は、 プ ロ ジ ェ ク ト の ソ ース フ ァ イ ルで 20 Source Insight ユーザー マニ ュ アル 第1章 製品の特長 定義 さ れてい る 関数、 メ ソ ッ ド 、 グ ロ ーバル変数、 構造体、 ク ラ ス、 お よ びその他の種類のシ ン ボルについて独自の高性能な シ ン ボル デー タ ベース を作成 し て利用 し ます。 Source Insight は、 こ のシ ン ボル デー タ ベース を利用 し て コ ー ド を瞬時に表示 し ます。 プ ロ ジ ェ ク ト を コ ン パ イ ル し た り 、 コ ンパ イ ラ に依存す る フ ァ イ ルを提供す る 必要はあ り ません。 コ ー ド の編集中で も 、 フ ァ イ ルに影響を与え る こ と な く 、 フ ァ イ ルに関す る 情報を素早 く 更新で き ます。 シ ン ボル機能は、 各 Source Insight プ ロ ジ ェ ク ト に自動的に組み込まれ ます。 余計な タ グ フ ァ イ ルを ビル ド す る 必要はあ り ません。 状況に応 じ たダ イ ナ ミ ッ ク な型解決 Source Insight は、 ク ラ ス継承を含む変数の型を、 編集中にダ イ ナ ミ ッ ク にデ コ ー ド し ます。 状況に応 じ て、 ク ラ ス の正確な情報が提供 さ れ ます。 フ ァ イルご と にシ ンボル ウ ィ ン ド ウ を表示 シ ン ボル ウ ィ ン ド ウ は各 ソ ース ウ ィ ン ド ウ の横に表示 さ れ、 ダ イ ナ ミ ッ ク に更新 さ れ ます。 各フ ィ ール ド 内を移動 し て フ ァ イ ルの概要を 素早 く 表示で き ます。 47 ページの 「シ ン ボル ウ ィ ン ド ウ 」 も 参照 し て く だ さ い。 フ ァ イル名 こ のフ ィ ール ド に入 力 し て、 リ ス ト の項 目を迅速に選択で き ます シ ンボル ウ ィ ン ド ウ : フ ァ イルで宣言 さ れているすべての シ ンボルが リ ス ト さ れます。 各シ ンボル には種類を示すア イ コ ンが表示 さ れま す。 ア イ コ ン を ク リ ッ ク し て、 シ ンボ ル全体を ド ラ ッ グ アン ド ド ロ ッ プで き ます。 ソ ース フ ァ イル ウィ ンドウ シ ンボル ウ ィ ン ド ウ ツールバー 図 1.2 シ ンボル ウ ィ ン ド ウは各ソ ース フ ァ イル ウ ィ ン ド ウの左側に表示 さ れ ます。 Source Insight ユーザー マニ ュ アル 21 第1章 は じ めに シ ン ボル ウ ィ ン ド ウ のシ ン ボルを ク リ ッ ク し て、 シ ン ボルに素早 く ジ ャ ンプで き ます。 ま た、 シ ン ボルを コ ー ド に ド ラ ッ グ ア ン ド ド ロ ッ プ し て再配置す る こ と も で き ます。 シ ン ボル ウ ィ ン ド ウ は、 名前、 行 番号、 ま たは種類で ソ ー ト で き ます。 シ ン ボル名の最初の数文字を入 力す る だけで、 該当す る シ ン ボルに素早 く 移動 し ます。 シ ン ボルを素 早 く 識別で き る よ う に、 #ifdef-#endif 入れ子レベル と シ ン ボルの種類を 示すア イ コ ン も 表示 し ます。 コ ン テキス ト ウ ィ ン ド ウでの宣言の自動表示 コ ン テ キ ス ト ウ ィ ン ド ウ は、 Source Insight 2.0 で追加 さ れた革新的な 機能の 1 つです。 カー ソ ルの位置の識別子、 ま たは入力 し てい る 内容 に応 じ て シ ン ボル定義を自動的に表示 し ます。 55 ページの 「 コ ン テ キ ス ト ウ ィ ン ド ウ 」 も 参照 し て く だ さ い。 コ ン テ キ ス ト ウ ィ ン ド ウ はバ ッ ク グ ラ ウ ン ド で動作 し 、 作業履歴を追 跡 し ます。 識別子を ク リ ッ ク す る と 、 シ ン ボルの定義が自動的に表示 さ れ ます。 識別子が変数の場合、 宣言をデ コ ー ド し て基本構造ま たは ク ラ ス タ イ プ を表示 し ます。 コ ン テ キ ス ト ウ ィ ン ド ウ は、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ で選択 さ れてい る フ ァ イ ル、 リ レーシ ョ ン ウ ィ ン ド ウ のシ ン ボル、 ク リ ッ プ ウ ィ ン ド ウ で選択 さ れてい る ク リ ッ プ も 自動的に表示 し ます。 コ ール グ ラ フ と コ ール ツ リ ー ダ イ アグ ラ ム リ レーシ ョ ン ウ ィ ン ド ウ は、 シ ン ボル間の関係を示す Source Insight の 革新的な機能です。 バ ッ ク グ ラ ウ ン ド で動作 し 、 ユーザーが選択 し た シ ン ボルを追跡 し ます。 こ の ウ ィ ン ド ウ で、 ク ラ ス階層、 コ ール ツ リ ー、 参照ツ リ ー、 その他を参照で き ます。 59 ページの 「 リ レーシ ョ ン ウ ィ ン ド ウ 」 も 参照 し て く だ さ い。 リ レーシ ョ ン ウ ィ ン ド ウ の利点は、 何 も 特別な こ と を行 う 必要がない こ と です。 作業中はバ ッ ク グ ラ ウ ン ド で動作 し てい ますが、 必要な と き に呼び出す こ と がで き ます。 22 Source Insight ユーザー マニ ュ アル 第1章 製品の特長 リ レーシ ョ ン ウ ィ ン ド ウ は、 グ ラ フ ィ カル ま たはア ウ ト ラ イ ン形式で 表示で き ます。 複数の リ レーシ ョ ン ウ ィ ン ド ウ を開いて、 異な る 種類 の情報を表示す る こ と も で き ます。 図 1.3 リ レーシ ョ ン ウ ィ ン ド ウは、 型への参照、 および関数か らの間接参照 を表示 し ます。 構文フ ォ ーマ ッ ト 構文フ ォ ーマ ッ ト は、 詳細かつ簡単な方法で情報を提供す る 、 Source Insight の革新的な機能の 1 つです。 ユーザー定義ス タ イ ルの リ ッ チ テ キ ス ト 書式を含む、 大幅に改良 さ れた表示機能を提供 し ます。 Source Insight は、 プ ロ ジ ェ ク ト の単語お よ びシ ン ボ リ ッ ク 情報に基づいて ス Source Insight ユーザー マニ ュ アル 23 は じ めに 第1章 タ イ ルを自動的に適用 し ます。 101 ページの 「構文フ ォ ーマ ッ ト と ス タ イ ル」 も 参照 し て く だ さ い。 図 1.4 構文 フ ォ ーマ ッ ト は、 コ ー ド を一目でわかる よ う に し ます。 上記の例 では、 Source Insight の一意な コ メ ン ト 見出 し ス タ イル、 入れ子の括弧、 およ び さ ま ざ ま な シ ンボル参照ス タ イルが表示 さ れています。 左余白の黄色い マー ク は編集 さ れた行を示 し ています。 構文フ ォ ーマ ッ ト は、 コ ー ド を読む と き に役立つ情報を追加 し ます。 た と えば、 ロ ーカル変数への参照 と グ ロ ーバル変数への参照を区別 し て表示で き ます。 ま た、 関数への参照 と C 関数形式のマ ク ロ への参照 を区別 し て表示す る こ と も で き ます。 構文フ ォ ーマ ッ ト を使用す る こ 24 Source Insight ユーザー マニ ュ アル 第1章 製品の特長 と で、 識別子が何を参照 し てい る か、 ま た スペル ミ ス がないか一目で わか る よ う にな り ます。 図 1.5 [Style Properties] ダ イ ア ロ グ ボ ッ ク ス で、 ユーザーは フ ォ ーマ ッ ト オ プ シ ョ ン を編集で き ます。 [Preferences] ダ イ ア ロ グ ボ ッ ク ス で、 ユーザーは どの言語要素にス タ イルを適用 さ せるか制御で き ます。 状況に応 じ て名前を変更 Source Insight の イ ンデ ッ ク ス を使用す る と 、 ワ ン ス テ ッ プで変数、 関 数、 お よ びその他の識別子の名前を簡単に変更で き ます。 Source Insight の状況依存マ ッ チン グ機能は、 ロ ーカル ス コ ープ変数、 グ ロ ー バル ス コ ープ識別子ま たは ク ラ ス ス コ ープ識別子の名前を変更 し ま す。 307 ページの 「Smart Rename」 も 参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 25 第1章 は じ めに 混在言語の編集 Source Insight は、 HTML お よ びア ク テ ィ ブ サーバー ページ フ ァ イ ル (ASP お よ び JSP) を サポー ト し てい ます。 ス ク リ プ ト はシ ン ボ リ ッ ク に閲覧可能で、 適切な構文フ ォーマ ッ ト を使用 し て表示 さ れ ます。 図 1.6 ASP お よび HTML に組み込まれてい る ス ク リ プ ト も 構文フ ォ ーマ ッ ト を使用 し て表示 さ れます。 コ ー ド ベースで イ ン タ ーネ ッ ト 検索のよ う なキーワー ド 検索 [Search Project] コ マ ン ド を使用す る と 、 イ ン タ ーネ ッ ト の検索エ ン ジ ン に似た、 キー ワー ド 形式の検索を行 う こ と がで き ます。 指定 し た行 数内で、 1 つ以上の ト ピ ッ ク を参照す る コ ー ド のセ ク シ ョ ン を検索 し ます。 た と えば、 「save disk (copy ま たは duplicate)」 と 入力す る と 、 Source Insight は、 「save」、 「disk」、 お よ び 「copy」 と 「duplicate」 のい ずれかの単語を含む検索を行い ます。 こ の際、 「saves」、 「saved」、 お よ び 「saving」 の よ う な変化形の単語 も 合わせて検索 し ます。 301 ページ の 「Search Project」 も 参照 し て く だ さ い。 26 Source Insight ユーザー マニ ュ アル 第1章 製品の特長 シ ンボルの自動補完 Source Insight は、 識別子の名前の入力を開始す る と 、 可能性のあ る 識 別子の名前の一覧を ポ ッ プア ッ プで表示 し ます。 関数名、 変数名、 深 い レベルま での ク ラ ス と 構造体フ ィ ール ド を表示で き ます。 変数 ( 継 承を含む ) の型は瞬時にデ コ ー ド さ れ ます。 すべてのシ ンボル と フ ァ イルに素早 く ア ク セス Source Insight は、 他のエデ ィ タ よ り も 多 く の役立つプ ロ グ ラ ミ ン グ情 報を提供 し ます。 シ ン ボル定義を ダ イ ナ ミ ッ ク に追跡す る だけでな く 、 便利な形式で情報を提供 し ます。 Source Insight を使用す る と 、 ブ ラ ウ ザで Web サ イ ト を参照す る の と 同 じ よ う にプ ロ ジ ェ ク ト を参照で き ます。 ロ ーカルま たはグ ロ ーバル シ ン ボルを ダブル ク リ ッ ク す る と 、 Source Insight は定義を表示す る か、 ま たは情報 ウ ィ ン ド ウ を ポ ッ プア ッ プ し ます。 シ ン ボルを ク リ ッ ク す る と 、 瞬時に、 プ ロ ジ ェ ク ト 内にあ る そのシ ン ボルへのすべての参照 が一覧で表示 さ れ ます。 シ ン ボル参照ダ イ ア ロ グ ボ ッ ク ス では、 正規 表現を使用 し て シ ン ボルを検索で き ます。 プ ロ ジ ェ ク ト 指向 ネ ッ ト ワ ー ク 上の複数のデ ィ レ ク ト リ も 含む、 ソ ース全体のデ ィ レ ク ト リ ツ リ ーを Source Insight プ ロ ジ ェ ク ト に追加で き ます。 フ ァ イ ルが 含ま れてい る デ ィ レ ク ト リ がわか ら ない場合で も 、 フ ァ イ ル名を素早 く 指定で き ます。 Source Insight は、 各プ ロ ジ ェ ク ト のシ ン ボル と イ ン デ ッ ク ス の独自のデー タ ベース を自動的に保守 し ます。 プ ロ ジ ェ ク ト レ ポー ト お よ び ク ロ ス リ フ ァ レ ン ス も 生成 さ れます。 ソ ース管理プ ロ グ ラ ム でプ ロ ジ ェ ク ト の フ ァ イ ルを更新す る と 、 Source Insight はシ ン ボル情報を自動的に更新 し ます。 チーム プ ロ グ ラ ミ ン グのサポー ト Source Insight は、 コ ー ド ベース全体を ス キ ャ ン し 、 必要に応 じ て再同 期を行 う ため、 プ ロ グ ラ ミ ン グ チームの メ ンバが行っ た変更が自動的 に反映 さ れ ます。 シ ン ボルの定義や使用方法に直ちにジ ャ ン プで き る ので、 プ ロ グ ラ マ はプ ロ ジ ェ ク ト やフ ァ イ ルの構成を考慮す る 必要があ り ません。 デ ィ レ ク ト リ 、 マシ ン、 フ ァ イ ルな ど の情報を知 ら な く て も 、 モジ ュ ール と その他のシ ン ボルにア ク セ ス で き ます。 Source Insight を使用す る こ と で、 各プ ロ グ ラ マは、 複数のグループで 作成 さ れた大規模で複雑なプ ロ ジ ェ ク ト を簡単に理解 し て編集で き る よ う にな り ます。 参照を素早 く 検索 Source Insight のシ ン ボル イ ンデ ッ ク ス機能を使用す る と 、 プ ロ ジ ェ ク ト 全体にわた っ てシ ン ボルへの参照を素早 く 検索 し て、 ア ク テ ィ ブな Source Insight ユーザー マニ ュ アル 27 第1章 は じ めに ソ ース の リ ン ク を含む一覧を作成で き ます。 244 ページの 「Lookup References」 も 参照 し て く だ さ い。 コ ンパイ ラ エ ラ ーや検索結果へのハイパー ソ ース リ ン ク ソ ース リ ン ク を使用す る と 、 リ ン ク さ れてい る 場所を素早 く 移動で き ます。 ソ ース リ ン ク は、 あ る フ ァ イ ルの場所 と 別の フ ァ イ ルの場所を 接続 し てい る ハ イ パーテ キ ス ト の よ う な リ ン ク です。 ソ ース リ ン ク は、 検索結果 と 一致す る 場所への リ ン ク 、 お よ び コ ンパ イ ラ エ ラ ー と エ ラ ーの場所への リ ン ク に使用 さ れ ます。 任意の フ ァ イ ルの仕様を解 析 し て、 それ ら の フ ァ イ ルへの リ ン ク を作成す る こ と も で き ます。 フ ァ イ ルを変更す る と 、 ソ ース リ ン ク も 更新 さ れ ます。 た と えば、 フ ァ イ ルにテ キ ス ト を挿入す る と 、 正 し い行を指す よ う に リ ン ク が更 新 さ れます。 111 ページの 「テ キ ス ト の検索 と 置換」 も 参照 し て く だ さ い。 プ ロ ジ ェ ク ト 全体の高速な検索 と 置換 Source Insight は、 プ ロ ジ ェ ク ト フ ァ イ ル内を高速に検索お よ び置換で き ます。 各検索の結果は、 検索結果 ウ ィ ン ド ウ に追加 さ れ ます。 こ の ウ ィ ン ド ウ には、 検索結果へのア ク テ ィ ブな ソ ース の リ ン ク が含まれ ます。 Source Insight は、 検索 イ ンデ ッ ク ス を使用 し て、 プ ロ ジ ェ ク ト 全体を素早 く 検索 し ます。 正規表現を使用 し た検索 も サポー ト さ れて い ます。 複数のビ ュ ーで構成 さ れた プ ロ ジ ェ ク ト ウ ィ ン ド ウ Source Insight のプ ロ ジ ェ ク ト ウ ィ ン ド ウ は、 プ ロ ジ ェ ク ト の内容を複 数のモー ド で表示 し ます。 フ ァ イ ル リ ス ト モー ド では、 カ レ ン ト プ ロ ジ ェ ク ト のすべての フ ァ イ ルを一覧で表示 し ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ か ら プ ロ ジ ェ ク ト の フ ァ イ ルを開いた り 、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ に Windows エ ク ス プ ロ ー ラ か ら フ ァ イ ルを ド ラ ッ グ し て、 フ ァ イ ルを プ ロ ジ ェ ク ト に追加で き ます。 50 ページの 「プ ロ ジ ェ ク ト ウ ィ ン ド ウ 」 も 参照 し て く だ さ い。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ には、 シ ン ボルを カ テ ゴ リ 別に表示、 フ ァ イ ルを カ テ ゴ リ 別に表示、 お よ びすべてのプ ロ ジ ェ ク ト シ ン ボルを一覧 で表示す る モー ド も あ り ます。 素早 く 項目を見つけ る には、 名前ま た は名前の一部に部分一致機能を使用 し ます。 Source Insight は、 数百万行の コ ー ド と 数十万のシ ン ボル宣言を含む よ う な、 大規模なプ ロ ジ ェ ク ト で も 処理で き ます。 外部 コ ンパイ ラ お よびツール と の統合 Source Insight は、 カ ス タ ム コ マ ン ド を使用 し て、 コ ンパ イ ラ 、 make プ ロ グ ラ ム、 フ ィ ル タ 、 ソ ース管理プ ロ グ ラ ム な ど の外部ツールを統 合 し ます。 プ ロ ジ ェ ク ト を Source Insight 内 か ら コ ンパ イ ルで き ます。 コ ンパ イ ラ のエ ラ ーは編集時に自動的に追跡 さ れ ます。 外部ツールは、 Source Insight 内か ら シ ェ ル コ マ ン ド ウ ィ ン ド ウ で同時に起動で き ま 28 Source Insight ユーザー マニ ュ アル 第1章 製品の特長 す。 プ ロ グ ラ ム の出力は、 フ ァ イ ル バ ッ フ ァ に転送で き ます。 ま た は、 エ ラ ー メ ッ セージ用に解析で き ます。 外部ツールを起動す る 、 独 自のカ ス タ ム コ マ ン ド を追加で き ます。 134 ページの 「カ ス タ ム コ マ ン ド 」 も 参照 し て く だ さ い。 ク リ ッ プボー ド と 定型 コ ー ド 格納用の ク リ ッ プ ウ ィ ン ド ウ ク リ ッ プ ウ ィ ン ド ウ を使用 し て、 コ ー ド の並べ替えお よ び定型 コ ー ド の挿入を簡単に行 う こ と がで き ます。 ク リ ッ プ ウ ィ ン ド ウ には、 必要 な と き に ソ ース フ ァ イ ルに追加す る テ キ ス ト の ク リ ッ プが含ま れてい ます。 ク リ ッ プは、 複数のセ ッ シ ョ ン にわた っ て自動的に保存 さ れ管 理 さ れ ます。 ま た、 ク リ ッ プは、 元の関数ま たはシ ン ボルを記憶 し て い ます。 63 ページの 「 ク リ ッ プ ウ ィ ン ド ウ 」 も 参照 し て く だ さ い。 2 段階の行改訂マー ク と 選択 し た行の復元 Source Insight は、 変更 し た行の余白 ( 行を削除 し た場合は次の行の余 白 ) に行改訂マー ク を表示 し ます。 こ の機能に よ り 、 フ ァ イ ルで変更 し た場所を簡単に確認で き ます。 変更 し た場所がわか る だけでな く 、 [Restore Line] コ マ ン ド を使用 し て元のテ キ ス ト に戻す こ と も で き ます。 [Restore Line] コ マ ン ド は元に戻す こ と がで き ます。 こ の コ マ ン ド は、 パ ワ フルな Undo ( 元に戻す ) 機能を提供 し ます。 各フ ァ イ ルにおけ る 作業の変更履歴は、 フ ァ イ ルを保存 し た後 も 保持 さ れてい ます。 行改訂マー ク も 、 フ ァ イ ルを保存す る と 色が変わ り ま す。 フ ァ イ ルを保存 し た後で も 、 Source Insight を終了す る ま で、 それ ま で と 同 じ よ う に、 変更 し た行の確認、 オ リ ジナルの行に戻す、 コ マ ン ド の Undo を行 う こ と がで き ます。 ド キ ュ メ ン ト の種類および言語の拡張 ド キ ュ メ ン ト の種類を定義 し て、 Source Insight に新 し い フ ァ イ ルの種 類を追加で き ます。 こ れに よ り 、 異な る 種類の フ ァ イ ルに対 し て、 異 な る 編集、 表示、 言語解析オプシ ョ ン を設定で き ます。 92 ページの 「 ド キ ュ メ ン ト タ イ プ」 も 参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 29 は じ めに 第1章 独自のカ ス タ ム言語を追加す る こ と も で き ます。 カ ス タ ム言語には、 構文規則、 構文フ ォ ーマ ッ ト キー ワー ド 、 お よ び単純な解析表現を指 定 し ます。 82 ページの 「カ ス タ ム言語」 も 参照 し て く だ さ い。 図 1.7 フ ァ イルは ド キ ュ メ ン ト タ イ プにマ ッ プ さ れ、 ド キ ュ メ ン ト タ イ プは 言語にマ ッ プ さ れます。 新規 ド キ ュ メ ン ト タ イ プ と 言語を追加で き ます。 30 Source Insight ユーザー マニ ュ アル 第1章 製品の特長 ク ラ ッ シ ュ リ カバ リ に よ る フル タ イ ム保護の実現 Source Insight は、 編集作業を透過的に、 し か も 頻繁に リ カバ リ フ ァ イ ルに記録 し ます。 こ のため、 コ ン ピ ュ ー タ が ク ラ ッ シ ュ し た と き 、 変 更を保存 し ていない場合で も 、 それま で行っ た変更を回復で き ます。 こ れは、 作業を中断 し て フ ァ イ ルを保存す る 自動保存機能ではあ り ま せん。 ア イ ド ル状態の と き に、 それ ま で行っ た変更のみ リ カバ リ フ ァ イ ルに記録 さ れ ます。 リ カバ リ フ ァ イ ルが変更を記録す る 頻度は指定 で き ます。 継続 さ れる ワー ク スペース フ ァ イ ルのセ ッ ト お よ び他のセ ッ シ ョ ン情報を ワ ー ク スペース でグ ループ化で き ます。 すべてのセ ッ シ ョ ン状態を ワ ー ク スペース フ ァ イ ルに保存 し て、 他の ワ ー ク スペース フ ァ イ ルか ら のセ ッ シ ョ ン を簡単 に リ ス ト アで き ます。 Source Insight は、 終了時に現在の ワー ク スペー ス を自動的に保存 し ます。 Source Insight を再度実行す る か、 他のプ ロ ジ ェ ク ト を開 く と 、 ワ ー ク スペース が リ ス ト ア さ れます。 Source Insight を終了 し た と き 、 プ ロ ジ ェ ク ト を閉 じ た と き 、 あ る いはマシ ン が ク ラ ッ シ ュ し た と き で も 、 以前の状態か ら 再開で き ます。 カ ス タ マ イ ズ可能な メ ニ ュ ー と キーボー ド キーボー ド だけでな く 、 マ ウ ス のボ タ ンや メ ニ ュ ー も カ ス タ マ イ ズで き ます。 カ ス タ マ イ ズ し た設定は、 設定フ ァ イ ルに保存で き 、 Source Insight 実行中に簡単に リ ス ト アで き ます。 別の 「セ ッ ト ア ッ プ」 プ ロ グ ラ ム を使用す る ためにカ ス タ ム マ ク ロ を記述す る 必要はあ り ませ ん。 Windows 2000/XP および Windows 9x/Me のサポー ト Source Insight は、 フ ロ ーテ ィ ン グ ツール ウ ィ ン ド ウ 用の半透明 ウ ィ ン ド ウ や タ ー ミ ナル サーバー セ ッ シ ョ ン な ど の Windows 2000/XP の機能 をサポー ト し てい ます。 優れた Windows ユーザー イ ン タ ー フ ェ イ ス Source Insight は、 32 ビ ッ ト で実装 さ れ、 複数の イ ン ス タ ン ス、 ロ ン グ フ ァ イ ル名、 UNC フ ァ イ ル名、 右 ク リ ッ ク のシ ョ ー ト カ ッ ト メ ニ ュ ー、 お よ びツールバーを サポー ト し てい ます。 コ マ ン ド やオブジ ェ ク ト のプ ロ パテ ィ への簡単な ア ク セ ス を提供す る ため、 Source Insight は、 ウ ィ ン ド ウ の多 く で右 ク リ ッ ク のシ ョ ー ト カ ッ ト メ ニ ュ ーを使用 し ます。 ウ ィ ン ド ウ は、 柔軟に対応で き る よ う に、 メ イ ン アプ リ ケーシ ョ ン ウ ィ ン ド ウ か ら 分離 し て表示 し た り 、 結合 し て表示で き ます。 Source Insight ユーザー マニ ュ アル 31 第1章 は じ めに フ ル機能のエデ ィ タ Source Insight は、 フ ァ イ ルご と に複数回の [Undo] / [Redo] コ マ ン ド 、 自動 イ ンデン ト 、 構文の色分け、 対応す る 括弧の表示、 行番号の表示、 キース ト ロ ー ク と コ マ ン ド の記録に加え て、 ブ ロ ッ ク 、 関数、 段落、 単語全体の選択用の特別選択モー ド な ど、 優れた編集機能 も 提供 し ま す。 マ ウ ス は完全にサポー ト さ れてい ます。 同 じ フ ァ イ ルを複数の ウ ィ ン ド ウ で開 く こ と がで き ます。 ワー ク スペース は、 以前のセ ッ シ ョ ンの フ ァ イ ル と ウ ィ ン ド ウ を リ ス ト アす る ために使用 さ れ ます。 ド ラ ッ グ ア ン ド ド ロ ッ プ編集 Source Insight は、 ソ ース フ ァ イ ル間お よ び ク リ ッ プ ウ ィ ン ド ウ の ク リ ッ プ間でテ キ ス ト の ド ラ ッ グ ア ン ド ド ロ ッ プ編集を行 う こ と がで き ます。 シ ン ボル ウ ィ ン ド ウ か ら シ ン ボル全体を ド ラ ッ グ ア ン ド ド ロ ッ プ し て、 関数の並べ替え を簡単に行 う こ と も で き ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ に フ ァ イ ルを ド ラ ッ グす る と プ ロ ジ ェ ク ト に フ ァ イ ル が追加 さ れ、 ク リ ッ プ ウ ィ ン ド ウ に フ ァ イ ルを ド ラ ッ グす る と 新 し い ク リ ッ プが ロ ー ド さ れ ます。 主要な企業で実証済み Source Insight は、 主要な ソ フ ト ウ ェ ア企業に携わ る プ ロ グ ラ マが使用 し てい る 、 業界で も 有数のエデ ィ タ です。 こ れま で、 数千の フ ァ イ ル、 数百万行の コ ー ド 、 お よ び数十万のシ ン ボル宣言を含む、 大規模で複 雑な商用プ ロ ジ ェ ク ト で使用 さ れて き た実績があ り ます。 ス ピーデ ィ で便利 Source Insight の目標は、 ソ ース コ ー ド を明確に し て簡単な方法で情報 を示 し 、 プ ロ グ ラ マが大規模で複雑なプ ロ ジ ェ ク ト を修正で き る よ う にす る こ と で、 プ ロ グ ラ ミ ン グ チームの生産性を高め る こ と です。 プ ロ グ ラ ミ ン グ関連 し た あ ら ゆ る 情報を素早 く 入手可能な、 優れたプ ロ グ ラ ム編集環境を提供す る こ と に よ り 、 Source Insight は作業効率を向 上 さ せます。 シ ス テム要件 オペ レーテ ィ ン グ シ ス テム : • Windows 2000/XP/Vista • • Windows NT 4.0 SP3 以上 • Windows 95 (Internet Explorer 4.0 以上必須 ) Windows 98/Me マ シ ン : Pentium ま たはそれ以上 (Pentium II ま たはそれ以上を推奨 ) メ モ リ : 64 MB (128 MB ま たはそれ以上を推奨 ) 32 Source Insight ユーザー マニ ュ アル 第1章 製品の特長 デ ィ ス ク空き容量 : 4 MB ( 最小 イ ン ス ト ール ) ま たは 12 MB ( フル イ ン ス ト ール ) Source Insight ユーザー マニ ュ アル 33 第1章 は じ めに テ ク ニ カル サポー ト Source Insight のテ ク ニ カル サポー ト お よ びセール ス に関す る 質問は、 エ ク セル ソ フ ト 株式会社ま でお問合せ く だ さ い。 Web サ イ ト : http://www.xlsoft.com/jp 開発元の Web サ イ ト : www.sourceinsight.com 34 Source Insight ユーザー マニ ュ アル 第2章 セッ ト アップと ク イ ッ ク ス ター ト こ の章では、 Source Insight の イ ン ス ト ール と 実行手順について説明 し ます。 Source Insight セ ッ ト ア ッ プ後に ク イ ッ ク ツ アーが起動 し ます。 Source Insight のイ ン ス ト ール Source Insight イ ン ス ト ールは と て も 簡単です。 ほ と ん ど の場合、 Source Insight は自動的に設定 さ れ ます。 Windows NT/2000/XP へのイ ン ス ト ール マシ ンに ソ フ ト ウ ェ アを イ ンス ト ールする権限が ある こ と を確認 し て く だ さ い。 Windows NT ベース のシ ス テ ムに Source Insight を イ ン ス ト ールす る に は、 HKEY_LOCAL_MACHINE レ ジ ス ト リ を更新す る 権限が必要です。 し か し 、 Source Insight を イ ン ス ト ール し た後は、 ほぼすべてのユー ザーか ら 利用可能です。 Source Insight はユーザーご と に別々の設定情 報を保存 し ます。 バージ ョ ン 2 から のア ッ プグ レー ド バージ ョ ン 2.0 ま たは 2.1 か ら ア ッ プグ レー ド す る 場合、 403 ページの 「バージ ョ ン 2 か ら のア ッ プグ レー ド 」 の情報を参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 35 第2章 セッ ト アッ プと クイ ッ ク スター ト バージ ョ ン 3.0 および 3.1 から のア ッ プグ レー ド バージ ョ ン 3.5 では、 イ ン ス ト ールで使用す る プ ロ ジ ェ ク ト と フ ォ ル ダに関 し て重要な変更が行われ ま し た。 バージ ョ ン 3.0 ま たは 3.1 か ら ア ッ プグ レー ド す る 場合、 401 ページの 「バージ ョ ン 3.1 ま たはバー ジ ョ ン 3.0 か ら のア ッ プグ レー ド 」 の情報を参照 し て く だ さ い。 CD-ROM の挿入 Source Insight を イ ン ス ト ールす る には、 Source Insight の CD-ROM を CD ド ラ イ ブ ま たは DVD ROM ド ラ イ ブに挿入 し て く だ さ い。 セ ッ ト ア ッ プ プ ロ グ ラ ムが自動的に起動 し ます。 自動的に起動 し ない場合 は、 CD-ROM のルー ト フ ォ ルダにあ る Setup.exe を実行 し て く だ さ い。 Source Insight は通常は CD-ROM で提供 さ れます。 CD-ROM 以外の メ デ ィ ア を ご要望の方は、 エ ク セル ソ フ ト 株式会社ま でお問合せ く だ さ い。 イ ン ス ト ール先の選択 セ ッ ト ア ッ プ プ ロ グ ラ ム では、 Source Insight の イ ン ス ト ール先のデ ィ レ ク ト リ 名を選択 し ます。 デフ ォ ル ト では、 C:\Program Files\Source Insight が選択 さ れ ます。 メモ : バージ ョ ン 2.x を続けて使用 し たい場合、 バージ ョ ン 2.x. と 違 う デ ィ レ ク ト リ にバージ ョ ン 3.5 を イ ン ス ト ール し て く だ さ い。 Source Insight を イ ン ス ト ールす る には約 4 MB のデ ィ ス ク 容量が必要 です。 .NET Framework の場合、 さ ら に 6 MB のデ ィ ス ク 容量が必要に な り ます。 メモ : 36 リ モー ト ネ ッ ト ワー ク ド ラ イ ブに Source Insight を イ ン ス ト ール し な いで く だ さ い。 Source Insight のセ ッ ト ア ッ プ プ ロ グ ラ ムは、 マシ ン の レ ジ ス ト リ を変更 し ます。 ネ ッ ト ワー ク ド ラ イ ブに イ ン ス ト ール す る と 、 他のユーザーか ら 正 し く 利用で き ません。 Source Insight ユーザー マニ ュ アル 第2章 Source Insight のイ ン ス ト ール バージ ョ ン 3 と バージ ョ ン 2 の併用 Source Insight の 以前のバージ ョ ン を継続 し て使用で き ます。 た と えば、 バージ ョ ン 3.5 と 2.x を同 じ マシ ン で使用で き ます。 それぞ れ別の レ ジ ス ト リ 設定を使用す る ため、 併用 し て も 問題あ り ません。 し か し 、 下記のガ イ ド ラ イ ン に従っ て く だ さ い。 • • マシ ンにバージ ョ ン 2.x を イ ン ス ト ール し てい る 場合、 バージ ョ ン 2.x. と 違 う デ ィ レ ク ト リ にバージ ョ ン 3.5 を イ ン ス ト ール し て く だ さ い。 バージ ョ ン 2.x と バージ ョ ン 3.5 の イ ン ス タ ン ス を同時に実行 し ないで く だ さ い。 • プ ロ ジ ェ ク ト フ ァ イ ルは互換性があ り ますが、 バージ ョ ン 3.5 用に別のプ ロ ジ ェ ク ト を作成す る こ と をお勧め し ます。 • バージ ョ ン 2.x のプ ロ ジ ェ ク ト を開 く には、 [Open Project] ダ イ ア ロ グ ボ ッ ク ス で [Browse] ( 参照 ) ボ タ ン を ク リ ッ ク し 、 以前の .PR フ ァ イ ルを指定す る 必要があ り ます。 新 し いデ ィ レ ク ト リ に バージ ョ ン 3.5 を イ ン ス ト ール し た場合、 バージ ョ ン 3.5 のデ ィ レ ク ト リ に以前のプ ロ ジ ェ ク ト は含ま れ ません。 • [Options] > [Load Configuration] コ マ ン ド で以前の設定フ ァ イ ルを 開 く こ と がで き ます。 2.x のデ ィ レ ク ト リ で以前の *.CF フ ァ イ ルを選択 し て く だ さ い。 新 し い設定フ ァ イ ルの拡張子は .CF3 に 変更 さ れてい る こ と に注意 し て く だ さ い。 Source Insight の設定 Source Insight は、 ス タ ー ト メ ニ ュ ーのプ ロ グ ラ ム メ ニ ュ ーに追加 さ れ ます。 セ ッ ト ア ッ プ プ ロ グ ラ ムが フ ァ イ ルの コ ピーを完了す る と 、 名前 と 組 織名を入力す る 画面が表示 さ れます。 こ の画面は 1 回のみ表示 さ れま す。 シ リ アル番号の入力 継続 し て使用する 場合、 シ リ アル番 号を購入する必要 があ り ます。 Source Insight を実行す る と 、 シ リ アル番号を入力す る 画面が表示 さ れ ます。 Source Insight を評価版 と し て使用す る 場合、 シ リ アル番号を入 力す る 必要はあ り ません。 Source Insight の評価期間は 30 日間です。 シ リ アル番号を入力 し ないで Source Insight を評価版 と し て使用す る に は、 [Try it] ボ タ ン を ク リ ッ ク し て く だ さ い。 Source Insight の ラ イ セ ン ス を購入 し た場合、 シ リ アル番号を入力 し て く だ さ い。 い っ たんシ リ アル番号が入力 さ れ る と 、 Source Insight を継 続 し て使用で き る よ う にな り ます。 メモ : シ リ アル番号はユーザーではな く マシ ンに適用 さ れます。 同 じ マシ ン 上のすべての ロ ーカル ユーザーが同 じ シ リ アル番号を使用 し ます。 Source Insight ユーザー マニ ュ アル 37 第2章 セッ ト アッ プと クイ ッ ク スター ト コ モ ン プ ロ ジ ェ ク ト の作成 次に、 コ モ ン プ ロ ジ ェ ク ト を作成す る か ど う か選択 し ます。 コ モン プロジ ェ ク ト は一般的に使用 さ れる宣言を含む 外部プ ロ ジ ェ ク ト です。 Source Insight で C ラ ン タ イ ムや Java 標準パ ッ ケージの よ う な標準 ラ イ ブ ラ リ にシ ン ボル展開な ど の機能を提供す る には、 それ ら の ラ イ ブ ラ リ 用に別々のプ ロ ジ ェ ク ト を設定す る 必要があ り ます。 カ レ ン ト プ ロ ジ ェ ク ト にシ ン ボルが見つか ら ない場合、 Source Insight はプ ロ ジ ェ ク ト を検索す る ため ソ ー ト し なお し ます。 それぞれの コ モ ン プ ロ ジ ェ ク ト について、 対応す る フ ァ イ ルを保存す る デ ィ レ ク ト リ を指定 し ます。 デ ィ ス ク に ラ イ ブ ラ リ の ソ ース コ ー ド を イ ン ス ト ール し た場合、 Source Insight で、 プ ロ ジ ェ ク ト の基本 と し てその ソ ース コ ー ド を使用で き ます。 た と えば、 C ラ ン タ イ ム ラ イ ブ ラ リ の関数 strtok への呼び出 し を ク リ ッ ク す る と 、 Source Insight は strtok の ソ ース コ ー ド を表示 し ます。 こ の時点で作成 さ れたプ ロ ジ ェ ク ト は自動的に、 シ ン ボル パ ス に追加 さ れ ます。 後でパ ス を変更す る 場合は、 [Options] メ ニ ュ ーの [Preferences: Symbol Lookups] コ マ ン ド を実行 し て く だ さ い。 後か ら プ ロ ジ ェ ク ト を作成 し てパ ス を追加す る こ と も で き ます。 304 ページの 「Setup Common Projects」 も 参照 し て く だ さ い。 プ ロ ジ ェ ク ト の作成 プロジ ェ ク ト とは ソ ース フ ァ イルの 集ま り です。 Source Insight はプ ロ ジ ェ ク ト 単位で構成 さ れ ます。 プ ロ ジ ェ ク ト と は ソ ース フ ァ イ ルの集ま り です。 プ ロ ジ ェ ク ト を作成す る 場合、 プ ロ ジ ェ ク ト に フ ァ イ ルを追加 し て く だ さ い。 Source Insight は、 プ ロ ジ ェ ク ト の フ ァ イ ル デー タ ベース にプ ロ ジ ェ ク ト に含まれ る フ ァ イ ルを記 録 し ます。 [Add and Remove Project Files] ダ イ ア ロ グ ボ ッ ク ス で、 個々の フ ァ イ ル ま たは全デ ィ レ ク ト リ ツ リ ーを プ ロ ジ ェ ク ト に追加で き ます。 詳 し く 38 Source Insight ユーザー マニ ュ アル 第2章 Source Insight のイ ン ス ト ール は、 153 ページの 「Add and Remove Project Files」 も 参照 し て く だ さ い。 を参照 し て く だ さ い。 図 2.1 [Add and Remove Project Files] ダ イ ア ロ グ ボ ッ ク ス で、 ソ ース フ ァ イルを プ ロ ジ ェ ク ト に追加で き ます。 新規フ ァ イ ルを作成 し た場合、 フ ァ イ ルは保存時にプ ロ ジ ェ ク ト に追 加 さ れます。 プ ロ ジ ェ ク ト のデ ィ レ ク ト リ ま たはサブデ ィ レ ク ト リ に 新規フ ァ イ ルが表示 さ れた場合、 [Synchronize Files] コ マ ン ド を実行 し て、 新規フ ァ イ ルを プ ロ ジ ェ ク ト に自動的に追加す る こ と も で き ます。 Source Insight ユーザー マニ ュ アル 39 セッ ト アッ プと クイ ッ ク スター ト 40 第2章 Source Insight ユーザー マニ ュ アル 第3章 ウ ィ ン ド ウの説明 こ の章では、 Source Insight のユーザー イ ン タ ーフ ェ イ ス と ウ ィ ン ド ウ について説明 し ます。 Source Insight ア プ リ ケーシ ョ ン ウ ィ ン ド ウ Source Insight のユーザー イ ン タ ーフ ェ イ ス は、 主に下記の項目に よ り 構成 さ れてい ます。 • ト ッ プ画面の メ イ ン メ ニ ュ ー と メ イ ン ツールバー。 • フ ァ イ ルを編集す る ソ ース フ ァ イ ル ウ ィ ン ド ウ 。 • 結合ま たは分離可能な ツール ウ ィ ン ド ウ 。 Source Insight は MDI (Multiple Document Interface) アプ リ ケーシ ョ ン で す。 つま り 、 各 ソ ース フ ァ イ ルは Source Insight アプ リ ケーシ ョ ン ウ ィ ン ド ウ 内の子 ウ ィ ン ド ウ と し て表示 さ れます。 Source Insight ユーザー マニ ュ アル 41 第 3章 ウ ィ ン ド ウの説明 Source Insight アプ リ ケーシ ョ ン ウ ィ ン ド ウ の上部には、 メ イ ン ツール バーがあ り ます。 ユーザーは、 こ の ウ ィ ン ド ウ で大半の作業を行い ま す。 メ イ ン メ ニュー と ツールバー コ ー ド の編集、 表 示を行 う ソ ース フ ァ イル ウ ィ ン ドウ シ ンボル ウ ィ ン ド ウ - フ ァ イルご と に定義 さ れてい る シ ンボルを表示 し ます。 コ ン テキス ト ウィ ンドウ - ク リ ッ ク ま たは入力 し た内容に関連す る宣言やその他の 情報を自動的に表 示 し ます。 リ レーシ ョ ン ウィ ンドウ - 参 照、 コ ール ツ リ ー、 その他の リ レーシ ョ ン シ ッ プ を表示 し ます。 ス テー タ ス バー 図 3.1 Source Insight の メ イ ン プ ロ グ ラ ム ウ ィ ン ド ウに、 ソ ース ウ ィ ン ド ウ ( 中央 )、 シ ン ボル ウ ィ ン ド ウ ( 左側 )、 リ レーシ ョ ン ウ ィ ン ド ウ ( 右側 )、 コ ン テキス ト ウ ィ ン ド ウ ( 下部 ) が表示 さ れています。 コ ン テキス ト ウ ィ ン ド ウは画面の下部に結合 し て表示 さ れます。 ツールバー [View] > [Toolbar] メ ニ ュ ー項目で、 表示する ツール バーを指定で き ま す。 メ イ ン ツールバーは Source Insight プ ロ グ ラ ム ウ ィ ン ド ウ の上部にあ り ます。 [View] > [Toolbars] > [Main Toolbar] コ マ ン ド で、 メ イ ン ツール バー全体のオ ン、 オ フ を切 り 替え る こ と がで き ます。 メ イ ン ツールバーは、 小 さ なサブ ツールバーに よ り 構成 さ れてい ま す。 各サブ ツールバーは、 [View] > [Toolbars] メ ニ ュ ーを使用 し て、 分 離 し て表示で き ます。 メ イ ン ツールバー内で、 サブ ツールバーを ド ラ ッ グ し て移動す る こ と も で き ます。 各ツールバーの位置は、 設定フ ァ イ ルに自動的に保存 さ れます。 ツールバーのア イ コ ンはそれぞれ、 Source Insight の コ マ ン ド と 対応 し てい ます。 各 コ マ ン ド の詳細は、 第 5 章を参照 し て く だ さ い。 42 Source Insight ユーザー マニ ュ アル 第3章 ツールバー 標準ツールバー 標準ツールバーには、 基本的な フ ァ イ ル操作が含ま れてい ます。 Save Save As New Open Print Save All 編集ツールバー 編集ツールバーには、 切 り 取 り 、 コ ピー、 貼 り 付けの よ う な基本的な 編集操作が含まれてい ます。 Undo Cut Redo Copy Paste 検索ツールバー 検索ツールバーには、 検索 コ マ ン ド が含まれてい ます。 Search Backward Search Forward Search Search Files Replace ナ ビゲーシ ョ ン ツールバー ナビ ゲーシ ョ ン ツールバーには、 フ ァ イ ル内お よ びフ ァ イ ル間を移動 す る コ マ ン ド が含まれてい ます。 Go Back Go To Previous Link Go Forward Go To Next Link Bookmark Go To Line Source Insight ユーザー マニ ュ アル 43 第 3章 ウ ィ ン ド ウの説明 シ ンボル ツールバー シ ン ボル ツールバーには、 シ ン ボル情報へア ク セ スす る コ マ ン ド が含 まれてい ます。 Lookup References Symbol Info Jump To Definition Browse Project Symbols ウ ィ ン ド ウ ツールバー ウ ィ ン ド ウ ツールバーには、 ウ ィ ン ド ウ を調整す る コ マ ン ド が含まれ てい ます。 Tile One Window Tile Horizontal Cascade Windows Tile Two Windows ヘルプ ツールバー ヘルプ ツールバーには、 オ ン ラ イ ン ヘルプへア ク セ スす る コ マ ン ド が 含ま れてい ます。 HTML Help Help Mode ビ ュ ー ツールバー ビ ュ ー ツールバーには、 コ ン テ キ ス ト ウ ィ ン ド ウ やプ ロ ジ ェ ク ト ウ ィ ン ド ウ の よ う な補助的な ウ ィ ン ド ウ を表示、 非表示にす る コ マ ン ド が含まれてい ます。 View Context Window View Project Window 44 View Clips Window View Relation Window Activate Search Results Source Insight ユーザー マニ ュ アル 第3章 ソ ース フ ァ イル ウ ィ ン ド ウ ビル ド ツールバー ビル ト ツールバーには、 プ ロ ジ ェ ク ト の実行フ ァ イ ルを ビル ド す る 際 に使用す る コ マ ン ド が含まれてい ます。 こ れ ら の コ マ ン ド は、 カ ス タ ム コ マ ン ド と し て定義 さ れます。 Clean Build Build Project Run Project Compile File ソ ース管理ツールバー ソ ース管理ツールバーには、 ソ ース管理シ ス テ ム ( バージ ョ ン管理シ ス テ ム ) へのア ク セ ス に使用す る コ マ ン ド が含まれてい ます。 こ れ ら の コ マ ン ド は、 カ ス タ ム コ マ ン ド と し て定義 さ れ ます。 Check In Check Out Sync To Source Control Project Undo Check Out Sync File To Source Control Project ヒ ン ト : こ れ ら の コ マ ン ド を素早 く 編集す る には、 [Ctrl] キーを押 し た ま ま で ツールバー ボ タ ン を ク リ ッ ク し 、 [Custom Command] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 ソ ース フ ァ イル ウ ィ ン ド ウ 開いた フ ァ イ ルはそれぞれ、 別々の ソ ース フ ァ イ ル ウ ィ ン ド ウ に表示 さ れ ます。 Source Insight は MDI (Multiple Document Interface) アプ リ Source Insight ユーザー マニ ュ アル 45 第 3章 ウ ィ ン ド ウの説明 ケーシ ョ ン です。 各 ソ ース フ ァ イ ル ウ ィ ン ド ウ の左側には、 シ ン ボル ウ ィ ン ド ウ があ り ます。 こ の ウ ィ ン ド ウ は非表示にで き ます。 ソ ース フ ァ イル ウ ィ ン ド ウはア プ リ ケー シ ョ ン ウ ィ ン ド ウの フ レーム内部に表示 さ れます。 複数 ド キ ュ メ ン ト フ レーム領域 図 3.2 ソ ース フ ァ イル ウ ィ ン ド ウ。 ソ ース フ ァ イ ルを開 く と 、 個々の ソ ース フ ァ イ ル ウ ィ ン ド ウ が表示 さ れ ます。 通常の編集に関 し てはすべて、 こ の ウ ィ ン ド ウ で行い ます。 ソ ース フ ァ イ ル ウ ィ ン ド ウ は MDI ウ ィ ン ド ウ です。 ソ ース フ ァ イル ウ ィ ン ド ウはフ ァ イル バ ッ フ ァ を表 示 し ます。 言語が添付 さ れた フ ァ イ ルを開 く 場合、 シ ン ボル ウ ィ ン ド ウ が ソ ース フ ァ イ ル ウ ィ ン ド ウ の左側に表示 さ れます。 ド キ ュ メ ン ト オプ シ ョ ン を 選択 し て シ ンボル ウ ィ ン ド ウ チ ェ ッ ク ボ ッ ク ス を設定す る こ と で、 シ ン ボル ウ ィ ン ド ウ を使用す る か ど う か指定で き ます。 194 ページの 「Document Options」 も 参照 し て く だ さ い。 シ ンボル ウ ィ ンドウ 46 ソ ース フ ァ イル ウ ィ ン ド ウのテキス ト 領域 Source Insight ユーザー マニ ュ アル 第3章 シ ンボル ウ ィ ン ド ウ 図 3.3 ソ ース フ ァ イル ウ ィ ン ド ウの左側には、 シ ンボル ウ ィ ン ド ウがあ り ます。 シ ンボル ウ ィ ン ド ウ シ ンボル ウ ィ ン ド ウは通常、 ソ ース フ ァ イル ウ ィ ン ド ウの左側に表示 さ れます。 シ ン ボル ウ ィ ン ド ウ は言語が添付 さ れた ソ ース フ ァ イ ル ウ ィ ン ド ウ の左側に表示 さ れ ます。 シ ン ボル ウ ィ ン ド ウ には、 フ ァ イ ルで定義 さ れてい る すべてのシ ン ボルが リ ス ト さ れ ます。 た と えば、 すべての関 数、 構造体、 ク ラ ス、 メ ソ ッ ド 、 マ ク ロ 、 定数、 その他の情報がシ ン ボル ウ ィ ン ド ウ に リ ス ト さ れます。 シ ン ボル ウ ィ ン ド ウ リ ス ト の各 項目の左には、 シ ン ボルの種類を示す小 さ な ア イ コ ンがあ り ます。 Source Insight はバ ッ ク グ ラ ウ ン ド で フ ァ イ ルを ス キ ャ ン し 、 シ ン ボル ウ ィ ン ド ウ を動的に更新 し ます。 新規宣言を入力す る と す ぐ に、 シ ン ボル ウ ィ ン ド ウ にシ ン ボルが表示 さ れます。 シ ン ボル ウ ィ ン ド ウ を使用す る と 、 各フ ァ イ ル内を簡単に移動で き ま す。 フ ァ イ ルの概要を素早 く 表示す る こ と も で き ます。 シ ン ボル ウ ィ ン ド ウ か ら 別の ウ ィ ン ド ウ へシ ン ボルを ド ラ ッ グす る こ と も で き ます。 Source Insight ユーザー マニ ュ アル 47 第 3章 ウ ィ ン ド ウの説明 シ ン ボルを素早 く 識別で き る よ う に、 #ifdef-#endif 入れ子レベル と シ ン ボルの種類を示すア イ コ ン も 表示 し ます。 フ ァ イル名 こ のフ ィ ール ド に入 力 し て、 リ ス ト の項 目を迅速に選択で き ます シ ンボル ウ ィ ン ド ウ : フ ァ イルで宣言 さ れて いるすべてのシ ンボル が リ ス ト さ れます。 各 シ ンボルには種類を示 すア イ コ ンが表示 さ れ ます。 ア イ コ ン を ク リ ッ ク し て、 シ ンボル 全体を ド ラ ッ グ ア ン ド ド ロ ッ プ で き ます。 ソ ース ウ ィ ン ド ウの テキス ト 領域 シ ンボル ウ ィ ン ド ウ ツールバー 図 3.4 シ ン ボル ウ ィ ン ド ウは各 ソ ース フ ァ イル ウ ィ ン ド ウの左側に表示 さ れます。 シ ン ボル ウ ィ ン ド ウ の下部には小 さ な ツールバーがあ り ます。 こ の ツールバーには、 リ ス ト を ソ ー ト す る コ ン ト ロ ール と [Browse Local File Symbols] コ マ ン ド を実行す る ボ タ ンがあ り ます。 シ ン ボル ウ ィ ン ド ウ を右 ク リ ッ ク す る と 、 シ ョ ー ト カ ッ ト メ ニ ュ ーが表示 さ れます。 シ ンボル ウ ィ ン ド ウのカ ス タ マ イ ズ シ ン ボル ウ ィ ン ド ウ の設定を変更す る には、 シ ン ボル ウ ィ ン ド ウ を右 ク リ ッ ク し て、 [Symbol Window Properties] を選択 し ます。 318 ページ の 「Symbol Window Properties」 も 参照 し て く だ さ い。 シ ンボル ウ ィ ン ド ウの幅の変更 シ ン ボル ウ ィ ン ド ウ の幅を変更す る には、 ウ ィ ン ド ウ の右端を ク リ ッ ク し て ド ラ ッ グ し ます。 変更 し たシ ンボル ウ ィ ン ド ウの幅の固定 シ ン ボル ウ ィ ン ド ウ ( お よ び、 他の フ ァ イ ルのシ ン ボル ウ ィ ン ド ウ の すべて ) の幅を変更 し て固定す る には、 ウ ィ ン ド ウ の右端を ド ラ ッ グ 48 Source Insight ユーザー マニ ュ アル 第3章 フ ローテ ィ ング ウ ィ ン ド ウ し てサ イ ズ を変更 し た後、 シ ン ボル ウ ィ ン ド ウ を右 ク リ ッ ク し て、 [Record New Default Properties] を選択 し ます。 ウ ィ ン ド ウ の幅、 シ ン ボ ルの ソ ー ト 、 シ ン ボルの種類の フ ィ ル タ リ ン グが記録 さ れ、 以降に作 成 さ れ る 新規 ウ ィ ン ド ウ のデフ ォ ル ト 値 と し て使用 さ れ ます。 フ ローテ ィ ン グ ウ ィ ン ド ウ フ ローテ ィ ング ウ ィ ン ド ウは、 Source Insight の メ イン ウィ ン ドウ に結合で き ます。 フ ロ ーテ ィ ン グ ウ ィ ン ド ウ は、 メ イ ン アプ リ ケーシ ョ ン ウ ィ ン ド ウ の手前に表示 さ れます。 フ ロ ーテ ィ ン グ ウ ィ ン ド ウ は、 メ イ ン ウ ィ ン ド ウ の端に ド ラ ッ グ し て、 メ イ ン ウ ィ ン ド ウ に結合す る こ と も で き ま す。 ツール ウ ィ ン ド ウ には次の ウ ィ ン ド ウ があ り ます。 • プ ロ ジ ェ ク ト ウ ィ ン ド ウ - プ ロ ジ ェ ク ト フ ァ イ ル と シ ン ボルを表 示す る マルチモー ド の ウ ィ ン ド ウ 。 • コ ン テキス ト ウ ィ ン ド ウ - 状況依存の情報 ウ ィ ン ド ウ 。 • ク リ ッ プ ウ ィ ン ド ウ - 簡単な コ ピー、 貼 り 付けのために ク リ ッ プ ボー ド 形式の ク リ ッ プ を表示す る ウ ィ ン ド ウ 。 • リ レーシ ョ ン ウ ィ ン ド ウ - コ ール ツ リ ー、 ク ラ ス ツ リ ー、 その他 の リ レーシ ョ ン シ ッ プ を表示す る ウ ィ ン ド ウ 。 図 3.5 ク リ ッ プ ウ ィ ン ド ウは、 Source Insight の メ イ ン ウ ィ ン ド ウの手前に 表示 さ れる フ ローテ ィ ン グ ウ ィ ン ド ウの例です。 プ ロ グ ラ ム ウ ィ ン ド ウの端 に結合する こ と も で き ます。 ヒ ン ト : フ ロ ーテ ィ ン グ ウ ィ ン ド ウ を結合す る には、 マ ウ ス カー ソ ルを結合 す る ウ ィ ン ド ウ の端ま で ド ラ ッ グ し ます。 Source Insight ユーザー マニ ュ アル 49 第 3章 ウ ィ ン ド ウの説明 透明な フ ローテ ィ ング ウ ィ ン ド ウ Source Insight は、 半透明な フ ロ ーテ ィ ン グ ウ ィ ン ド ウ を サポー ト し て い ます。 こ れは、 ゲーム のヘ ッ ド ア ッ プ デ ィ ス プ レ イ ( オーバーレ イ ) の よ う な も のです。 フ ローテ ィ ング ウ ィ ン ド ウは、 Windows 2000/XP では半透明にで き ます。 Windows 2000 ま たは Windows XP ( 半透明モー ド を サポー ト ) を使用 し てい る 場合、 フ ロ ーテ ィ ン グ ウ ィ ン ド ウ に ウ ィ ン ド ウ を透明に切 り 替 え る ボ タ ンが表示 さ れ ます。 ウ ィ ン ド ウ が透明の場合、 フ ロ ーテ ィ ン グ ウ ィ ン ド ウ 内のオブジ ェ ク ト を ク リ ッ ク し ていない限 り 、 ウ ィ ン ド ウ の下のテ キ ス ト を ク リ ッ ク で き ます。 プロジ ェ ク ト ウ ィ ン ド ウ [Open] コ マ ン ド ま たは [Project Window] コ マ ン ド ([View] メ ニ ュ ー ) を 実行す る と 、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ が表示 さ れます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ にはプ ロ ジ ェ ク ト 内のすべての フ ァ イ ル と シ ン ボルが リ ス ト さ れてお り 、 フ ァ イ ルが含ま れてい る デ ィ レ ク ト リ に関係な く 、 フ ァ イ ルを素早 く 開 く こ と がで き ます。 閉じ る プロジ ェ ク ト 名 最大表示 こ の編集フ ィ ール ド に フ ァ イル名を入力で き ま す。 入力する と 、 リ ス ト はフ ィ ル タ リ ング さ れ、 デ ィ レ ク ト リ に関係な く 、 入力 し た内容 と 一致する フ ァ イルのみ表示 さ れま す。 拡大 透明にする ツールバー こ れら のボ タ ン で、 プ ロ ジ ェ ク ト ウ ィ ン ド ウのビ ュ ーを切 り 替え る こ と がで き ます。 5 つのビ ュ ーがあ り ます。 1. フ ァ イル リ ス ト ビ ュ ー - プ ロ ジ ェ ク ト のすべてのフ ァ イルを リ ス ト 2. フ ァ イル デ ィ レ ク ト リ ビ ュ ー - デ ィ レ ク ト リ ご と に フ ァ イルを リ ス ト 3. フ ァ イル タ イ プ ビ ュ ー - ド キ ュ メ ン ト タ イ プ ご と に フ ァ イルを リ ス ト 4. シ ンボル リ ス ト ビ ュ ー - プ ロ ジ ェ ク ト のすべてのシ ンボルを リ ス ト 5. シ ンボル ク ラ ス ビ ュ ー - ク ラ スおよび タ イ プ ご と にシ ンボルを リ ス ト 図 3.6 プ ロ ジ ェ ク ト ウ ィ ン ド ウ 50 Source Insight ユーザー マニ ュ アル 第3章 プロジ ェ ク ト ウ ィ ン ド ウ プ ロ ジ ェ ク ト ウ ィ ン ド ウ は Source Insight の メ イ ン アプ リ ケーシ ョ ン ウ ィ ン ド ウ の横に結合す る か、 ま たは手前に表示で き ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ の下部には、 プ ロ ジ ェ ク ト を開 く 、 プ ロ ジ ェ ク ト へフ ァ イ ルを追加す る 、 プ ロ ジ ェ ク ト か ら フ ァ イ ルを削除す る ボ タ ン を含む、 小 さ な ツールバーがあ り ます。 フ ァ イルを開 く フ ァ イ ルを開 く には、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ の フ ァ イ ル名を ダブル ク リ ッ ク し ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ を右 ク リ ッ ク す る と 、 シ ョ ー ト カ ッ ト メ ニ ュ ーが表示 さ れます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ の 上部のテ キ ス ト ボ ッ ク ス に入力す る と 、 入力 し た内容 と 一致す る フ ァ イ ルのみが表示 さ れ ます。 入力 し た内容 と フ ァ イ ルを一致 さ せ る 際に は使用 さ れないため、 フ ァ イ ルが存在す る デ ィ レ ク ト リ はあ ま り 重要 ではあ り ません。 フ ァ イ ルのデ ィ レ ク ト リ がわか ら ない場合は、 リ ー フ名を入力す る だけでか ま い ません。 プ ロ ジ ェ ク ト のほ と ん ど の フ ァ イ ルは、 わずかな キース ト ロ ー ク で開 く こ と がで き ます。 プロジ ェ ク ト ウ ィ ン ド ウ ビ ュー プ ロ ジ ェ ク ト ウ ィ ン ド ウ ビ ュ ーには 5 つの異な る ビ ュ ーがあ り ます。 • フ ァ イル リ ス ト ビ ュ ー - プ ロ ジ ェ ク ト のすべての フ ァ イ ルを リ ス ト し ます。 • フ ァ イル デ ィ レ ク ト リ ビ ュ ー - デ ィ レ ク ト リ ご と に フ ァ イ ルを リ ス ト し ます。 • フ ァ イル タ イ プ ビ ュ ー - ド キ ュ メ ン ト タ イ プご と に フ ァ イ ルを リ ス ト し ます。 • シ ンボル リ ス ト ビ ュ ー - プ ロ ジ ェ ク ト のすべてのシ ン ボルを リ ス ト し ます。 • シ ンボル ク ラ ス ビ ュ ー - ク ラ スお よ び タ イ プご と にシ ン ボルを リ ス ト し ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ の下部にあ る ツールバーのボ タ ン を ク リ ッ ク し て、 こ れ ら の ビ ュ ーを切 り 替え る こ と がで き ます。 Source Insight ユーザー マニ ュ アル 51 第 3章 ウ ィ ン ド ウの説明 フ ァ イル リ ス ト ビ ュ ー フ ァ イ ル リ ス ト ビ ュ ーは、 カ レ ン ト プ ロ ジ ェ ク ト のすべての フ ァ イ ルを リ ス ト で表示 し ます。 ワ イ ル ド カー ド の入力やテ キ ス ト ボ ッ ク ス に入力す る こ と に よ り 、 作業デ ィ レ ク ト リ の変更 も 可能です。 図 3.7 プ ロ ジ ェ ク ト ウ ィ ン ド ウの 「 フ ァ イル リ ス ト 」 ビ ュ ー ワ イル ド カー ド で リ ス ト を フ ィ ルタ リ ングするには、 ワ イル ド カー ド を 入力 し 、 [Enter] を 押 し ます。 シ ラ ブル ( 音節 ) マ ッ チン グ を使用す る 場合、 デ ィ レ ク ト リ に関係な く 、 フ ァ イ ル名の一部を入力 し 、 フ ァ イ ルを検索で き ます。 ワ イ ル ド カー ド を入力 し て [Enter] を押す と 、 指定 と 一致す る フ ァ イ ル リ ス ト が フ ィ ル タ リ ン グ さ れます。 た と えば、 *.c を入力 し て [Enter] を押 し た場合、 デ ィ レ ク ト リ に関係な く 、 プ ロ ジ ェ ク ト のすべての *.c フ ァ イ ルが リ ス ト さ れ ます。 ワ イ ル ド カー ド を削除す る には、 * ( ア ス タ リ ス ク ) を押 し 、 [Enter] を押 し ます。 ノ ン プ ロ ジ ェ ク ト フ ァ イルの参照 デ ィ ス ク を参照す る 際にプ ロ ジ ェ ク ト の一部ではない フ ァ イ ル も 表示 す る には、 ド ッ ト (.) を入力 し 、 [Enter] を押 し ます。 現在の作業デ ィ レ ク ト リ の内容が リ ス ト で表示 さ れます。 プ ロ ジ ェ ク ト の一部であ る フ ァ イ ルのみを表示す る ビ ュ ーに戻 る には、 ** ( ア ス タ リ ス ク 2 つ ) を入力 し 、 [Enter] を押 し ます。 ま たは、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ の フ ァ イ ル デ ィ レ ク ト リ ビ ュ ーに切 り 替え ます。 フ ァ イル デ ィ レ ク ト リ ビ ュ ー フ ァ イル デ ィ レ ク ト リ ビ ュ ーはデ ィ ス クのデ ィ レ ク ト リ 構造を表示 し ま す。 52 フ ァ イ ル デ ィ レ ク ト リ ビ ュ ーは、 デ ィ レ ク ト リ と フ ァ イ ルを表示 し ま す。 こ の ビ ュ ーを使用 し て、 基本デ ィ レ ク ト リ と フ ァ イ ルの メ ン テナ Source Insight ユーザー マニ ュ アル 第3章 プロジ ェ ク ト ウ ィ ン ド ウ ン ス を行い、 ノ ン プ ロ ジ ェ ク ト フ ァ イ ルを簡単に開 く こ と がで き ま す。 図 3.8 プ ロ ジ ェ ク ト ウ ィ ン ド ウの 「 フ ァ イル デ ィ レ ク ト リ 」 ビ ュ ー シ ンボル リ ス ト ビ ュ ー シ ンボル リ ス ト ビ ュ ーは、 プ ロ ジ ェ ク ト のすべて のシ ンボルを表示 し ます。 シ ン ボル リ ス ト ビ ュ ーは、 プ ロ ジ ェ ク ト シ ン ボル デー タ ベース のす べてのシ ン ボルの リ ス ト を表示 し ます。 こ れは、 [Browse All Symbols] ダ イ ア ロ グ ボ ッ ク ス に表示 さ れ る 内容 と 似てい ます。 シ ン ボルを素早 く 検索す る には、 シ ン ボル名の一部を入力 し ます。 入 力 し た内容で リ ス ト が フ ィ ル タ リ ン グ さ れます。 Source Insight ユーザー マニ ュ アル 53 第 3章 ウ ィ ン ド ウの説明 最初に疑問符 (?) を入力 し て正規表現を指定す る こ と で、 シ ン ボル名 の正規表現検索を行 う こ と も で き ます。 た と えば、 ?Insert.*Stack は 「Insert」、 0 文字以上の文字、 「Stack」 を含むすべてのシ ン ボルを検 索 し ます。 図 3.9 プ ロ ジ ェ ク ト ウ ィ ン ド ウの 「シ ン ボル リ ス ト 」 ビ ュ ー フ ァ イル タ イ プ ビ ュ ー フ ァ イ ル タ イ プ ビ ュ ーは、 ド キ ュ メ ン ト タ イ プご と に フ ァ イ ルを表 示 し ます。 図 3.10 プ ロ ジ ェ ク ト ウ ィ ン ド ウの 「 フ ァ イル タ イ プ」 ビ ュ ー は、 フ ァ イル のカ テ ゴ リ リ ス ト を表示 し ます。 54 Source Insight ユーザー マニ ュ アル 第3章 コ ン テキス ト ウ ィ ン ド ウ シ ンボル ク ラ ス ビ ュ ー シ ン ボル ク ラ ス ビ ュ ーは、 シ ン ボルを ク ラ スお よ び タ イ プご と に表示 し ます。 図 3.11 プ ロ ジ ェ ク ト ウ ィ ン ド ウの 「シ ンボル ク ラ ス」 ビ ュ ーは、 プ ロ ジ ェ ク ト のシ ンボルを カ テ ゴ リ 別に表示 し ます。 コ ン テキス ト ウ ィ ン ド ウ コ ン テキス ト ウ ィ ン ド ウはコ ン テキ ス ト に基づき、 シ ンボル情報を表示 し ます。 コ ン テ キ ス ト ウ ィ ン ド ウ は、 ソ ース コ ー ド を編集、 表示す る 際に、 関 連す る 情報を自動的に表示す る 画期的な機能です、 コ ン テ キ ス ト ウ ィ ン ド ウ は、 入力ま たは ク リ ッ ク し た内容に関連す る 情報を表示す る 、 結合お よ び分離可能な ウ ィ ン ド ウ です。 た と えば、 関数呼び出 し を ク リ ッ ク し た場合、 コ ン テ キ ス ト ウ ィ ン ド ウ は関数の 定義を表示 し ます。 変数を ク リ ッ ク し た場合、 コ ン テ キ ス ト ウ ィ ン ド ウ は宣言を解読 し 、 基本構造 と ク ラ ス タ イ プ を表示 し ます。 Source Insight ユーザー マニ ュ アル 55 第 3章 ウ ィ ン ド ウの説明 コ ン テ キ ス ト ウ ィ ン ド ウ は、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ で選択 さ れてい る フ ァ イ ル、 リ レーシ ョ ン ウ ィ ン ド ウ のシ ン ボル、 ク リ ッ プ ウ ィ ン ド ウ で選択 さ れてい る ク リ ッ プ も 自動的に表示 し ます。 コ ン テキス ト ウ ィ ン ド ウはソ ース フ ァ イル ウ ィ ン ド ウで選択 さ れている 識別子に関する情報 を表示 し ます。 こ こ では、 ク ラ ス メ ン バ関数の定義を表示 し ています。 図 3.12 ウ ィ ン ド ウの下部には選択 さ れてい る シ ンボルの宣言が表示 さ れま す。 [Context Window] コ マ ン ド を実行 し 、 コ ン テ キ ス ト ウ ィ ン ド ウ のオ ン、 オ フ を切 り 替え る こ と がで き ます。 [Activate Global Symbol List] コ マ ン ド は、 コ ン テ キ ス ト ウ ィ ン ド ウ を表示 し てか ら 、 シ ン ボルの名前を入 力で き る よ う にテ キ ス ト ボ ッ ク ス に フ ォ ーカ ス を セ ッ ト し ます。 [Browse Project Symbols] ダ イ ア ロ グ ボ ッ ク ス に似てい ます。 フ ァ イルのプ レ ビ ュ ー コ ン テキス ト ウ ィ ン ド ウはプ ロ ジ ェ ク ト ウ ィ ン ド ウで フ ァ イルを選択す る と 、 フ ァ イル プ レ ビ ュ ーを表示 し ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ が手前に表示 さ れてい る 場合、 コ ン テ キ ス ト ウ ィ ン ド ウ にはプ ロ ジ ェ ク ト ウ ィ ン ド ウ で現在選択 さ れてい る フ ァ イ ルが表示 さ れ ます。 ク リ ッ プ ウ ィ ン ド ウ が手前に表示 さ れてい る 場 合、 コ ン テ キ ス ト ウ ィ ン ド ウ には選択 さ れてい る ク リ ッ プの内容が表 示 さ れます。 宣言 と 定義の表示 ソ ース フ ァ イ ル ウ ィ ン ド ウ の識別子名を ク リ ッ ク す る と 、 コ ン テ キ ス ト ウ ィ ン ド ウ には自動的にシ ン ボルの宣言が表示 さ れ ます。 関数や他 56 Source Insight ユーザー マニ ュ アル 第3章 コ ン テキス ト ウ ィ ン ド ウ のシ ン ボルが、 パ ラ メ ー タ お よ び他の定義情報 と 共に、 コ ン テ キ ス ト ウ ィ ン ド ウ に表示 さ れます。 コ ン テ キ ス ト ウ ィ ン ド ウ は ク リ ッ ク ま たは入力す る シ ン ボルの種類を 判断 し ます。 た と えば、 変数を ク リ ッ ク し た場合、 変数の宣言が表示 さ れ ます。 変数がデー タ 構造 イ ン ス タ ン ス ま たはポ イ ン タ であ る 場合、 コ ン テ キ ス ト ウ ィ ン ド ウ には構造や ク ラ ス の定義が表示 さ れ ます。 コ ン テ キ ス ト ウ ィ ン ド ウ は、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ 、 リ レーシ ョ ン ウ ィ ン ド ウ 、 ク リ ッ プ ウ ィ ン ド ウ の よ う な他の ウ ィ ン ド ウ の選択内容 を追跡 し ます。 図 3.13 コ ン テキス ト ウ ィ ン ド ウ ( バ ッ ク グ ラ ウ ン ド ) が ク リ ッ プ ウ ィ ン ド ウで選択 さ れてい る ク リ ッ プの内容を表示 し ている。 コ ン テ キ ス ト ウ ィ ン ド ウ の動作を要約す る と 、 下記の表の よ う にな り ます。 表 3.1: コ ン テキス ト ウ ィ ン ド ウの動作 アクシ ョ ン コ ン テキス ト ウ ィ ン ド ウの表示 ソ ース フ ァ イ ル ウ ィ ン ド ウ の 識別子を選択 ( ク リ ッ ク ) コ ン テ キ ス ト に基づいてシ ン ボル 定義を表示 し ます。 複数のシ ン ボルが一致 し た場 合、 一致の リ ス ト を表示 し ま す。 プ ロ ジ ェ ク ト で一致す る シ ン ボル が 1 つ し かない場合、 シ ン ボルの 宣言を表示 し ます。 Source Insight ユーザー マニ ュ アル 57 第 3章 ウ ィ ン ド ウの説明 表 3.1: コ ン テキス ト ウ ィ ン ド ウの動作 ( 続き ) アクシ ョ ン コ ン テキス ト ウ ィ ン ド ウの表示 ソ ース フ ァ イ ル ウ ィ ン ド ウへ 入力 自動完了機能が無効な場合、 コ ン テ キ ス ト ウ ィ ン ド ウ は接頭辞一 致を表示 し ます。 一致する 情報が 1 つ し かない場合、 シ ン ボル定義 を表示 し ます た と えば、 「Insert」 と 入力 し た場合、 「Insert」 で始ま る すべてのシ ン ボルを表示 し ま す。 「Insert」 と い う 名前のシ ン ボ ルが 1 つ し かない場合、 「Insert」 の宣言を表示 し ます。 プロジェ ク ト ウ ィ ン ド ウで フ ァ イ ルを選択 フ ァ イ ルの内容を表示 し ます。 ク リ ップ ウ ィ ン ド ウでク リ ッ プ を選択 ク リ ッ プの内容を表示 し ます。 リ レーシ ョ ン ウ ィ ン ド ウ でア イ テ ム を選択 選択 さ れてい る シ ン ボルの定義を 表示 し ます。 リ レーシ ョ ン ウ ィ ン ド ウ のシ ン ボルが参照の場合、 参照の位置を表示 し ます。 構造を表示するベース タ イ プの解読 コ ン テキス ト ウ ィ ン ド ウはベース タ イ プ を動的に解読 し ます。 コ ン テ キ ス ト ウ ィ ン ド ウ は タ イ プの階層を上 る こ と で、 ベース と な る 構造 タ イ プ を決定 し ます。 つま り 、 typedefs はベース構造 タ イ プに解 読 さ れ ます。 た と えば、 下記の よ う な コ ー ド の場合。 struct S { ... }; typedef S T; typedef T *PT; PT ptvar; . . ptvar->foo.... ptvar->foo の foo を選択 し た場合、 コ ン テ キ ス ト ウ ィ ン ド ウ は PT ptvar の宣言を探 し 、 struct S が見つか る ま で、 タ イ プの階層を解読 し ます。 そ し て、 struct S 内の フ ィ ール ド foo の宣言を表示 し ます。 コ ン テ キ ス ト ウ ィ ン ド ウ は ク ラ ス階層 も 動的に解読 し ます。 つま り 、 範囲にあ る メ ンバを探 し なが ら 、 ク ラ ス派生階層構造を探 し ます。 コ ン テキス ト ウ ィ ン ド ウのカ ス タ マ イ ズ Context Window Properties コ マ ン ド を使用 し て、 コ ン テ キ ス ト ウ ィ ン ド ウ の設定を変更で き ます。 上記の よ う にベース タ イ プの解読を オ フ に 58 Source Insight ユーザー マニ ュ アル 第3章 リ レーシ ョ ン ウ ィ ン ド ウ し て、 コ ン テ キ ス ト ウ ィ ン ド ウ が ど の よ う にカー ソ ルを追跡す る か制 御で き ます。 171 ページの 「Context Window Properties」 も 参照 し て く だ さ い。 図 3.14 [Context Window Properties] ダ イ ア ロ グ ボ ッ ク ス リ レーシ ョ ン ウ ィ ン ド ウ リ レーシ ョ ン ウ ィ ン ド ウを使っ て、 関数呼び出 し ツ リ ーや参照ツ リ ー を見る こ と がで き ます。 リ レーシ ョ ン ウ ィ ン ド ウ は、 現在選択 し てい る シ ン ボル と 他のシ ン ボ ルの関係を表示す る Source Insight の革新的な機能です。 現在の動作状 況を追跡 し た り 、 リ レーシ ョ ン情報を自動的に表示す る な ど、 コ ン テ Source Insight ユーザー マニ ュ アル 59 第 3章 ウ ィ ン ド ウの説明 キ ス ト ウ ィ ン ド ウ の よ う に機能 し ます。 [View] > [Relation Window] コ マ ン ド は、 リ レーシ ョ ン ウ ィ ン ド ウ のオ ン と オ フ を切 り 替え ます。 図 3.15 リ レーシ ョ ン ウ ィ ン ド ウは、 型への参照、 お よび関数から の間接参 照を表示 し ます。 リ レーシ ョ ン ウ ィ ン ド ウ はバ ッ ク グ ラ ウ ン ド で動作 し 、 ユーザーが選 択 し たシ ン ボルを追跡 し ます。 ク ラ ス階層、 コ ール ツ リ ー、 参照ツ リ ー、 その他を参照で き ます。 リ レーシ ョ ン ウ ィ ン ド ウ の利点は、 何 も 特別な こ と を行 う 必要がない こ と です。 作業中はバ ッ ク グ ラ ウ ン ド で動作 し てい ますが、 必要な と き に呼び出す こ と がで き ます。 複数の リ レーシ ョ ン ウ ィ ン ド ウ を開いて、 異な る 種類の情報を表示す る こ と も で き ます。 アウ ト ラ イ ン と グ ラ フ ビ ュ ー リ レーシ ョ ン ウ ィ ン ド ウでアウ ト ラ イン とグラ フ ビ ュ ーを表示で き ます。 60 リ レーシ ョ ン ウ ィ ン ド ウ には、 ア ウ ト ラ イ ン ビ ュ ー と グ ラ フ ビ ュ ー の 2 種類のビ ュ ーがあ り ます。 グ ラ フ ビ ュ ーはシ ン ボル同士を線で接 続 し 、 グ ラ フ ノ ー ド と し て シ ン ボルを表示 し ます。 [Relation Graph Properties] コ マ ン ド ( リ レーシ ョ ン ウ ィ ン ド ウ で使用可能な右 ク リ ッ Source Insight ユーザー マニ ュ アル 第3章 リ レーシ ョ ン ウ ィ ン ド ウ ク シ ョ ー ト カ ッ ト メ ニ ュ ー ) に よ り 、 グ ラ フ ビ ュ ーの表示方法を コ ン ト ロ ールで き ます。 図 3.16 同 じ リ レーシ ョ ン デー タ のアウ ト ラ イ ン ビ ュ ー と グ ラ フ ビ ュ ー リ レーシ ョ ン シ ッ プの タ イ プ リ レーシ ョ ン ウ ィ ン ド ウは異な る リ レーシ ョ ン シ ッ プ を表示で き ます。 リ レーシ ョ ン シ ッ プは計算上最 も 速い も のか ら 最 も 遅い も の ま で リ ス ト さ れた 3 つのカ テ ゴ リ に分類 さ れます。 • Contains – 現在のシ ン ボルの内容を表示 し ます。 た と えば、 構 造体の メ ンバ。 • Calls – 現在のシ ン ボルに よ っ て参照 さ れてい る 他のシ ン ボル を表示 し ます。 た と えば、 現在の関数に呼び出 さ れてい る 関 数。 • References – 現在のシ ン ボルを参照 し てい る 他のシ ン ボルを表 示 し ます。 た と えば、 現在の関数を呼び出 し てい る 関数。 リ レーシ ョ ン ウ ィ ン ド ウの性能 リ レーシ ョ ン ウ ィ ン ド ウ は多 く の処理を行い ます。 一部の リ レーシ ョ ン シ ッ プは遅 く な り ます。 非常に大規模なプ ロ ジ ェ ク ト では、 「References」 リ レーシ ョ ン シ ッ プは処理が最 も 遅 く な り ます。 リ レーシ ョ ン シ ッ プのルール リ レーシ ョ ン シ ッ プには表示する情 報を決めるルール があ り ます。 表示 さ れ る リ レーシ ョ ン シ ッ プはシ ン ボルの タ イ プに よ っ て決ま り ま す。 [Relation Window Properties] ダ イ ア ロ グ ボ ッ ク ス で、 異な る シ ン ボ ル タ イ プに表示す る リ レーシ ョ ン シ ッ プ を指定で き ます。 た と えば、 「Calls」 では関数の リ レーシ ョ ン シ ッ プ、 「Inheritance」 では ク ラ ス の リ レーシ ョ ン シ ッ プ を表示す る よ う に指定で き ます。 Source Insight ユーザー マニ ュ アル 61 第 3章 ウ ィ ン ド ウの説明 リ レーシ ョ ン ウ ィ ン ド ウ がシ ン ボルを拡張 し て新規レベルを表示す る 場合、 拡張で表 さ れ る リ レーシ ョ ン シ ッ プは拡張す る シ ン ボルの タ イ プに基づ き ます。 こ れは、 各 リ レーシ ョ ン ウ ィ ン ド ウ が複数の リ レー シ ョ ン シ ッ プ を潜在的に表示で き る こ と を意味 し ます。 273 ページの 「Relation Window Properties」 も 参照 し て く だ さ い。 コ ール グ ラ フ 関数呼び出 し グ ラ フ リ レーシ ョ ン シ ッ プは、 特定のパ ス のみを表示す る よ う に フ ィ ル タ リ ン グで き ます。 [Relation Window Properties] ダ イ ア ロ グ ボ ッ ク ス の [Call Graph Filtering] ボ タ ン を ク リ ッ ク す る と 、 除外す る 特定の関数を指定 し て フ ィ ル タ リ ン グ を制御で き る ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。 コ ー ド メ ト リ ク ス の規制に よ る 機能 も フ ィ ル タ リ ン グで き ます。 Source Insight は C マ ク ロ を正当な関数形式のシ ン ボル と みなすため、 C マ ク ロ は コ ール グ ラ フ に表示 さ れ る こ と に注意 し て く だ さ い。 C マ ク ロ は [Call Graph Filtering] ダ イ ア ロ グ ボ ッ ク ス で フ ィ ル タ リ ン グす る こ と も で き ます。 複数の リ レーシ ョ ン ウ ィ ン ド ウ 複数の リ レーシ ョ ン ウ ィ ン ド ウを使 用 し て、 同時に異 な る リ レーシ ョ ン を表示で き ます。 リ レーシ ョ ン ウ ィ ン ド ウ で右 ク リ ッ ク 、 ま たは新規 リ レーシ ョ ン ウ ィ ン ド ウ コ マ ン ド を選択す る こ と に よ り 、 複数の リ レーシ ョ ン ウ ィ ン ド ウ を使用で き ます。 2 つ以上の リ レーシ ョ ン ウ ィ ン ド ウ を使用す る こ と に よ り 、 リ レーシ ョ ン シ ッ プの複数の タ イ プ を表示 し た り 、 同時に 異な る タ ーゲ ッ ト を追跡で き ます。 た と えば、 あ る ウ ィ ン ド ウ では選 択 し た関数に よ っ て呼び出 さ れてい る 関数を表示 し 、 別の ウ ィ ン ド ウ では選択 し た関数を呼び出す関数を表示 し ます。 リ レーシ ョ ン ウ ィ ン ド ウのカ ス タ マ イ ズ [Relation Window Properties] コ マ ン ド は、 リ レーシ ョ ン ウ ィ ン ド ウ ツールバーま たは、 シ ョ ー ト カ ッ ト メ ニ ュ ーか ら ア ク セ ス で き ます。 こ の コ マ ン ド か ら 表示す る リ レーシ ョ ン シ ッ プ、 お よ び ウ ィ ン ド ウ の 表示方法を制御で き ます。 273 ページの 「Relation Window Properties」 も 参照 し て く だ さ い。 [Relation Graph Properties] コ マ ン ド を使用 し て、 リ レーシ ョ ン ウ ィ ン ド ウ のグ ラ フ ビ ュ ーの表示方法を カ ス タ マ イ ズす る こ と も で き ます。 272 ページの 「Relation Graph Properties」 も 参照 し て く だ さ い。 62 Source Insight ユーザー マニ ュ アル 第3章 クリ ップ ウィ ンドウ クリ ップ ウィ ンドウ ク リ ッ プ ウ ィ ン ド ウ は、 ク リ ッ プ を表示す る 分離お よ び結合可能な ウ ィ ン ド ウ です。 ク リ ッ プ ウ ィ ン ド ウ へテ キ ス ト を ド ラ ッ グ ア ン ド ド ロ ッ プ し た り 、 ク リ ッ プ ウ ィ ン ド ウ か ら フ ァ イ ルへテ キ ス ト を ド ラ ッ グで き ます。 こ の フ ィ ール ド に入力 し て ク リ ッ プ を選択 し ます。 こ の リ ス ト は入 力 し た内容で フ ィ ル タ リ ン グ さ れます。 他のク リ ッ プ情報は上部 に表示 さ れ、 ど こ から の ク リ ッ プかを表示 し ま す。 開いているすべてのク リ ッ プの リ ス ト です。 それぞれ、 ク リ ッ プの テキス ト の最初の行を 表示 し ます。 図 3.17 ク リ ッ プ ウ ィ ン ド ウ ク リ ッ プ とは ク リ ッ プは、 コ ー ド やボ イ ラープ レー ト ( 定型 ) テ キス ト の再配置に 便利です。 ク リ ッ プは ク リ ッ プ ボー ド 形式の ド キ ュ メ ン ト です。 実際、 ク リ ッ プ ボー ド は Source Insight では ク リ ッ プ と みな さ れ ます。 Source Insight で は、 た く さ んの ク リ ッ プ を使用で き ます。 ク リ ッ プは他の フ ァ イ ル と 似てい ます。 他の フ ァ イ ル と 同 じ よ う に編集で き ます。 ク リ ッ プ と 他 の フ ァ イ ルの違いは、 ク リ ッ プはセ ッ シ ョ ン の間に自動的に保存 さ れ、 Paste From Clip コ マ ン ド で簡単に貼 り 付け る こ と がで き る 点です。 ク リ ッ プは特に複数の フ ァ イ ル間で コ ー ド を再配置す る 場合に便利で す。 ク リ ッ プはボ イ ラ ープ レー ト テ キ ス ト を頻繁に挿入す る 場合に も 便利です。 [Clip Window] コ マ ン ド ま たは [Activate Clip Window] コ マ ン ド を実行 し て、 ク リ ッ プ ウ ィ ン ド ウ のオ ン、 オ フ を切 り 替え る こ と がで き ます。 新規ク リ ッ プの作成 新規 ク リ ッ プ を作成す る には、 [File] メ ニ ュ ーま たは ク リ ッ プ ウ ィ ン ド ウ ツールバーか ら [New Clip] コ マ ン ド を実行 し ます。 新規 ソ ース フ ァ イ ル ウ ィ ン ド ウ が表示 さ れ ます。 他の フ ァ イ ルの よ う に、 編集や 入力が可能です。 フ ァ イ ルを閉 じ た場合で も 、 ク リ ッ プはフ ァ イ ルが 削除 さ れ る ま で ク リ ッ プ ウ ィ ン ド ウ に残 り ます。 Source Insight ユーザー マニ ュ アル 63 ウ ィ ン ド ウの説明 第 3章 新規ク リ ッ プ を作 成するには、 テキ ス ト をク リ ッ クし てク リ ッ プ ウ ィ ン ド ウへ ド ラ ッ グ し ます。 [Copy to Clip] コ マ ン ド を使用 し て ク リ ッ プ を作成す る こ と も で き ます。 エ ク ス プ ロ ー ラ か ら フ ァ イ ルを ク リ ッ プ ウ ィ ン ド ウ へ ド ラ ッ グ し て、 フ ァ イ ルを ク リ ッ プ と し て開 く こ と も で き ます。 ク リ ッ プの保存 ク リ ッ プは、 Source Insight プ ロ グ ラ ム デ ィ レ ク ト リ の Clips サブデ ィ レ ク ト リ に自動的に保存 さ れ ます。 Clips サブデ ィ レ ク ト リ に作成 し た テ キ ス ト フ ァ イ ルは、 Source Insight の起動時に自動的に ロ ー ド さ れ ま す。 検索結果ウ ィ ン ド ウ マルチ フ ァ イルの 検索 と 置換結果 は、 検索結果ウ ィ ン ド ウに表示 さ れ ます。 検索結果 ウ ィ ン ド ウ は、 [Search Files] コ マ ン ド ま たは [Lookup References] コ マ ン ド を実行す る と 作成 さ れ ます。 検索結果 ウ ィ ン ド ウ のそれぞれの行は、 行番号の フ ァ イ ルに対応 し てい ます。 検索結果 ウ ィ ン ド ウ に リ ス ト さ れた一致には、 ソ ース リ ン ク ( 一致が見つか っ た場所へのハ イ パーテ キ ス ト 形式の リ ン ク ) が含ま れ ます。 ソ ース リ ン クは 2 つの場所を接続 し ます。 こ れらの リ ン クは検索結果 と 一致 し た内容を接 続 し ます。 図 3.18 検索結果ウ ィ ン ド ウは、 リ ス ト さ れている一致ご と に ソ ース リ ン ク を表示 し ます。 各ソ ース リ ン ク はフ ァ イル中の位置に対応 し ています 上記の 検索結果ウ ィ ン ド ウは、 あ る ソ ース リ ン ク の タ ーゲ ッ ト 位置です。 64 Source Insight ユーザー マニ ュ アル 第3章 検索結果ウ ィ ン ド ウ 検索結果 ウ ィ ン ド ウ の各セ ッ ト の一致には、 検索に使用 さ れたパ タ ー ン を リ ス ト す る 検索見出 し 、 続いて一致回数が表示 さ れ ます。 検索見 出 し は Source Insight に よ っ て解析 さ れ、 それぞれの検索パ タ ーンは検 索結果 ウ ィ ン ド ウ の左側のシ ン ボル ウ ィ ン ド ウ に表示 さ れます。 た と えば、 下記の検索見出 し 、 ---- GetStockObject (23) ----- は一致回数が 23 であ る こ と を意味 し ます。 検索結果 ウ ィ ン ド ウ は、 実際に編集可能な も う 1 つの フ ァ イ ル バ ッ フ ァ です。 ウ ィ ン ド ウ か ら 行を削除 し て結果を削除す る こ と も で き ま す。 Source Insight ユーザー マニ ュ アル 65 ウ ィ ン ド ウの説明 66 第 3章 Source Insight ユーザー マニ ュ アル 第4章 Source Insight の概念 こ の章では、 Source Insight の概念 と 機能について説明 し ます。 少 し 時 間を かけて読む こ と で、 Source Insight に関す る 多 く の情報が得 ら れま す。 こ の章を読む と 、 Source Insight の機能について詳 し く 知 る こ と がで き ます。 Source Insight の コ マ ン ド の詳細は、 第 5 章を参照 し て く だ さ い。 プロジ ェ ク ト プロジ ェ ク ト とは ソ ース フ ァ イルの 集ま り です。 Source Insight はプ ロ ジ ェ ク ト 単位で構成 さ れ ます。 プ ロ ジ ェ ク ト と は ソ ース フ ァ イ ルの集ま り です。 Source Insight は、 プ ロ ジ ェ ク ト の フ ァ イ ル デー タ ベース にプ ロ ジ ェ ク ト に含ま れ る フ ァ イ ルを記録 し ます。 新規フ ァ イ ルを作成 し た場合、 フ ァ イ ルは保存時にプ ロ ジ ェ ク ト に追 加 さ れ ます。 プ ロ ジ ェ ク ト のデ ィ レ ク ト リ ま たはサブデ ィ レ ク ト リ に 新規フ ァ イ ルが表示 さ れた場合、 [Synchronize Files] コ マ ン ド を実行す る か、 Source Insight がバ ッ ク グ ラ ウ ン ド で自動的に同期す る よ う に設 定す る こ と で、 新規フ ァ イ ルを プ ロ ジ ェ ク ト に自動的に追加す る こ と も で き ます。 Source Insight ユーザー マニ ュ アル 67 Source Insight の概念 第4章 プ ロ ジ ェ ク ト を開 く と 、 Source Insight の一部の操作が変更ま たは拡張 さ れ ます。 た と えば、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ では、 デ ィ レ ク ト リ に 関係な く 、 プ ロ ジ ェ ク ト の フ ァ イ ルがすべて リ ス ト さ れ ます。 A Project Source Files Data Files: * source file list * symbol database Configuration: * preferences * customizations Workspace: * session state * open files * window positions 図 4.1 Source Insight プ ロ ジ ェ ク ト の コ ンポーネ ン ト プ ロ ジ ェ ク ト には シ ンボル デー タ ベースが含まれて います。 プ ロ ジ ェ ク ト には Source Insight が管理 し てい る シ ン ボル デー タ ベース が自動的に含まれ ます。 プ ロ ジ ェ ク ト に ソ ース フ ァ イ ルを追加す る 場 合を除いて、 別の タ グ フ ァ イ ルを生成す る 必要はあ り ません。 Source Insight が自動的に タ グ フ ァ イ ルを生成 し ます。 各プ ロ ジ ェ ク ト には、 個々のセ ッ シ ョ ン ワー ク スペース があ り ます。 ワ ー ク スペース には、 現在開いてい る フ ァ イ ルの リ ス ト や ウ ィ ン ド ウ の位置の よ う なセ ッ シ ョ ン情報が含ま れます。 プ ロ ジ ェ ク ト には個々の設定情報があ り ます。 単一のグ ロ ーバル設定 を使用す る こ と も で き ます。 設定には、 [Options] メ ニ ュ ーか ら 設定 し た内容を含む、 カ ス タ マ イ ズ し た情報が含ま れます。 こ のマニ ュ アルは、 特に明記 さ れていない限 り 、 プ ロ ジ ェ ク ト フ ァ イ ルが開かれてい る こ と を前提 と し て記述 さ れてい ます。 プ ロ ジ ェ ク ト を開いてい る 場合 と 開いていない場合で コ マ ン ド の動作が異な る 場合 は、 その点を説明 し ます。 カ レン ト プロジ ェ ク ト カ レン ト プロジ ェ ク ト と は Source Insight のイ ン ス タ ン スで開いている プ ロ ジ ェ ク ト のこ と です。 68 開いてい る プ ロ ジ ェ ク ト があれば、 それを カ レ ン ト プ ロ ジ ェ ク ト と し て参照 し ます。 同時に開 く こ と ので き る プ ロ ジ ェ ク ト は 1 つのみです が、 Source Insight の異な る イ ン ス タ ン ス を実行 し て、 各 イ ン ス タ ン ス で異な る プ ロ ジ ェ ク ト を開 く こ と は可能です。 Source Insight は他のプ ロ ジ ェ ク ト を開 き 、 シ ン ボル宣言を検索す る こ と があ り ます。 し か し 、 Source Insight の各 イ ン ス タ ン ス で同時に開 く こ と ので き る プ ロ ジ ェ ク ト は 1 つのみです。 Source Insight ユーザー マニ ュ アル 第4章 プロジ ェ ク ト プ ロ ジ ェ ク ト の機能 Source Insight のプ ロ ジ ェ ク ト にはい く つか重要な機能があ り ます。 • プ ロ ジ ェ ク ト は論理的に フ ァ イ ルを関連付け ます。 • 開 く フ ァ イ ルを指定す る 場合、 フ ァ イ ルの ド ラ イ ブやデ ィ レ ク ト リ を指定す る 必要はあ り ません。 Source Insight は、 プ ロ ジ ェ ク ト フ ァ イ ルが異な る デ ィ レ ク ト リ や ド ラ イ ブにあ る 場合で も 、 すべての場所を認識 し ます。 129 ページの 「 コ マ ン ド ラ イ ンの 構文」 も 参照 し て く だ さ い。 • Source Insight は、 プ ロ ジ ェ ク ト のすべてのシ ン ボル宣言に関す る デー タ を含むシ ン ボル デー タ ベース を保持 し てい ます。 Source Insight を使っ て、 シ ン ボルを素早 く 検索す る こ と も で き ます。 ソ ース フ ァ イ ルが保存 さ れ る と 、 シ ン ボル デー タ ベース は自動的に イ ン ク リ メ ン タ ルに更新 さ れ ます。 こ の結果、 Source Insight は常にシ ン ボルの位置を把握 し てい ます。 た と えば、 ソ ース管理シ ス テ ムに よ っ て フ ァ イ ルが変更 さ れ る と 、 Source Insight はそれ ら の フ ァ イ ルを プ ロ ジ ェ ク ト シ ン ボル デー タ ベー ス と 自動的に同期 さ せます。 • Source Insight は コ ール ツ リ ー、 参照ツ リ ー、 ク ラ ス階層の よ う に、 プ ロ ジ ェ ク ト のシ ン ボル リ レーシ ョ ン シ ッ プ を表示で き ま す。 • Source Insight は、 参照 イ ンデ ッ ク ス を使用 し て、 シ ン ボル参照 のプ ロ ジ ェ ク ト 全体の検索を高速化 し ます。 参照 イ ンデ ッ ク ス は、 フ ァ イ ルを編集ま たは保存す る と 、 イ ン ク リ メ ン タ ルに更 新 さ れます。 • 各プ ロ ジ ェ ク ト には、 個々のセ ッ シ ョ ン ワー ク スペース があ り ます。 プ ロ ジ ェ ク ト を開 く と 、 すべてのセ ッ シ ョ ン状態は リ ス ト ア さ れ ます。 プ ロ ジ ェ ク ト を閉 じ る と 、 開いていたすべての フ ァ イ ルは閉 じ ら れ、 ワー ク スペース は保存 さ れます。 • 各プ ロ ジ ェ ク ト には、 個々の設定フ ァ イ ルがあ り ます。 つま り 、 各プ ロ ジ ェ ク ト で個々の メ ニ ュ ー、 キーボー ド 割 り 当て、 ス ク リ ーン カ ラ ーのセ ッ ト を使用で き ます。 プ ロ ジ ェ ク ト の作成 [Project] > [New Project] コ マ ン ド を使用 し て、 新規プ ロ ジ ェ ク ト を作 成 し ます。 プ ロ ジ ェ ク ト 名お よ び Source Insight がプ ロ ジ ェ ク ト デー タ を格納す る 場所を指定 し ます。 250 ページの 「New Project」 も 参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 69 Source Insight の概念 第4章 プロジ ェ ク ト デ ィ レ ク ト リ プ ロ ジ ェ ク ト を作成す る 場合、 プ ロ ジ ェ ク ト ご と に 2 つのデ ィ レ ク ト リ を指定す る 必要があ り ます。 • プ ロ ジ ェ ク ト デー タ デ ィ レ ク ト リ - Source Insight がプ ロ ジ ェ ク ト デー タ フ ァ イ ルを格納す る 場所です。 た と えば、 .pr フ ァ イ ルは こ こ に格納 さ れ ます。 デフ ォ ル ト では、 新規プ ロ ジ ェ ク ト を作 成す る 場合、 Source Insight は 「My Documents\Source Insight\Projects」 フ ォ ルダにプ ロ ジ ェ ク ト デー タ デ ィ レ ク ト リ を 作成 し ます。 • プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ - プ ロ ジ ェ ク ト ソ ース フ ァ イ ル の場所です。 以前のバージ ョ ン の Source Insight では、 プ ロ ジ ェ ク ト ルー ト デ ィ レ ク ト リ と 呼ばれてい ま し た。 こ れ ら 2 つの別の フ ォ ルダ を使用す る こ と で、 Source Insight のデー タ を ソ ース フ ァ イ ル と 別の場所に格納で き ます。 さ ら に、 Source Insight のプ ロ ジ ェ ク ト デー タ フ ァ イ ルは個々のユーザー デー タ エ リ アに保 存 さ れ る ため、 同 じ マシ ンの他のユーザーか ら ア ク セ ス で き ません。 し か し 、 両方の フ ォ ルダで同 じ 場所を使 う こ と も で き ます。 プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ の場所を編集す る には、 [Project Settings] コ マ ン ド を使用 し ます。 263 ページの 「Project Settings」 も 参 照 し て く だ さ い。 プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ プロジ ェ ク ト ソー ス ディ レク ト リ は、 ソ ース フ ァ イ ルの 「ホーム」 デ ィ レ ク ト リ と見 なす場所のこ と で す。 プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ は、 ソ ース フ ァ イ ルの メ イ ン の デ ィ レ ク ト リ と 見なす場所の こ と です。 プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ は、 ほ と ん ど の ソ ース フ ァ イ ルを含む最上位のデ ィ レ ク ト リ ま た は 「ルー ト 」 デ ィ レ ク ト リ です。 プ ロ ジ ェ ク ト の 「ホーム」 デ ィ レ ク ト リ と 見な さ れ ます。 Source Insight は、 こ のデ ィ レ ク ト リ に関連す る プ ロ ジ ェ ク ト フ ァ イ ル名を正規化 し ます。 (71 ページの図 4.2 を参照 し て く だ さ い )。 デフ ォ ル ト では、 Source Insight は、 プ ロ ジ ェ ク ト ソ ー ス デ ィ レ ク ト リ と プ ロ ジ ェ ク ト デー タ デ ィ レ ク ト リ を同 じ に し ます。 プ ロ ジ ェ ク ト を作成 し た後、 [Project Settings] コ マ ン ド を使用 し て、 ソ ース デ ィ レ ク ト リ をデ ィ ス ク 上の任意の場所に設定で き ます。 プ ロ ジ ェ ク ト の場所の選択についての詳細は、 250 ページの 「プ ロ ジ ェ ク ト を保存す る 場所」 を参照 し て く だ さ い。 い っ たんプ ロ ジ ェ ク ト が指定 し たデ ィ レ ク ト リ に作成 さ れ る と 、 ネ ッ ト ワー ク ド ラ イ ブや UNC パ ス を含む任意のデ ィ レ ク ト リ と ド ラ イ ブ か ら フ ァ イ ルを追加で き ます。 た と えば、 ゲーム プ ロ グ ラ ム のプ ロ ジ ェ ク ト を作成す る 場№・ 痰 … あ げます。 ソ ース フ ァ イ ルを カ テ ゴ リ 別に分類 し 、 それぞれのカ テ ゴ リ 70 Source Insight ユーザー マニ ュ アル 第4章 プロジ ェ ク ト 別にデ ィ レ ク ト リ を作成す る と し ます。 必要なデ ィ レ ク ト リ を作成 し 、 ルー ト デ ィ レ ク ト リ が C:\Game であ る プ ロ ジ ェ ク ト を作成 し ます。 Project Root: C:\Game C:\Game\Presentation C:\Game\Core C:\Game\Core\Battle C:\Release Build C:\Debug Build C:\Game\Core\EnemyAI 図 4.2 プ ロ ジ ェ ク ト ソ ース ツ リ ーのサン プル。 ゲーム プ ロ グ ラ ムのプ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ は C:\Game で す。 「Presentation」、 「Core」 デ ィ レ ク ト リ お よ び 「Core」 のサブデ ィ レ ク ト リ に ソ ース コ ー ド があ り ます。 Source Insight プ ロ ジ ェ ク ト には、 こ れ ら のすべてのデ ィ レ ク ト リ の フ ァ イ ルが含まれます。 フ ァ イル名の正規化 Source Insight が フ ァ イ ル名を表示 し 、 その フ ァ イ ルがプ ロ ジ ェ ク ト の 一部であ る 場合、 名前 と パ ス を分か り やすい も のに変更 し 、 他のすべ てのデ ィ レ ク ト リ パ ス と 重複 し ないベース フ ァ イ ル名をつけ ます。 こ の処理はフ ァ イ ル名の正規化 と 呼ばれ ます。 多 く のプ ロ ジ ェ ク ト は フ ァ イ ルを複数のサブデ ィ レ ク ト リ に分けて保存 し てい る ため、 こ の 処理は と て も 重要です。 ま た、 デ ィ レ ク ト リ ツ リ ーを フ ラ ッ ト にす る と 、 フ ァ イ ル名の最 も 重要な部分の入力や選択が と て も 簡単にな り ま す。 正規化 さ れた フ ァ 正規化 さ れた フ ァ イ ル名は、 常に リ ーフ フ ァ イ ル名で始ま り 、 括弧付 イル名は、 常に き のデ ィ レ ク ト リ パ ス が続 き ます。 フ ァ イ ルが同 じ ド ラ イ ブにあ る 場 リ ー フ フ ァ イル名 合、 デ ィ レ ク ト リ パ ス はプ ロ ジ ェ ク ト の ソ ース デ ィ レ ク ト リ に対す る で始ま り 、 括弧付 きのデ ィ レ ク ト リ 相対パ ス です。 フ ァ イ ルが同 じ ド ラ イ ブにない場合、 ま たはプ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ ツ リ ーの一部ではない場合、 フル パ ス が括 パスが続き ます。 弧付 き で表示 さ れ ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ で正規化 さ れた フ ァ イ ル名を参照 し ない場 合、 [Project Window Properties] コ マ ン ド を使用 し 、 [File Directory] ボ ッ ク ス をチ ェ ッ ク し てデ ィ レ ク ト リ 名の リ ス ト に別の列を追加す る こ と で機能を オ フ にで き ます。 前述のゲーム プ ロ ジ ェ ク ト を使用 し た例をい く つか示 し ます。 フ ァ イル パス : 表示 さ れる フ ァ イル名 : C:\Game\File.c File.c C:\Game\Core\File.c File.c (Core) C:\Game\Core\EnemyAI\File.c File.c (Core\EnemyAI) C:\SomeDir\File.c File.c (C:\SomeDir) D:\OtherDir\File.c File.c (D:\OtherDir) Source Insight ユーザー マニ ュ アル 71 Source Insight の概念 第4章 プロジ ェ ク ト リ ス ト プロジ ェ ク ト リ ス ト には、 最近作成 し たプ ロ ジ ェ ク ト の リ ス ト が含まれ ます。 プ ロ ジ ェ ク ト を作成す る と 、 Source Insight はプ ロ ジ ェ ク ト リ ス ト でプ ロ ジ ェ ク ト を追跡 し ます。 プ ロ ジ ェ ク ト リ ス ト は 1 つのみで、 Source Insight を最初に実行す る と き に作成 さ れ ます。 フ ァ イ ルの名前は Projects.db3 で、 「My Documents\Source Insight\Projects」 デ ィ レ ク ト リ に 作成 さ れ ます。 プ ロ ジ ェ ク ト リ ス ト にはプ ロ ジ ェ ク ト が作成 さ れた デ ィ レ ク ト リ を含む、 作成ま たは開かれたすべてのプ ロ ジ ェ ク ト の名 前が格納 さ れ ます。 プ ロ ジ ェ ク ト に フ ァ イルを追加する い っ たんプ ロ ジ ェ ク ト を作成 し て開いた ら 、 プ ロ ジ ェ ク ト に ソ ース フ ァ イ ルを追加す る 必要があ り ます。 2 つの方法があ り ます。 [Add and Remove Project Files] コ マ ン ド を使っ て、 プ ロジ ェ ク ト にフ ァ イルを追加 し ま す。 72 Source Insight で新規フ ァ イ ルを作成 し て保存す る と 、 カ レ ン ト プ ロ ジ ェ ク ト に フ ァ イ ルを追加す る か ど う か確認す る メ ッ セージが表示 さ れます。 新規 コ ー ド を記述 し て新規 ソ ース フ ァ イ ルを作成 し てい る 場 合、 こ の方法が最 も 一般的です。 既存の ソ ース フ ァ イ ルがあ り 、 カ レ ン ト プ ロ ジ ェ ク ト に こ れ ら の フ ァ イ ルを追加す る 場合は、 [Add and Remove Project Files] コ マ ン ド を使 用 し ます。 こ の コ マ ン ド を使用す る と 、 デ ィ レ ク ト リ ツ リ ー全体を含 む既存の フ ァ イ ルを、 デ ィ ス ク の任意の場所か ら カ レ ン ト プ ロ ジ ェ ク ト に追加で き ます。 詳細は、 153 ページの 「Add and Remove Project Files」 お よ び 157 ページの 「Add File List」 を参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 第4章 プロジ ェ ク ト プ ロ ジ ェ ク ト に フ ァ イ ルを追加す る と 、 以下の よ う な影響があ り ます。 • フ ァ イ ル名がプ ロ ジ ェ ク ト の フ ァ イ ル名デー タ ベース に格納 さ れます。 Source Insight で フ ァ イ ルの リ ス ト を表示す る と き に、 フ ァ イ ル名が リ ス ト に含まれます。 た と えば、 [Open] コ マ ン ド を使用す る と 、 フ ァ イ ル名が リ ス ト ボ ッ ク ス に表示 さ れます。 • フ ァ イ ルは言語形式に基づいて解析 さ れ ます。 シ ン ボル定義は プ ロ ジ ェ ク ト のシ ン ボル デー タ ベース に追加 さ れ ます。 各フ ァ イ ルで使われ る 言語パーサーは ド キ ュ メ ン ト タ イ プに よ り 決定 さ れ ます。 92 ページの 「 ド キ ュ メ ン ト タ イ プ」 も 参照 し て く だ さ い。 • フ ァ イ ルが Source Insight 以外で ( た と えば、 ソ ース管理シ ス テ ム に よ っ て ) 変更 さ れた場合、 Source Insight がプ ロ ジ ェ ク ト シ ン ボル デー タ ベース を同期で き る よ う に、 フ ァ イ ルの変更日付が フ ァ イ ル名デー タ ベース に記録 さ れ ます。 • フ ァ イ ル名の表示方法が変更 さ れ ます。 フ ァ イ ル名はプ ロ ジ ェ ク ト の ソ ース デ ィ レ ク ト リ に正規化 さ れ ます。 • フ ァ イ ルは、 コ ール ツ リ ーの よ う にシ ン ボル リ レーシ ョ ン を表 示す る と き 検索 さ れ る プ ロ ジ ェ ク ト コ ー ド ベース の一部にな り ます。 プ ロ ジ ェ ク ト から フ ァ イルを削除する カ レ ン ト プ ロ ジ ェ ク ト の フ ァ イ ル リ ス ト か ら フ ァ イ ルを削除す る に は、 [Project] > [Add and Remove Project Files] コ マ ン ド を使用 し ます。 フ ァ イ ルがプ ロ ジ ェ ク ト か ら 削除 さ れ る と 、 フ ァ イ ル内のすべてのシ ン ボルはプ ロ ジ ェ ク ト のシ ン ボル デー タ ベース か ら 削除 さ れます。 Source Insight はデ ィ ス ク か ら フ ァ イ ルを実際に削除 し ません。 153 ページの 「Add and Remove Project Files」 も 参照 し て く だ さ い。 プ ロ ジ ェ ク ト を閉 じ る カ レ ン ト プ ロ ジ ェ ク ト を閉 じ る には、 [Close Project] コ マ ン ド を使用 し ます。 プ ロ ジ ェ ク ト を閉 じ る と プ ロ ジ ェ ク ト は中断 さ れます。 こ の ため、 Source Insight は編集 し た フ ァ イ ルを保存す る か ど う か確認 メ ッ セージ を表示 し た後、 すべての フ ァ イ ルを閉 じ ます。 実際に中断す る 代わ り に、 Source Insight は何 も プ ロ ジ ェ ク ト を開かないで続行 し ます。 プ ロ ジ ェ ク ト を開 く プ ロ ジ ェ ク ト を開 く には、 [Open Project] コ マ ン ド を使用 し ます。 異な る プ ロ ジ ェ ク ト を開 く には、 [Project] > [Open Project] コ マ ン ド (252 ページの 「Open Project」 も 参照 し て く だ さ い。 ) を使用 し ます。 Source Insight では同時に開 く こ と がで き る のは 1 プ ロ ジ ェ ク ト のみな ので、 既に開いてい る プ ロ ジ ェ ク ト があ る 場合、 カ レ ン ト プ ロ ジ ェ ク Source Insight ユーザー マニ ュ アル 73 Source Insight の概念 第4章 ト を閉 じ る か ど う か確認す る メ ッ セージが表示 さ れ ます。 カ レ ン ト プ ロ ジ ェ ク ト を閉 じ る と 、 選択可能な既存プ ロ ジ ェ ク ト の リ ス ト ボ ッ ク ス が表示 さ れ ます。 プ ロ ジ ェ ク ト が開かれてい る 場合、 プ ロ ジ ェ ク ト の設定フ ァ イ ル と ワ ー ク スペース フ ァ イ ルが ロ ー ド さ れ ます。 こ の結果、 表示、 メ ニ ュ ー、 キース ト ロ ー ク の設定が変更 さ れ、 以前のセ ッ シ ョ ン で開か れていた フ ァ イ ルが再び使用 さ れます。 プ ロ ジ ェ ク ト が開かれてい る 場合、 現在の作業デ ィ レ ク ト リ はプ ロ ジ ェ ク ト の ソ ース デ ィ レ ク ト リ に変更 さ れます。 プ ロ ジ ェ ク ト の削除 プ ロ ジ ェ ク ト を削除す る には、 [Remove Project] コ マ ン ド を使用 し ま す。 こ の コ マ ン ド は、 Source Insight が作成 し てプ ロ ジ ェ ク ト と 関連付 けたプ ロ ジ ェ ク ト デー タ フ ァ イ ルをすべて削除 し ます。 ソ ース フ ァ イ ルは削除 さ れません 。 281 ページの 「Remove Project」 も 参照 し て く だ さ い。 プ ロ ジ ェ ク ト 設定の変更 [Project Settings] コ マ ン ド を使用 し てプ ロ ジ ェ ク ト の イ ンデ ッ ク ス オプ シ ョ ン を設定 し ま す。 [Project Settings] コ マ ン ド を使用 し て、 カ レ ン ト プ ロ ジ ェ ク ト を管理 す る さ ま ざ ま なオプシ ョ ン を設定で き ます。 開いてい る プ ロ ジ ェ ク ト がない場合、 [Project Settings] コ マ ン ド はデフ ォ ル ト のオプシ ョ ン を設 定 し ます。 次回以降作成 さ れ る プ ロ ジ ェ ク ト では、 こ のオプシ ョ ンが 使用 さ れ ます。 新規プ ロ ジ ェ ク ト を作成す る と 、 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。 プ ロ ジ ェ ク ト で個々の設定を使用す る か、 グ ロ ーバル設定フ ァ イ ルを 使用す る か を指定で き ます。 プ ロ グ ラ ムの ソ ース デ ィ レ ク ト リ の場所 や イ ンデ ッ ク スす る シ ン ボル情報の種類を指定す る こ と も で き ます。 263 ページの 「Project Settings」 も 参照 し て く だ さ い。 チームでの作業 Source Insight はチーム での作業で効率的に動作す る よ う に設計 さ れて い ます。 チーム のプ ロ グ ラ マが コ ー ド ベース を編集す る と 、 Source Insight は自動的に編集を認識 し 、 シ ン ボル情報を更新 し ます。 ま た、 多 く の新規 コ ー ド を プ ロ ジ ェ ク ト に追加 し た り 、 モジ ュ ール間で移動 し た場合 も 、 Source Insight は行われた処理を追跡 し ます。 74 Source Insight ユーザー マニ ュ アル 第4章 チームでの作業 ネ ッ ト ワー ク の使用 ローカル フ ァ イル をプロジ ェ ク ト に 追加する こ と をお 勧め し ます。 Source Insight は、 各チーム メ ンバが個々の ロ ーカル マシ ン でプ ロ ジ ェ ク ト ソ ース フ ァ イ ルの コ ピーを使用 し た場合に最 も 効果的に動作 し ま す。 通常、 ソ ース コ ー ド の 「マ ス タ 」 コ ピーは中央サーバーで管理 さ れます。 Source Control software copies files between server and workstation Main Server with master copy of project source code Workstation with local copy of source code Workstation with local copy of source code Source Insight recognizes when files change and updates local symbol database information Workstation with local copy of source code 図 4.3 典型的なネ ッ ト ワー ク における ソ ースの管理。 プ ロ ジ ェ ク ト に リ モー ト フ ァ イルを追加する フ ァ イ ルの ロ ーカル コ ピーではな く 、 プ ロ ジ ェ ク ト サーバーの ソ ース フ ァ イ ルに直接ア ク セ スす る 必要があ る 場合 も あ り ます。 も ち ろ ん、 ネ ッ ト ワ ー ク 上のすべての フ ァ イ ルを直接、 開 く こ と が可能です。 し か し 、 別のユーザーが フ ァ イ ルを開いてい る 場合、 フ ァ イ ルが ロ ッ ク さ れ る か、 フ ァ イ ルの競合が生 じ る 可能性があ る こ と を常に注意 し て く だ さ い。 ま た、 リ モー ト フ ァ イ ルを プ ロ ジ ェ ク ト に追加 し ない場 合、 Source Insight のプ ロ ジ ェ ク ト 機能は十分に活用で き ません。 必要な場合、 リ モー ト ド ラ イ ブか ら プロジ ェ ク ト に ソ ース フ ァ イルを 追加で き ます。 プ ロ ジ ェ ク ト に直接サーバーの フ ァ イ ルを参照 さ せ る 1 つの方法は、 ワ ー ク ス テーシ ョ ン上にプ ロ ジ ェ ク ト を ロ ーカルに作成 し 、 [Add and Remove Project Files] コ マ ン ド を使用 し て、 リ モー ト サーバーか ら プ ロ ジ ェ ク ト に フ ァ イ ルを追加す る 方法です。 こ の方法では、 Source Insight のシ ン ボル デー タ ベース フ ァ イ ルはマシ ン上に ロ ーカルに格納 さ れ ますが、 ソ ース フ ァ イ ルはサーバーにあ り ます。 153 ページの 「Add and Remove Project Files」 も 参照 し て く だ さ い。 [Project Settings] コ マ ン ド を使用 し て、 サーバー上の リ モー ト ソ ース コ ー ド デ ィ レ ク ト リ を プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ と し て指定 Source Insight ユーザー マニ ュ アル 75 Source Insight の概念 第4章 す る 必要があ り ます。 こ の方法では、 フ ァ イ ルは ロ ーカル プ ロ ジ ェ ク ト のデー タ フ ァ イ ル デ ィ レ ク ト リ ではな く 、 メ イ ン ソ ース デ ィ レ ク ト リ に大 し て相対的に表示 さ れます。 263 ページの 「Project Settings」 も 参照 し て く だ さ い。 ソ ース管理の使用 典型的なネ ッ ト ワー ク 環境では、 各開発者は ワー ク ス テーシ ョ ン上に、 個々の ロ ーカル ソ ース フ ァ イ ルを持っ てい ます。 開発者が フ ァ イ ルを 変更す る 場合、 最初に ソ ース管理 ソ フ ト ウ ェ ア を使用 し て フ ァ イ ルを 「チ ェ ッ ク ア ウ ト 」 し ます。 フ ァ イ ルがチ ェ ッ ク ア ウ ト さ れた ら 、 ロ ー カル フ ァ イ ルを編集 し ます。 変更を反映す る 場合は、 ソ ース管理 ソ フ ト ウ ェ ア を使用 し て変更 し た フ ァ イ ルを 「チ ェ ッ ク イ ン」 し ます。 開 発者の ロ ーカル マシ ン か ら メ イ ン プ ロ ジ ェ ク ト サーバーに フ ァ イ ル が コ ピー さ れます。 別の開発者が ソ ース フ ァ イ ルの 「最新」 バージ ョ ン を取得す る よ う に 設定 し てい る 場合、 ソ ース制御 ソ フ ト ウ ェ ア を使用 し て、 その開発者 の ロ ーカル デ ィ レ ク ト リ と メ イ ン プ ロ ジ ェ ク ト サーバーを 「同期」 さ せます。 プ ロ ジ ェ ク ト サーバーか ら 開発者の ロ ーカル ワ ー ク ス テー シ ョ ンに最新フ ァ イ ルが コ ピー さ れます。 Source Insight は、 各フ ァ イ ルの 「更新日時」 タ イ ム ス タ ン プ と フ ァ イ ルのサ イ ズ を確認 し て、 フ ァ イ ルの変更を認識 し ます。 フ ァ イ ルの変 更が検出 さ れ る と 、 フ ァ イ ルを再解析 し て、 開発者の ロ ーカル マシ ン 上の Source Insight シ ン ボル デー タ ベース を更新 し ます。 ソ ース管理 コ マ ン ド ソ ース管理を行 う 、 標準のカ ス タ ム コ マ ン ド です。 Source Insight には、 ソ ース管理を行 う い く つかの標準的な カ ス タ ム コ マ ン ド が用意 さ れてい ます。 [Options] > [Custom Commands] ダ イ ア ロ グ ボ ッ ク ス で、 コ マ ン ド を編集で き ます。 デフ ォ ル ト では、 コ マ ン ド は Microsoft Visual Source Safe に合わせて設定 さ れてい ます。 し か し 、 他の ソ ース管理シ ス テ ムやバージ ョ ン管理シ ス テ ム を サポー ト す る よ う に簡単に変更で き ます。 ソ ース管理 コ マ ン ド は、 下記の表の と お り です。 各 コ マ ン ド の正確な 意味は、 [Custom Commands] ダ イ ア ロ グ ボ ッ ク ス でのセ ッ ト ア ッ プ方 法に基づ き ます。 176 ページの 「Custom Commands」 も 参照 し て く だ 76 Source Insight ユーザー マニ ュ アル 第4章 シ ンボルおよびプ ロ ジ ェ ク ト について さ い。 Source Insight では、 以下の コ マ ン ド セマ ン テ ィ ク ス を定義 し て い ます。 表 4.1: ソ ース管理 コ マ ン ド コマン ド名 動作 Check Out フ ァ イ ルを編集で き る よ う に、 ソ ース管理プ ロ ジ ェ ク ト のカ レ ン ト フ ァ イ ルをチ ェ ッ ク ア ウ ト し ます。 Check In カ レ ン ト フ ァ イ ルを ソ ース管理プ ロ ジ ェ ク ト にチ ェ ッ ク イ ン し ます。 フ ァ イ ルを編集 し た 後、 他のチーム メ ンバがア ク セ スす る メ イ ン ソ ース管理プ ロ ジ ェ ク ト に戻すには、 [Check In] コ マ ン ド を使用 し て く だ さ い。 Undo Check Out チ ェ ッ ク ア ウ ト の動作を元に戻 し ます。 フ ァ イ ルのチ ェ ッ ク イ ンは行い ません。 Sync to Source Control Project ソ ース管理プ ロ ジ ェ ク ト に対 し て最新にな る よ う に、 ロ ーカル プ ロ ジ ェ ク ト のすべての フ ァ イ ルを更新 し ます。 Sync File to Source Control Project ソ ース管理プ ロ ジ ェ ク ト に対 し て最新にな る よ う に、 カ レ ン ト フ ァ イ ルを更新 し ます。 ソ ース管理ツールバー ソ ース管理ツールバーには、 ソ ース管理 コ マ ン ド ご と に別のボ タ ンが 存在 し ます。 Check In Check Out Sync To Source Control Project Undo Check Out Sync File To Source Control Project 図 4.4 ソ ース管理ツールバー シ ンボルおよびプ ロ ジ ェ ク ト について Source Insight は、 ソ ース フ ァ イ ルの編集中に、 シ ン ボル定義を動的に 解析 し ます。 シ ン ボル情報は、 プ ロ ジ ェ ク ト に必要不可欠な、 イ ン デ ッ ク ス さ れたシ ン ボル デー タ ベース のデ ィ ス ク 上に格納 さ れます。 Source Insight ユーザー マニ ュ アル 77 Source Insight の概念 シ ンボル デー タ ベースは、 フ ァ イ ルが変更 さ れる と 自動的に更新 さ れ ます。 第4章 シ ン ボル デー タ ベース は、 フ ァ イ ルを開いて保存す る たびに イ ン ク リ メ ン タ ルに更新 さ れ ます。 他のプ ロ ジ ェ ク ト チーム メ ンバが変更 し た フ ァ イ ルは、 バ ッ ク グ ラ ウ ン ド でシ ン ボル デー タ ベース と 自動的に同 期 さ れます。 ソ ース フ ァ イルの解析に使用する言語 各フ ァ イ ルで使用 さ れ る 言語パーサーは、 ド キ ュ メ ン ト タ イ プに よ り 決定 さ れ ます。 (92 ページの 「 ド キ ュ メ ン ト タ イ プ」 も 参照 し て く だ さ い。 ) Source Insight の言語パーサーは、 宣言を幅広 く 認識 し ます。 Source Insight は、 洗練 さ れた、 エ ラ ーに寛容なパ タ ーン マ ッ チン グ パーサーを使用 し て、 ソ ース フ ァ イ ルのシ ン ボル宣言を検索 し ます。 こ れは、 「ctags」 の よ う な、 他のバ ッ チ ツール よ り は る かに優れてい ます。 [Preferences: Languages] コ マ ン ド を使用 し て [Properties] ボ タ ン を ク リ ッ ク す る こ と で、 フ ァ イ ルか ら シ ン ボルを解析す る 際に使用す る カ ス タ ム正規表現パ タ ーン を指定す る こ と も で き ます。 シ ンボルの命名 Source Insight では、 シ ン ボル名は 「 ド ッ ト 付 き パ ス」 と し て格納 さ れ ます。 ド ッ ト 付 き パ ス には、 シ ン ボルの コ ン テナ名、 ド ッ ト (.)、 シ ン ボルの名前が含ま れ ます。 た と えば、 ク ラ ス の メ ンバは下記の よ う に な り ます。 MyClass.member 別のシ ン ボルの内部で宣言を入れ子にす る すべてのシ ン ボルは、 ド ッ ト 付 き パ ス を使用 し ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ に リ ス ト さ れたシ ン ボルを見 る と 、 ド ッ ト 付 き パ ス が見つか り ます。 メ ンバの宣言に ス コ ープ解決演算子 (::) を使用す る C++ の よ う な言語で も 、 シ ン ボル名 は ド ッ ト 付 き パ ス と し て内部的に格納 さ れ ます。 シ ン ボルの フル ネーム を入力す る と き に コ ン テナ も 指定す る 場合は、 シ ン ボル名に ド ッ ト を使用す る 必要があ り ます。 メモ : シ ン ボルの名前には、 組み込み ド ッ ト (.) 文字を使用で き ます。 Source Insight は、 組み込み ド ッ ト 文字 と ド ッ ト 付 き パ ス の ド ッ ト 文字 を混同 し ない よ う にシ ン ボル名を保管 し ます。 シ ンボル デー タ ベースの更新 プ ロ ジ ェ ク ト に フ ァ イ ルが追加 さ れ る か、 フ ァ イ ルが保存 さ れ る と 、 Source Insight はフ ァ イ ルで定義 さ れてい る シ ン ボルを判断 し て、 デ ィ 78 Source Insight ユーザー マニ ュ アル 第4章 シ ンボルおよびプ ロ ジ ェ ク ト について ス ク 上に格納 さ れてい る プ ロ ジ ェ ク ト シ ン ボル デー タ ベース を イ ン ク リ メ ン タ ルに更新 し ます。 File Buffer Save Operation File on Disk Symbol Database 図 4.5 保存操作は、 デ ィ ス ク 上の ソ ース フ ァ イル と シ ンボル デー タ ベース を 更新 し ます。 シ ンボル形式のフ ァ イル名 Source Insight ではフ ァ イ ル名はシ ン ボル と し て扱われ ます。 し たが っ て、 シ ン ボルが指定で き る すべての場所で フ ァ イ ル名を指定で き ます。 た と えば、 任意の フ ァ イ ル参照ダ イ ア ロ グ ボ ッ ク ス で フ ァ イ ル名 ( お よ び拡張子 ) を入力 し て フ ァ イ ルを開 く こ と がで き ます。 #include ス テー ト メ ン ト の フ ァ イ ル名を ク リ ッ ク し 、 [Jump To Definition] コ マ ン ド を使用 し て フ ァ イ ルを開 く こ と も で き ます。 プ ロ ジ ェ ク ト フ ァ イルの同期 同期 と は、 シ ンボ ル デー タ ベース を すべての変更 し た フ ァ イルに合わせ て更新する こ と を 意味 し ます。 Source Insight を使用 し ないで、 フ ァ イ ルを編集す る こ と があ り ます。 た と えば、 ソ ース管理シ ス テ ム を使用 し て フ ァ イ ルを更新 し た場合や、 ビル ド プ ロ セ ス に よ り フ ァ イ ルが生成 さ れた場合な ど です。 こ の場 合、 Source Insight はプ ロ ジ ェ ク ト を最新の状態にす る ため、 日付が古 い フ ァ イ ルを再解析 し ます。 こ の処理はプ ロ ジ ェ ク ト の同期 と 呼ばれ ます。 通常、 こ の処理はバ ッ ク グ ラ ウ ン ド で自動的に行われ ます。 こ の同期処理に よ り 、 プ ロ ジ ェ ク ト 全体が最新であ る こ と が保証 さ れ ます。 プ ロ ジ ェ ク ト の各フ ァ イ ルを ス キ ャ ン し 、 Source Insight が最後 に フ ァ イ ルを開いた後に変更 さ れた フ ァ イ ルのシ ン ボル デー タ ベース を更新 し ます。 存在 し な く な っ たプ ロ ジ ェ ク ト の一部であ る フ ァ イ ル はプ ロ ジ ェ ク ト か ら 削除 さ れ ます。 オプシ ョ ン で、 同期処理に よ り 新 規フ ァ イ ルを プ ロ ジ ェ ク ト に自動的に追加す る こ と も で き ます。 Source Insight ユーザー マニ ュ アル 79 Source Insight の概念 第4章 以下の 2 つの う ち 1 つの方法でプ ロ ジ ェ ク ト を同期で き ます。 • [Preferences: General] ダ イ ア ロ グ ボ ッ ク ス で [background synchronization] オプシ ョ ン を オ ン に し ます。 Source Insight で引 き 続 き 編集を行 う と 、 プ ロ ジ ェ ク ト の同期処理がバ ッ ク グ ラ ウ ン ド で行われ ます。 こ のオプシ ョ ンは、 デフ ォ ル ト でオ ン です。 209 ページの 「General Options」 も 参照 し て く だ さ い。 • [Synchronize Files] コ マ ン ド を実行 し て、 プ ロ ジ ェ ク ト を オ ンデ マ ン ド に同期 し ます。 319 ページの 「Synchronize Files」 も 参照 し て く だ さ い。 通常、 Source Insight が最後に フ ァ イ ルを開いた後に変更 さ れた フ ァ イ ルを開 く と 、 シ ン ボル デー タ ベース が自動的に更新 さ れ ます。 自動同 期では、 更新作業はユーザーには見え ません。 し か し 、 シ ン ボルがあ る フ ァ イ ルか ら 別の フ ァ イ ルに移動 さ れた場合、 両方の フ ァ イ ルがプ ロ ジ ェ ク ト と 同期 し ていない限 り 、 Source Insight はシ ン ボルの場所の 追跡に失敗 し ます。 ま た、 新規シ ン ボルが定義 さ れた場合、 フ ァ イ ル が同期 さ れ る ま で Source Insight は新規シ ン ボルを把握で き ません。 コ モ ン プ ロ ジ ェ ク ト の使用 : プ ロ ジ ェ ク ト シ ンボル パス Source Insight は、 カ レン ト プロジ ェ ク ト で宣言を見つ け られなかっ た場 合、 プ ロ ジ ェ ク ト シ ンボル パスにあ るすべてのプ ロ ジ ェ ク ト を検索 し ます。 80 複数のプ ロ ジ ェ ク ト で利用す る ラ イ ブ ラ リ のヘ ッ ダー フ ァ イ ルのセ ッ ト を使用す る こ と があ り ます。 こ れ ら の フ ァ イ ルを各プ ロ ジ ェ ク ト に 追加す る こ と は可能ですが、 冗長にな り ます。 よ り 良い解決法は、 コ モ ン ヘ ッ ダー フ ァ イ ルのセ ッ ト ご と に、 1 つのプ ロ ジ ェ ク ト を作成す る こ と です。 こ れ ら のプ ロ ジ ェ ク ト はパ ス に保存で き ます。 Source Insight はプ ロ ジ ェ ク ト でシ ン ボルが検索で き ない場合は常に、 パ ス を 検索 し ます。 こ のパ ス はプ ロ ジ ェ ク ト シ ン ボル パ ス と 呼ばれます。 Source Insight は、 シ ン ボルを検索す る と き 、 現在開いてい る フ ァ イ ル、 プ ロ ジ ェ ク ト シ ン ボル デー タ ベース、 プ ロ ジ ェ ク ト シ ン ボル パ ス の プ ロ ジ ェ ク ト を検索 し ます。 [Preferences: Symbol Lookups] コ マ ン ド を使用 し て、 プ ロ ジ ェ ク ト シ ン ボル パ ス を編集で き ます。 315 ページの 「Symbol Lookup Options」 も 参照 し て く だ さ い。 プ ロ ジ ェ ク ト シ ン ボル パ ス は、 Source Insight がシ ン ボルの検索に使用 す る プ ロ ジ ェ ク ト の リ ス ト です。 プ ロ ジ ェ ク ト シ ン ボル パ ス は [Preferences: Symbol Lookups] ダ イ ア ロ グ ボ ッ ク ス で指定 し ます。 プ ロ ジ ェ ク ト シ ン ボル パ ス を使用す る と 、 小 さ な自己完結型のプ ロ ジ ェ ク ト が作成で き ますが、 他のプ ロ ジ ェ ク ト のシ ン ボルを検索す る こ と も で き ます。 ベース プ ロ ジ ェ ク ト (81 ページの 「ベース プ ロ ジ ェ ク ト 」 も 参照 し て く だ さ い。 ) は Source Insight がシ ン ボルを検索す る 最後の 場所です。 プ ロ ジ ェ ク ト シ ン ボル パ ス の最後に暗黙的に指定 さ れま す。 プ ロ ジ ェ ク ト シ ン ボル パ ス は、 シ ン ボル定義を検索す る ¾ めにのみ使 用 さ れます。 プ ロ ジ ェ ク ト シ ン ボル パ ス は、 シ ン ボル参照の検索、 Source Insight ユーザー マニ ュ アル 第4章 シ ンボルおよびプ ロ ジ ェ ク ト について [Search Files] お よ び [Smart Rename] コ マ ン ド では使用 さ れません。 こ れ ら の操作は、 カ レ ン ト プ ロ ジ ェ ク ト の フ ァ イ ルに対 し てのみ有効で す。 プ ロ ジ ェ ク ト シ ンボル パスの検索 プロジ ェ ク ト シン ボル パスは、 シ ン ボル定義の検索に 使用 さ れます。 Source Insight は、 開いてい る すべての フ ァ イ ル と カ レ ン ト プ ロ ジ ェ ク ト のシ ン ボル デー タ ベース を検索 し ます。 シ ン ボルが見つか ら ない場 合、 プ ロ ジ ェ ク ト シ ン ボル パ ス にあ る すべてのプ ロ ジ ェ ク ト を検索 し ます。 それで も シ ン ボルが見つか ら ない場合、 ベース プ ロ ジ ェ ク ト を 検索 し ます。 指定 し た名前で複数のシ ン ボルが見つか っ た場合、 リ ス ト か ら シ ン ボ ルを選択 し ます。 [Preferences: Symbol Lookups] ダ イ ア ロ グ ボ ッ ク ス の [Always search symbol path] オプシ ョ ン を指定で き ます。 こ のオプシ ョ ンがオ ンの場 合、 シ ン ボルが開いてい る フ ァ イ ルやカ レ ン ト プ ロ ジ ェ ク ト で既に見 つか っ てい る 場合で も 、 Source Insight がシ ン ボルを参照す る たびに、 シ ン ボル パ ス のすべてのプ ロ ジ ェ ク ト が検索 さ れ ます。 冗長な ( ま た は似た名前の ) シ ン ボルがプ ロ ジ ェ ク ト ま たはプ ロ ジ ェ ク ト シ ン ボル パ ス のプ ロ ジ ェ ク ト にあ る か ど う か確認す る 場合は、 こ のオプシ ョ ン を オ ンに し て く だ さ い。 プ ロ ジ ェ ク ト を開かないで作業する プ ロ ジ ェ ク ト が開かれていない場合、 Source Insight は現在開いてい る フ ァ イ ルを検索 し ます。 シ ン ボルが見つか ら ない場合、 プ ロ ジ ェ ク ト シ ン ボル パ ス にあ る すべてのプ ロ ジ ェ ク ト を検索 し ます。 それで も シ ン ボルが見つか ら ない場合、 ベース プ ロ ジ ェ ク ト を検索 し ます。 ベース プ ロ ジ ェ ク ト ベース プ ロ ジ ェ ク ト は最後の手段 と し て検索 さ れま す。 Source Insight を初めて実行す る と 、 Base と い う 名前のプ ロ ジ ェ ク ト が 自動的に作成 さ れ ます。 ベース プ ロ ジ ェ ク ト は Source Insight がシ ン ボ ルを検索す る 最後の場所です。 ベース プ ロ ジ ェ ク ト は、 プ ロ ジ ェ ク ト シ ン ボル パ ス の最後に暗黙的に指定 さ れ ます。 つま り 、 Source Insight は、 開かれてい る フ ァ イ ル、 カ レ ン ト プ ロ ジ ェ ク ト 、 プ ロ ジ ェ ク ト シ ン ボル パ ス のすべてのプ ロ ジ ェ ク ト でシ ン ボルを見つけ ら れない場 合、 ベース プ ロ ジ ェ ク ト を検索 し ます。 メモ : プ ロ ジ ェ ク ト シ ン ボル パス にベース プ ロ ジ ェ ク ト を追加す る 必要は あ り ません。 Source Insight はベース プ ロ ジ ェ ク ト が リ ス ト に追加 さ れてい る も の と し て自動的に検索 し ます。 Source Insight ユーザー マニ ュ アル 81 Source Insight の概念 第4章 ベース プ ロ ジ ェ ク ト は、 コ モ ン シ ン ボルを保存す る 場所 と し て適 し て い ます。 ベース プ ロ ジ ェ ク ト に格納 さ れてい る すべてのシ ン ボルは、 他のプ ロ ジ ェ ク ト か ら 参照可能です。 た と えば、 標準の C/C++ イ ン ク ルー ド フ ァ イ ルをベース プ ロ ジ ェ ク ト に追加可能です。 ベース プ ロ ジ ェ ク ト は Source Insight のエデ ィ タ マ ク ロ フ ァ イ ルを追加す る 場所 と し て も 適 し てい ます。 プ ログ ラ ミ ン グ言語 Source Insight は、 言語の抽象化を使用 し て各種プ ロ グ ラ ム言語の特徴 を カプセル化 し ます。 フ ァ イルの ド キ ュ 指定 さ れた フ ァ イ ル バ ッ フ ァ について、 フ ァ イ ルの名前が ド キ ュ メ ン メ ン ト タ イ プは言 ト タ イ プ を決定 し ます。 ド キ ュ メ ン ト タ イ プはその言語を決定 し ま 語を決定 し ます。 す。 ド キ ュ メ ン ト タ イ プ と フ ァ イ ル名お よ び言語の関連付けは、 [Options] > [Document Options] ダ イ ア ロ グ ボ ッ ク ス を使用 し て行い ま す。 Source Insight は、 構文フ ォ ーマ ッ ト で ソ ース コ ー ド を表示 し 、 コ ー ド か ら シ ン ボル定義を解析 し 、 プ ロ ジ ェ ク ト シ ン ボル デー タ ベース にシ ン ボル情報を保存す る こ と に よ り 、 言語を サポー ト し てい ます。 解析はフ ァ イルの シ ン ボル宣言の解析はフ ァ イ ルの ド キ ュ メ ン ト タ イ プ と 関連付け ら れ ド キ ュ メ ン ト タ イ た言語 タ イ プに よ っ て制御 さ れます。 プ と 関連付け られ 現在サポー ト し てい る 言語の リ ス ト を参照す る には、 [Options] > た言語 タ イ プに よ っ て制御 さ れま [Preferences: Languages] ダ イ ア ロ グ ボ ッ ク ス を使用 し ます。 新規言 す。 語は、 プ ロ グ ラ ム更新時に リ ス ト に追加 さ れ ます。 Source Insight の言語は、 ビル ト イ ン言語 と カ ス タ ム言語の 2 つのカ テ ゴ リ に分類 さ れます。 ビル ト イ ン言語 Source Insight には、 C/C++、 Java、 IDL/ODL、 Perl、 C#、 ASP、 Visual Basic、 その他を含む さ ま ざ ま な言語向けに ビル ト イ ンの最適化サポー ト が含まれてい ます。 ほ と ん ど の ビル ト イ ン言語は、 リ フ ァ レ ン ス の検索や コ ール ツ リ ーの 生成の よ う な追加機能をサポー ト し てい ます。 カ ス タ ム言語 [Preferences: Languages] ダ イ ア ロ グ ボ ッ ク ス を使用 し て カ ス タ ム言語 のサポー ト を Source Insight に追加す る こ と も で き ます。 カ ス タ ム言語 は、 構文規則、 構文フ ォーマ ッ ト キー ワ ー ド 、 お よ び解析表現を指定 82 Source Insight ユーザー マニ ュ アル 第4章 プ ログ ラ ミ ング言語 す る シ ン プルな ジ ェ ネ リ ッ ク 言語です。 228 ページの 「Language Options」 も 参照 し て く だ さ い。 カ ス タ ム言語はエ ク ス ポー ト お よ び イ ン ポー ト 可能です。 カ ス タ ム言語を追加するには 新規言語のサポー ト の追加は、 2 ス テ ッ プのプ ロ セ ス です。 1. [Options] > [Preferences: Languages] を使用 し て言語を追加 し ます。 228 ページの 「Language Options」 を参照 し て く だ さ い。 2. [Options] > [Document Options] を使用 し て言語を参照す る ド キ ュ メ ン ト タ イ プ を追加 し ます。 92 ページの 「 ド キ ュ メ ン ト タ イ プ」 を参照 し て く だ さ い。 メモ : [Document Options] ダ イ ア ロ グでは、 新規言語を追加す る 代わ り に、 カ ス タ ム解析パ タ ーン を ド キ ュ メ ン ト タ イ プのプ ロ パテ ィ に直接追 加す る こ と も で き ます。 し か し 、 新規カ ス タ ム言語を追加 し 、 新規言 語を示す ド キ ュ メ ン ト タ イ プを使用す る こ と に よ り 、 よ り 優れた コ ン ト ロ ールが可能にな り ます。 コ マ ン ド リ フ ァ レ ン ス の言語オプシ ョ ン ト ピ ッ ク には、 カ ス タ ム言語 プ ロ パテ ィ の詳細情報が含まれてい ます。 .NET Framework のサポー ト .NET Framework ク ラス ラ イブラ リ シ ンボルは NetFramework プ ロ ジ ェ ク ト に格納 さ れます。 C# フ ァ イ ルを編集す る 場合、 Source Insight は .NET Framework ク ラ ス ラ イ ブ ラ リ シ ン ボルのシ ン ボル補完を実行で き ます。 シ ン ボル補完 は、 マシ ン上の .NET Framework プ ロ ジ ェ ク ト を維持す る こ と に よ り 達 成 さ れます。 .NET Framework ク ラ ス ラ イ ブ ラ リ シ ン ボルは Source Insight が作成 し た NetFramework プ ロ ジ ェ ク ト に格納 さ れ ます。 Source Insight は、 ユーザーのプ ロ ジ ェ ク ト フ ォ ルダの NetFramework フ ォ ルダにプ ロ ジ ェ ク ト を保存 し ます。 Source Insight は、 .NET Framework ク ラ ス ラ イ ブ ラ リ のシ ン ボルを宣言 す る マ ス タ 「 ソ ース フ ァ イ ル」 のセ ッ ト も イ ン ス ト ール し ます。 こ れ ら の ソ ース は、 Source Insight プ ロ グ ラ ム フ ォ ルダの NetFramework フ ォ ルダに保存 さ れ ます。 マシ ン ご と に 1 つの コ ピーがあ り ます。 こ れ ら の 「 ソ ース フ ァ イ ル」 は C# 構文のマシ ン生成フ ァ イ ルです。 し か し 、 こ れ ら の ソ ース フ ァ イ ルは厳密な C# 互換ではあ り ません。 フ ァ イ ルの内容は、 Source Insight の新 し いバージ ョ ン では変更 さ れ る こ と があ り ます。 Source Insight で NetFramework プ ロ ジ ェ ク ト を作成す る には、 [Setup Common Projects] コ マ ン ド を使用す る か、 [Preferences: Symbol Lookups] ダ イ ア ロ グ ボ ッ ク ス で [Create Common Projects] ボ タ ン を ク リ ッ ク し ます。 Source Insight ユーザー マニ ュ アル 83 Source Insight の概念 第4章 HTML の使用 Source Insight には HTML 言語を制御す る 特別な機能があ り ます。 HTML 言語パーサーはフ ァ イ ルを ス キ ャ ン し て構造 タ グ を検索 し ま す。 こ れ ら の タ グは、 各 ソ ース ウ ィ ン ド ウ の左側のシ ン ボル ウ ィ ン ド ウ に表示 さ れ ます。 プ ロ ジ ェ ク ト シ ン ボル デー タ ベース に追加 さ れ る シ ン ボル タ イ プは 「TITLE」 タ グのみです。 HTML フ ァ イ ルでは下記 の よ う に記述 さ れ ます。 <TITLE>Programming Wisely</TITLE> こ の場合、 「TITLE: Programming Wisely」 の よ う にシ ン ボル デー タ ベー ス に追加 さ れ ます。 シ ン ボルの最大長は 79 文字です。 HTML と ASP の複合言語の使用 HTML と ASP は、 組み込みス ク リ プ ト を含む複合言語 です。 HTML 言語は組み込みス ク リ プ ト も サポー ト し てい ます。 サーバーお よ び ク ラ イ ア ン ト サ イ ド ス ク リ プ ト ブ ロ ッ ク は、 すべての ス ク リ プ ト 言語で適切な構文形式を使用 し て表示 さ れ ます。 ス ク リ プ ト で定義 さ れた要素 も シ ン ボル ウ ィ ン ド ウ に表示 さ れ、 シ ン ボル デー タ ベース に 保存 さ れ ます。 [Options] > [Preferences: Languages] ダ イ ア ロ グ ボ ッ ク ス で、 HTML ま たは ASP で使用す る デフ ォ ル ト の ス ク リ プ ト 言語を指定で き ます。 [Special] ボ タ ン を ク リ ッ ク し 、 デフ ォ ル ト の言語を選択 し ます。 Java 言語の編集 標準 Java パ ッ ケージでシ ン ボルの自動補完を使用す る には、 マシ ン上 にパ ッ ケージの ソ ース コ ー ド が イ ン ス ト ール さ れてい る ( ま たはネ ッ ト ワー ク ド ラ イ ブ経由で利用で き る ) 必要があ り ます。 ソ ース を参照 す る JavaStandard コ モ ン プ ロ ジ ェ ク ト も 必要です。 84 Source Insight ユーザー マニ ュ アル 第4章 C/C++ 言語の機能 JavaStandard コ モ ン プ ロ ジ ェ ク ト を作成する には 1. [Options] > [Preferences: Symbol Lookups] ダ イ ア ロ グ ボ ッ ク ス で、 [Create Common Projects] ボ タ ン を ク リ ッ ク し ます。 2. [Common Projects] ダ イ ア ロ グ ボ ッ ク ス で、 [Standard Java Libraries] チ ェ ッ ク ボ ッ ク ス を ク リ ッ ク し 、 その隣にあ る [Browse] ボ タ ン を ク リ ッ ク し ます。 ソ ース コ ー ド を含むデ ィ レ ク ト リ ( 通 常は JDK Java/Src サブデ ィ レ ク ト リ の 1 つ ) に移動 し ます。 デ ィ レ ク ト リ を選択 し 、 [OK] を ク リ ッ ク し ます。 3. [Common Projects] ダ イ ア ロ グ ボ ッ ク ス で [Continue] を ク リ ッ ク し ます。 [Save As] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 JavaStandard プ ロ ジ ェ ク ト の名前 と 保存先を指定 し ます。 JDK ま たはそのサブ デ ィ レ ク ト リ の 1 つ と 同 じ デ ィ レ ク ト リ に保存 し て く だ さ い。 [Save] を ク リ ッ ク し ます。 4. [Project Settings] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れた ら 、 [OK] を ク リ ッ ク し ます。 5. [Add and Remove Project Files] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れま す。 [Add Tree] を ク リ ッ ク し 、 関連す る フ ァ イ ルをすべて JavaStandard プ ロ ジ ェ ク ト に追加 し ます。 [Close] を ク リ ッ ク し ま す。 以前のプ ロ ジ ェ ク ト に戻 り ます。 フ ァ イ ルに イ ン ポー ト さ れたパ ッ ケージで、 自動補完が有効にな り ま し た。 C/C++ 言語の機能 Source Insight には、 プ ロ グ ラ ミ ン グに C/C++ を使用 し てい る 場合に考 慮すべ き い く つかの特別な機能が用意 さ れてい ます。 非ア ク テ ィ ブ コ ー ド の処理 - ifdef のサポー ト ifdef は [Edit Conditions] ダ イ ア ログ ボ ッ ク スで条 件値が指定 さ れた 場合に有効にな り ます。 Source Insight の C/C++ お よ び リ ソ ース フ ァ イ ル パーサーは、 #ifdef、 #if、 お よ び #elif デ ィ レ ク テ ィ ブ を使用 し て コ ンパ イ ル時に無効に さ れ る 非ア ク テ ィ ブ コ ー ド のブ ロ ッ ク を認識 し ます。 [Options > Preferences: Language] ダ イ ア ロ グ ボ ッ ク ス には、 既知の条件付 き 定 数の リ ス ト を編集で き る [Conditions] ボ タ ンがあ り ます。 ソ ース ウ ィ ン ド ウ の右 ク リ ッ ク メ ニ ュ ーの [Edit Condition] コ マ ン ド を使用 し て条 件を編集す る こ と も で き ます。 デフ ォ ル ト では、 Source Insight は条件付 き デ ィ レ ク テ ィ ブ をすべて無 視 し て、 条件付 き コ ンパ イ ル構造のすべての分岐を処理 し ます。 通常、 条件付 き 分岐の宣言は互いに干渉 し ないので、 処理は正常に行われ ま す。 Source Insight ユーザー マニ ュ アル 85 Source Insight の概念 第4章 し か し 、 宣言がわか り に く い場合、 #ifdef が正 し く 解釈 さ れない こ と があ り ます。 こ の場合、 Source Insight で処理が正常に行われません。 例: void DoThing( int param1, #ifdef ABC int param2) #else int param2, param3) #endif さ ら に、 非ア ク テ ィ ブ コ ー ド は通常は参照 し ません。 こ れ ら の理由か ら 、 Source Insight は条件値を指定 し ます。 非ア ク テ ィ ブ コ ー ド のブ ロ ッ ク は、 「Inactive Code」 ス タ イ ルで表示 さ れます。 例 : 図 4.6 非ア ク テ ィ ブ コ ー ド は Inactive Code ス タ イルで表示 さ れます。 「Inactive Code」 ス タ イルが表示 さ れます。 条件付き解析 条件付 き 解析は、 Source Insight で条件付 き コ ンパ イ ルをサポー ト す る 言語 (C/C++ お よ び Windows リ ソ ース フ ァ イ ル ) にのみ適用 さ れます。 Source Insight は 2 種類の条件値 リ ス ト を管理 し ます。 • 条件 リ ス ト に基づ く 設定 フ ァ イル。 リ ス ト は、 カ ス タ マ イ ズ設定を 含む、 現在の設定フ ァ イ ルに保存 さ れ ます。 通常は、 1 つのグ ロ ーバル設定フ ァ イ ルをすべてのプ ロ ジ ェ ク ト で使用 し ます。 • プ ロ ジ ェ ク ト 固有の条件 リ ス ト 。 プ ロ ジ ェ ク ト ご と に保存 さ れま す。 こ のため、 個々のプ ロ ジ ェ ク ト で異な る 条件値を使用で き ます。 た と えば、 あ る プ ロ ジ ェ ク ト で 「RETAIL」 定義を使用 し 、 別のプ ロ ジ ェ ク ト で 「DEBUG」 定義を使用で き ます。 2 つの条件 リ ス ト は Source Insight が フ ァ イ ルを解析す る と き に組み合 わ さ れ ます。 プ ロ ジ ェ ク ト 固有の条件は、 「グ ロ ーバル」 設定の条件 よ り も 優先 さ れます。 86 Source Insight ユーザー マニ ュ アル 第4章 C/C++ 言語の機能 条件値 条件値は、 #if、 #ifdef、 #ifndef、 お よ び #elif ス テー ト メ ン ト の式で使 用で き ます。 例: #if VER < 3 && DEF_OPEN != 0 .... こ の例では、 VER と DEF_OPEN の 2 つの条件値が使用 さ れてい ます。 条件値は、 [Edit Condition] コ マ ン ド を使用 し て指定で き ます。 条件値にはテ キ ス ト 値を指定で き ます。 C お よ び C++ では、 ゼ ロ の値 は 「False」、 非ゼ ロ の値は 「True」 と 見な さ れます。 条件値を無視する 変数の値を指定 し ない場合、 その変数を含むすべての ス テー ト メ ン ト は ス キ ッ プ さ れ無視 さ れ ます。 下記は #if-type ス テー ト メ ン ト のデ フ ォ ル ト の動作です。 例: #if VER < 3 && WINVER >= 5 int a = 1; #else int a = 2; #endif VER と WINVER の両方が [Edit Condition] コ マ ン ド で定義 さ れてい る 場合、 #if ス テー ト メ ン ト の式が評価 さ れ、 1 つの分岐のみがア ク テ ィ ブにな り ます。 し か し 、 こ れ ら の変数のいずれかが Source Insight で定 義 さ れていない場合、 両方の 分岐がア ク テ ィ ブにな り ます。 条件値の編集 条件付 き 変数の値を編集す る には、 変数を右 ク リ ッ ク し て [Edit Condition] を選択 し ます。 条件 リ ス ト を編集す る 際、 Source Insight は プ ロ ジ ェ ク ト 全体を再解析す る か ど う か確認 し ます。 最初に条件 リ ス ト の変更をすべて行っ てか ら 、 プ ロ ジ ェ ク ト 全体を再解析 し て く だ さ い。 プ ロ ジ ェ ク ト が再解析 さ れ る ま で、 行っ た変更は Source Insight の シ ン ボル デー タ ベース に格納 さ れてい る シ ン ボル情報に反映 さ れ ませ ん。 プ リ プロセ ッサ ト ーク ン マ ク ロ ト ーク ン マク ロを 使用 し てマ ク ロの 拡張方法を定義で き ます。 Source Insight には、 フ ァ イ ルを解析す る と き に使用す る 、 独自のプ リ プ ロ セ ッ サが用意 さ れてい ます。 プ リ プ ロ セ ッ サ マ ク ロ は ト ー ク ン マ ク ロ と 呼ばれ ます。 こ のマ ク ロ は、 Source Insight が フ ァ イ ルを解析す る と き に生 じ る ト ー ク ン置換です。 こ の機能に よ り 、 Source Insight は、 Source Insight のパーサーが認識 し ない特殊言語キー ワ ー ド を処理 し た り 、 特殊な C/C++ プ リ プ ロ セ ッ サ置換を処理で き ます。 Source Insight ユーザー マニ ュ アル 87 Source Insight の概念 C マ ク ロは通常、 Source Insight に よ っ て拡張 さ れま せん。 第4章 Source Insight は、 フ ァ イ ルを解析す る と き に、 C/C++ プ リ プ ロ セ ッ サ マ ク ロ を拡張 し ません。 こ の結果、 特定のプ リ プ ロ セ ッ サ マ ク ロ と 定 数は Source Insight で正 し く 処理 さ れ ません。 ト ー ク ン マ ク ロ を使用す る こ と で、 Source Insight は一部のプ リ プ ロ セ ッ サ置換を選択 し て拡張 で き る よ う にな り ます。 1 つの例は、 シ ン ボルの宣言に使用 さ れ る 標準 COM ( ま たは ActiveX) マ ク ロ のセ ッ ト です。 た と えば、 STDMETHOD( メ ソ ッ ド 名 ) マ ク ロ は COM メ ソ ッ ド 関数の宣言に使用 さ れ ます。 Source Insight には、 こ のマ ク ロ お よ びその他のエ ン ト リ を含むデフ ォ ル ト の C/C++ ト ー ク ン マ ク ロ フ ァ イ ル (c.tom) が含ま れてい ます。 ト ー ク ン マ ク ロ フ ァ イル ト ーク ン マク ロ フ ァ イルの拡張子 は .tom です。 ト ー ク ン マ ク ロ は拡張子 .tom の フ ァ イ ルに リ ス ト さ れ ます。 グ ロ ーバ ル ト ー ク ン マ ク ロ フ ァ イ ルは、 Source Insight のプ ロ グ ラ ム デ ィ レ ク ト リ に格納 さ れ ます。 プ ロ ジ ェ ク ト 固有の ト ー ク ン マ ク ロ は、 プ ロ ジ ェ ク ト のデー タ デ ィ レ ク ト リ に格納 さ れます。 プ ロ ジ ェ ク ト ト ー ク ン マ ク ロ フ ァ イ ルは、 グ ロ ーバル フ ァ イ ル、 お よ びプ ロ ジ ェ ク ト マ ク ロ ( グ ロ ーバル マ ク ロ よ り も 優先 ) と 組み合わ さ れ ます。 ト ー ク ン マ ク ロの構文 ト ー ク ン マ ク ロ は 1 行に 1 つの ト ー ク ン マ ク ロ で構成 さ れてい ます。 ト ー ク ン マ ク ロ の フ ォ ーマ ッ ト は下記の と お り です。 macroname<no text here means macro is a no-op> macronamesubstituted text here macroname(parameter list)substituted text with parameter names macroname(parameter)text##parameter // concatenates text ; comments begin with a semicolon ト ー ク ン マ ク ロ の例は下記の と お り です。 MyStructure(sname)struct sname NoOperation BuildName(name1, name2)name1##name2 ビル ト イ ン言語パーサーにはそれぞれ、 対応す る ト ー ク ン マ ク ロ フ ァ イ ルがあ り ます。 各言語の ト ー ク ン マ ク ロ フ ァ イ ルの名前は下記の表 の よ う にな り ます。 表 4.2: 異な る言語用の ト ー ク ン マ ク ロ フ ァ イル 88 言語 フ ァ イル名 C お よ び C++ C.tom – Source Insight に含まれ る デフ ォ ル ト の コ ピーです。 HTML Html.tom Java Java.tom Source Insight ユーザー マニ ュ アル 第4章 C/C++ 言語の機能 表 4.2: 異な る言語用の ト ー ク ン マ ク ロ フ ァ イル 言語 フ ァ イル名 リ ソ ース フ ァ イ ル Rc.tom x86 アセ ンブ リ 言語 X86.tom Perl Perl.tom ト ー ク ン マ ク ロの編集 ト ーク ン マク ロ フ ァ イルを保存す る と Source Insight はマ ク ロ を 認識 し ます。 ト ー ク ン マ ク ロ を変更す る には、 ト ー ク ン マ ク ロ フ ァ イ ルを開いて、 変更を行っ た後で保存 し ます。 Source Insight は適切な言語用の ト ー ク ン マ ク ロ が変更 さ れた こ と を認識 し ます。 開いてい る フ ァ イ ルは自動 的に再解析 さ れ ます。 ト ー ク ン マ ク ロ フ ァ イ ルを編集す る と き 、 Source Insight が開いてい る フ ァ イ ルを再解析す る 前に、 デ ィ ス ク に保存す る 必要があ り ます。 Source Insight はプ ロ ジ ェ ク ト 全体を自動的に再解析 し ません。 最初に ト ー ク ン マ ク ロ フ ァ イ ルの変更をすべて行っ てか ら 、 [Rebuild Project] コ マ ン ド を使用 し てプ ロ ジ ェ ク ト 全体を再解析 し て く だ さ い。 プ ロ ジ ェ ク ト が再解析 さ れ る ま で、 ト ー ク ン マ ク ロ へ行っ た変更は Source Insight のシ ン ボル デー タ ベース に格納 さ れてい る シ ン ボル情報に反映 さ れ ません。 プ ロ ジ ェ ク ト 固有の ト ー ク ン マ ク ロ プ ロ ジ ェ ク ト は、 それぞれ ト ー ク ン マ ク ロ フ ァ イルを 持ち、 グローバル フ ァ イル と マージ し ます。 プ ロ ジ ェ ク ト は、 それぞれ独自の ト ー ク ン マ ク ロ フ ァ イ ルを持っ てい ます。 Source Insight は、 ト ー ク ン マ ク ロ フ ァ イ ルを自動生成 し ませ ん。 ユーザーが生成 し ます。 プ ロ ジ ェ ク ト ト ー ク ン マ ク ロ フ ァ イ ル はプ ロ ジ ェ ク ト デー タ デ ィ レ ク ト リ に保存 さ れます。 Source Insight が ソ ース フ ァ イ ルを解析す る と 、 プ ロ ジ ェ ク ト ト ー ク ン マ ク ロ と Source Insight プ ロ グ ラ ム デ ィ レ ク ト リ に保存 さ れてい る グ ロ ーバル フ ァ イ ルを マージ し ます。 プ ロ ジ ェ ク ト ト ー ク ン マ ク ロ はグ ロ ーバル な も の を優先 し ます。 プ ロ ジ ェ ク ト 固有の ト ー ク ン マ ク ロ を追加す る こ と に よ り 、 個々のプ ロ ジ ェ ク ト ご と に ト ー ク ン マ ク ロ の拡張を調整 で き ます。 Source Insight ユーザー マニ ュ アル 89 Source Insight の概念 第4章 解析の考慮事項 厳格な言語解析ではな く エ ラ ーに寛容なパ タ ーン マ ッ チン グに よ っ て シ ン ボルが見つか る こ と は、 重要な意味があ り ます。 • ソ ース フ ァ イ ルに構文エ ラ ーがあ り ます。 構文エ ラ ーがあ る フ ァ イ ルは コ ンパ イ ルで き ません。 つま り 、 コ ンパ イ ル し てい ない、 ま たは中間状態の ソ ース コ ー ド でシ ン ボルが見つか る こ と を意味 し ます。 • プ リ プ ロ セ ッ サ マ ク ロ は Source Insight が コ ー ド を解析す る 前に 拡張 さ れ ません。 こ れは良い意味に聞 こ え ないか も し れ ません が、 実際は と て も 良 く 機能 し ます。 Source Insight は、 最 も 抽象 的な レベル ( 記述 さ れた レベル と 同 じ レベル ) でプ ロ グ ラ ム を解 析 し ます。 こ のため、 コ ール ツ リ ーに関数形式のマ ク ロ を含む こ と がで き ます。 • シ ン ボル宣言は、 コ ンパ イ ルの時点でア ク テ ィ ブだっ た も のだ けではな く 、 すべての ソ ース コ ー ド か ら 解析 さ れ ます。 た と え ば、 コ ンパ イ ル時に #ifdef 分岐がア ク テ ィ ブでない場合で も 、 #ifdef-#endif 内部の C/C++ コ ー ド がシ ン ボル デー タ ベース に追 加 さ れ ます。 こ れは、 マルチ ス テー ト プ ロ グ ラ ム で作業 し てい る 場合に非常に役に立ち ます。 コ ンパ イ ラ が参照 し てい る も の だけではな く 、 すべてのケース に注意す る 必要があ り ます。 非 ア ク テ ィ ブ コ ー ド のブ ロ ッ ク を省略す る には、 [Edit Condition] コ マ ン ド ま たは [Preferences: Languages] ダ イ ア ロ グ ボ ッ ク ス を使 用 し て条件値を定義 し ます。 • コ メ ン ト と 定数のテ キ ス ト も 検索用に イ ンデ ッ ク ス さ れ ます。 Source Insight は、 コ ンパ イ ラ がオブジ ェ ク ト コ ー ド に変換す る コ ー ド だけでな く 、 ソ ース レベルの コ ー ド に焦点を当て てい ま す。 すべてのヘ ッ ダー フ ァ イ ルは、 すべての ソ ース フ ァ イ ルか ら ア ク セ ス で き る と 仮定 さ れ ます。 Source Insight は、 ソ ース フ ァ イ ルに イ ン ク ルー ド さ れてい る ヘ ッ ダー フ ァ イ ルに注目 し ません。 そのため、 すべてのシ ン ボルがすべてのポ イ ン ト で認識 さ れま す。 コ ンパ イ ラ がプ ロ グ ラ ム を ど の よ う に参照す る か と い う 点 については技術的に不正確ですが、 ほ と ん ど の場合は問題な く 動作 し ます。 プ ロ グ ラ ミ ン グ ス タ イ ルが原因で、 シ ン ボルが見つか ら ない こ と があ り ます。 Source Insight が使用す る デフ ォ ル ト の解析は、 ほ と ん ど のプ ロ グ ラ ミ ン グ ス タ イ ルで問題な く 動作 し ます。 Source Insight が認識で き ない宣言 タ イ プ を含む場合は、 プ リ プ ロ セ ス フ ェ ーズ を拡張す る ト ー ク ン マ ク ロ を追加す る か、 カ ス タ ム解析正規表現パ タ ーン を追加 し ます。 • • 90 Source Insight ユーザー マニ ュ アル 第4章 C/C++ 言語の機能 解析の結果を良 く する コ ーデ ィ ングのコ ツ コ ーデ ィ ング ス タ イルが解析の正確 さ に影響する こ と があ り ます。 通常の C/C++ プ リ プ ロ セ ス は Source Insight のパーサーでは実行 さ れな いため、 新規 コ ー ド を記述す る 際に、 以下の点に注意す る 必要があ り ます。 #ifdef-#endif ブ ロ ッ ク を個々の宣言に分解 し ない よ う に し て く だ さ い。 ど う し て も 宣言が分解 さ れ る 場合は、 Source Insight が正 し く 解析で き ない非ア ク テ ィ ブ コ ー ド のブ ロ ッ ク が無効にな る よ う に、 [Edit Condition] を使用 し て条件値を定義す る 必要があ り ます。 86 ページの 「条件付 き 解析」 も 参照 し て く だ さ い。 例: void MyFunc #ifdef XYZ (int param1, int param2) #else (long param1, long param2) #endif { … } 標準言語キー ワ ー ド や組み合わせを #define で置換 し ないで く だ さ い。 置換を回避で き ない場合、 置換を サポー ト す る よ う に ト ー ク ン マ ク ロ を定義す る 必要があ り ます。 87 ページの 「プ リ プ ロ セ ッ サ ト ー ク ン マ ク ロ 」 も 参照 し て く だ さ い。 例: #define ourpublic public class D : ourpublic B { … } Source Insight はキー ワー ド ourpublic が public を意味す る こ と を知 ら ないため、 問題が発生 し ます。 Source Insight ユーザー マニ ュ アル 91 Source Insight の概念 第4章 ド キュ メ ン ト タ イ プ ド キ ュ メ ン ト タ イ プは [Document Options] コ マ ン ド で定義 さ れ る フ ァ イ ルの分類です。 Source Insight は フ ァ イ ルの名前を使用 し て ド キ ュ メ ン ト タ イ プ を決定 し ます。 Font for “Default Style” File Name Document Type Language Type Editing Options 図 4.7 フ ァ イル名は ド キ ュ メ ン ト タ イ プ を決定 し ます。 ド キ ュ メ ン ト タ イ プ は、 フ ォ ン ト 、 フ ァ イルの解析 と 構文フ ォ ーマ ッ ト の表示に使用 さ れる言語 タ イ プ、 その他の編集オプ シ ョ ン を決定 し ます。 新規 ド キ ュ メ ン ト タ イ プ を定義 し た り ビル ト イ ン タ イ プ を変更す る に は、 [Document Options] コ マ ン ド を使用 し ます。 194 ページの 「Document Options」 も 参照 し て く だ さ い。 図 4.8 [Document Options] ダ イ ア ロ グ ボ ッ ク ス 92 Source Insight ユーザー マニ ュ アル 第4章 ド キュ メ ン ト タ イプ ド キ ュ メ ン ト 固有のオプ シ ョ ン ド キュ メ ン ト タ イ プは、 フ ァ イル タ イ プの言語 と 編集 オプシ ョ ン を決定 し ます。 ド キ ュ メ ン ト タ イ プは、 Source Insight が フ ァ イ ルの処理方法を決定す る 重要な要素です。 最 も 重要なのは、 プ ロ グ ラ ム言語 と 各フ ァ イ ルの 関連付け を制御す る 点です。 ド キ ュ メ ン ト タ イ プは、 タ ブ幅、 ワー ド ラ ッ プ、 自動 イ ンデン ト 、 表 示フ ォ ン ト の よ う な編集 と 表示オプシ ョ ン も 指定 し ます。 ヒ ン ト : カ レ ン ト フ ァ イ ルに関連付け ら れてい る ド キ ュ メ ン ト タ イ プ を参照 す る には、 ソ ース フ ァ イ ル ウ ィ ン ド ウ を右 ク リ ッ ク し 、 [Document Options] を選択 し て く だ さ い。 フ ァ イ ルの ド キ ュ メ ン ト タ イ プがダ イ ア ロ グ ボ ッ ク ス で自動的に選択 さ れます。 フ ァ イル と ド キ ュ メ ン ト タ イ プの関連付け フ ァ イルは名前 と 拡張子で ド キ ュ メ ン ト タ イ プ と 関連 付け られていま す。 [Document Options] コ マ ン ド で ド キ ュ メ ン ト タ イ プ と フ ァ イ ル名 ワ イ ル ド カー ド を関連付け る こ と がで き ます。 指定 さ れたすべての フ ァ イ ルについて、 Source Insight は、 フ ァ イ ル名を ( ド キ ュ メ ン ト タ イ プの 定義で指定 さ れた ) フ ァ イ ル名 ワ イ ル ド カー ド と 一致 さ せて ド キ ュ メ ン ト タ イ プ を決定 し ます。 た と えば、 *.c フ ァ イ ルは 「C Source File」 ド キ ュ メ ン ト タ イ プに属 し 、 *.asm フ ァ イ ルは 「Asm Source File」 ド キ ュ メ ン ト タ イ プに属 し ます。 特殊な フ ァ イル名の関連付け filealias.txt フ ァ イ ルには、 ド キ ュ メ ン ト タ イ プの決定 に使用する フ ァ イ ル名の別名が含ま れています。 プ ロ ジ ェ ク ト に拡張子がない フ ァ イ ルが含ま れ る 場合があ り ます。 た と えば、 「complex」 の よ う な標準 C++ ヘ ッ ダー フ ァ イ ルには拡張子は あ り ません。 こ の場合、 ワ イ ル ド カー ド を使用 し て フ ァ イ ル と ド キ ュ メ ン ト タ イ プ を関連付け る こ と は困難です。 こ のため、 Source Insight では、 フ ァ イ ルの ド キ ュ メ ン ト タ イ プ を決定す る 目的のために フ ァ イ ル名の別名を作成す る filealias.txt と い う 名前の特別な フ ァ イ ルを使用 し てい ます。 filealias.txt フ ァ イ ルは、 Source Insight のプ ロ グ ラ ム デ ィ レ ク ト リ に格 納 さ れます。 こ の フ ァ イ ルは編集で き ます。 デフ ォ ル ト では、 標準 C++ ヘ ッ ダー フ ァ イ ルの名前が含まれます。 filealias.txt の フ ォーマ ッ ト は下記の と お り です。 oldfilename=newfilename フ ァ イ ルの ド キ ュ メ ン ト タ イ プ を決定す る 前に oldfilename を newfilename にマ ッ プ し ます。 例: algorithm=algorithm.h Source Insight が フ ァ イ ル algorithm を参照す る 場合、 フ ァ イ ルの ド キ ュ メ ン ト タ イ プ を確定す る と き に別名 algorithm.h を使用 し ます。 Source Insight ユーザー マニ ュ アル 93 Source Insight の概念 第4章 新規フ ァ イル タ イ プの追加 新規 ド キ ュ メ ン ト タ イ プ を追加する と 、Source Insight が処理する フ ァ イ ル タ イ プが拡張 さ れます。 ド キ ュ メ ン ト タ イ プは、 Source Insight が処理す る フ ァ イ ルを決定 し ま す。 Source Insight は、 デ ィ レ ク ト リ の フ ァ イ ルを表示す る 場合、 現在 定義 さ れてい る ド キ ュ メ ン ト タ イ プに属 し てい る フ ァ イ ルのみを表示 し ます。 ま た、 Source Insight が フ ァ イ ルを プ ロ ジ ェ ク ト に自動的に追 加す る 場合、 既知の ド キ ュ メ ン ト タ イ プに属 し てい る フ ァ イ ルのみを 追加 し ます。 つま り 、 新規 ド キ ュ メ ン ト タ イ プ を追加す る こ と で、 Source Insight が処理す る フ ァ イ ル タ イ プが拡張 さ れ ます。 ド キ ュ メ ン ト オプ シ ョ ンの編集 フ ァ イ ルの ド キ ュ メ ン ト オプシ ョ ン を編集す る ( ま たはフ ァ イ ルが属 し てい る ド キ ュ メ ン ト タ イ プ を確認す る ) 最 も 簡単な方法は、 フ ァ イ ル ウ ィ ン ド ウ で フ ァ イ ルを右 ク リ ッ ク し てシ ョ ー ト カ ッ ト メ ニ ュ ーか ら [Document Options] を選択す る 方法です。 194 ページの 「Document Options」 も 参照 し て く だ さ い。 シ ラ ブル イ ンデ ッ ク ス を使用 し たシ ンボル名の入力 シ ラ ブル マ ッ チ ン グは、 シ ンボル と フ ァ イル名の部分 一致を見つけま す。 シ ンボル名のシ ラ ブルを見つけるに は、 シ ンボル デー タ ベース を イ ン デ ッ ク ス付けする 必要があ り ます。 シ ラ ブル イ ンデ ッ ク ス と シ ラ ブル マ ッ チン グは、 シ ン ボルの名前が分 か ら ない場合に、 シ ン ボルを見つけ る ための機能です。 一貫 し た命名 規則に従っ てい る API では、 シ ラ ブル マ ッ チン グ を使用 し て、 特定の ト ピ ッ ク に関連す る シ ン ボルを見つけ る こ と がで き ます。 一部の名前 を入力す る こ と で、 関連す る 項目の検索範囲を狭め る こ と がで き ます。 た と えば、 「Win」 と 入力す る と 、 「Win」 に関連す る 関数がすべて検索 さ れ ます。 シ ラ ブル マ ッ チン グは、 シ ン ボル リ ス ト だけでな く 、 リ ス ト に関連付 け ら れてい る ほ と ん ど の入力ボ ッ ク ス で も 使用で き ます。 Source Insight は、 デー タ ベース のシ ン ボルの名前だけではな く 、 シ ン ボル名に含まれ る シ ラ ブル も イ ンデ ッ ク ス付け し ます。 Source Insight では、 シ ン ボルま たはフ ァ イ ル名のシ ラ ブルは大文字で始ま る 2 文字 以上の文字であ る と 見な さ れ ます。 た と えば、 シ ン ボル名 「CreateWindow」 には、 「Create」 と 「Window」 の 2 つのシ ラ ブルが含 まれます。 Source Insight は両方のシ ラ ブルを イ ンデ ッ ク ス付けす る の で、 「Cre」、 「Win」 な ど の文字を任意に組み合わせ、 任意の順序で入 力 し て、 シ ン ボルを参照で き ます。 各シ ラ ブルは入力 し た文字 と 一致 す る 接頭辞です。 [Browse Project Symbols] ダ イ ア ロ グ ボ ッ ク ス を使用 し て、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ のシ ン ボルやフ ァ イ ル リ ス ト のシ ン ボルを参照で き ま す。 ソ ース ウ ィ ン ド ウ の左側にあ る 、 シ ン ボル ウ ィ ン ド ウ の上部のテ キ ス ト ボ ッ ク ス で も 同様です。 94 Source Insight ユーザー マニ ュ アル 第4章 シ ラ ブル イ ンデ ッ ク ス を使用 し たシ ンボル名の入力 さ ら に、 テ キ ス ト ボ ッ ク ス と 関連す る すべての リ ス ト で、 同様の機能 が利用で き る よ う にな り ま し た。 シ ンボル シ ラ ブル と は シ ラ ブルは大文字 で始ま る 2 文字以 上の文字です。 シ ン ボルま たはフ ァ イ ル名のシ ラ ブルは大文字で始ま る 2 文字以上の 文字です。 すべての文字が大文字の場合 も あ り ます。 い く つかの例を 示 し ます。 シ ンボル名 シ ラ ブル CreateWindow Create Çý Window OpenHTML Open Çý HTML HTMLOpen HTML Çý Open FOpenDoc Open Çý Doc Vip32Test Vip32 Çý Test プ ロ ジ ェ ク ト のシ ンボル イ ンデ ッ ク ス Source Insight は、 シ ン ボル デー タ ベース のシ ン ボルをすべて イ ンデ ッ ク ス付け し ます。 各シ ン ボルは イ ンデ ッ ク ス に 2 回以上表示 さ れ る こ と があ り ます。 こ れは、 Source Insight が以下の 3 つの イ ンデ ッ ク ス を 管理 し てい る ためです。 フ ル ネーム イ ンデ ッ ク ス。 . シ ン ボルの フル ネーム を イ ンデ ッ ク ス付け し ます。 フル ネーム にはシ ン ボルの親 も 含まれます。 た と えば、 「Class1.Member1」。 こ の タ イ プの イ ンデ ッ ク ス は常に管理 さ れ、 シ ン ボル定義にナビ ゲー ト す る ために使用 さ れ ます。 メ ンバ名イ ンデ ッ ク ス。 . シ ン ボルの構造体 と ク ラ ス メ ンバ名のみを イ ンデ ッ ク ス付け し ます。 た と えば、 ク ラ ス名 「Document」 内部の メ ン バ関数 「Help」 の フル ネーム イ ンデ ッ ク ス は 「Document.Help」 です が、 メ ンバ名 イ ンデ ッ ク ス は 「Help」 です。 こ の イ ンデ ッ ク ス を使用 す る と 、 属す る ク ラ スや構造体を指定 し な く て も 、 メ ンバを素早 く 取 得で き ます。 シ ラ ブル イ ンデ ッ ク ス。 . シ ン ボル名のシ ラ ブルを イ ンデ ッ ク ス付け し ます。 こ の イ ンデ ッ ク ス を使用す る と 、 名前の一部 し か知 ら ない場合 で も シ ン ボルを検索で き ます プ ロ ジ ェ ク ト 用イ ンデ ッ ク ス オプ シ ョ ンの設定 [Project Settings] ダ イ ア ログ ボ ッ ク スでシ ラ ブル と メ ンバ イ ンデ ッ ク ス オプシ ョ ン を指定 で き ます。 シ ラ ブル と メ ンバ イ ンデ ッ ク ス はデ ィ ス ク と メ モ リ の イ ンデ ッ ク ス ス ペース を使用 し ます。 デー タ ベース の処理は少 し 遅 く な り ます。 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス で イ ンデ ッ ク ス付け を制御で き ます。 イ ンデ ッ ク ス を制御す る 2 つのチ ェ ッ ク ボ ッ ク ス : Source Insight ユーザー マニ ュ アル 95 Source Insight の概念 第4章 Quick browsing for member names メ ンバ名 イ ンデ ッ ク ス を有効ま たは 無効に し ます。 こ のオプシ ョ ン がチ ェ ッ ク さ れてい る 場合、 ク ラ ス ま たは構造体の名前、 ド ッ ト (.)、 メ ンバ名を入力す る 代わ り に、 ク ラ ス ま たは構造体の メ ンバ名のみを入力で き ます。 こ のオプシ ョ ン が チ ェ ッ ク さ れていない場合、 デ ィ ス ク スペースお よ び メ モ リ 容量が節 約 さ れます。 Quick browsing for symbol syllables シ ラ ブル イ ンデ ッ ク ス を有効ま た は無効に し ます。 こ のオプシ ョ ンがチ ェ ッ ク さ れてい る 場合、 一部の シ ラ ブルを入力 し て、 シ ラ ブルを含むシ ン ボルを検索で き ます。 こ の オプシ ョ ンがチ ェ ッ ク さ れていない場合、 デ ィ ス ク スペースお よ び メ モ リ 容量が節約 さ れ ます。 大規模なプ ロ ジ ェ ク ト では、 シ ン ボル デー タ ベース の参照やフ ァ イ ルの同期は遅 く な り ます。 両方のチ ェ ッ ク ボ ッ ク ス を オ フ にす る と 、 [Browse All Symbols] ダ イ ア ロ グ ボ ッ ク スお よ びプ ロ ジ ェ ク ト ウ ィ ン ド ウ のシ ン ボル リ ス ト フ ィ ル タ は単純な接頭辞マ ッ チン グに戻 さ れ ます。 し か し 、 各 ソ ース ウ ィ ン ド ウ の左側のシ ン ボル ウ ィ ン ド ウ お よ びプ ロ ジ ェ ク ト ウ ィ ン ド ウ の フ ァ イ ル リ ス ト ではシ ラ ブル参照を使用で き ます。 シ ラ ブル マ ッ チ ングの制御 シ ラ ブル マ ッ チ ン グは [Preferences: Typing] ダ イ ア ロ グ ボ ッ ク スで有効 または無効に し ま す。 [Preferences: Typing] ダ イ ア ロ グ ボ ッ ク ス のシ ラ ブル マ ッ チン グで影響 を受け る リ ス ト を制御で き ます。 チ ェ ッ ク ボ ッ ク ス [Match syllables while typing] は、 プ ロ ジ ェ ク ト 設定でシ ラ ブルが ( シ ン ボル デー タ ベース で ) イ ンデ ッ ク ス付け さ れ る こ と を示 し てい る か ど う かに関係 な く 、 シ ラ ブル マ ッ チン グ を有効ま たは無効に し ます。 シ ラ ブルの前にス ペース を入力 し て 個々のケースのシ ラ ブル マ ッ チ ング を切 り 替え る こ と がで き ます。 シ ラ ブルの前に スペース を追加 し て入力す る こ と で、 シ ラ ブル マ ッ チ ン グの使用を切 り 替え る こ と がで き ます。 た と えば、 [Preferences: Typing] ダ イ ア ロ グ ボ ッ ク ス でシ ラ ブル マ ッ チン グ を オ フ に し た場合、 シ ラ ブルの前に スペース を追加 し て入力す る こ と でシ ラ ブルの使用を 選択で き ます。 シ ラ ブル マ ッ チ ングの使用 リス ト ボッ クスと 関連する テキス ト ボ ッ ク スにシ ラ ブ ルを入力 し ます。 シ ン ボルま たは フ ァ イ ル名を入力で き る テ キ ス ト ボ ッ ク ス の多 く で、 シ ラ ブルを入力で き ます。 テ キ ス ト ボ ッ ク ス と 関連す る リ ス ト ボ ッ ク ス は、 入力 し た内容に基づいて フ ィ ル タ さ れます。 複数のシ ラ ブルを 入力する こ と も で き ます。 複数のシ ラ ブルを入力す る 場合は、 「CreWin」 の よ う に、 シ ラ ブルの 2 文字以上を入力 し て、 別のシ ラ ブルを入力 し ます。 「Cre Win」 の よ う に、 スペース でシ ラ ブルを区切 る こ と も 可能です。 ほ と ん ど の場合、 任意の順序でシ ラ ブルを入力で き ます。 96 Source Insight ユーザー マニ ュ アル 第4章 シ ラ ブル イ ンデ ッ ク ス を使用 し たシ ンボル名の入力 シ ラ ブル フ ィ ル タ リ ン グは大文字 と 小文字を区別 し ません。 し か し 、 フ ィ ル タ さ れた リ ス ト が表示 さ れ る と 、 Source Insight は大文字 と 小文 字を含めて、 入力 し た内容に最 も 近い リ ス ト の項目を選択 し ます。 た と えば、 以下の指定はすべて等価です。 CreWin Cre Win cre win WinCre Win Cre win cre win_cre Win.cre 一致 し た名前は一 致率で ソ ー ト さ れ ます。 Source Insight は リ ス ト の内容を フ ィ ル タ し て、 結果を ソ ー ト し 、 最 も 一致率の高い も のを一番上に表示 し ます。 一致率が同 じ 場合、 シ ン ボ ルの最初か ら の一致率が高いほ う が上に表示 さ れ ます。 た と えば、 「TopBottom」 と 「TopAndBottom」 と い う 2 つのシ ン ボルが あ り 、 「TopBot」 と 入力 し た場合、 「TopBottom」 シ ン ボルが上に表示 さ れ ます。 シ ラ ブル シ ョ ー ト カ ッ ト の使用 厳密な接頭辞マ ッ チン グや メ ンバ名マ ッ チン グ を指定す る には、 シ ン ボル名フ ィ ール ド に入力す る と き にシ ラ ブル シ ョ ー ト カ ッ ト を使用 し ます。 接頭辞のみを厳格に一致 さ せ る には、 単一スペース ま たはキ ャ レ ッ ト (^) 文字を先頭に指定 し ます。 た と えば、 「^Format」 お よ び 「<space>Format」 は 「format」 で始ま る シ ン ボル と のみ一致 し ます。 ( 大文字 と 小文字は区別 さ れ ません。 ) 「LineFormat」 と は一致 し ませ ん。 接頭辞はシ ラ ブル マ ッ チン グのオ ン / オ フ を切 り 替え ます。 リ ーフ メ ンバ名の接頭辞を厳格に一致 さ せ る には、 先頭に ド ッ ト (.) を指定 し ます。 た と えば、 「.fdirty」 は 「fdirty」 で始ま る 構造体ま たは ク ラ ス名 と のみ一致 し ます。 入れ子の ク ラ ス メ ンバに も 適用 さ れ ま す。 た と えば、 「.draw」 は メ ソ ッ ド 「Class1::Class2::Draw」 と 一致 し ま す。 下線は ( プ ロ グ ラ ム では一般的ですが ) 無視 さ れ ます。 た と えば、 「_insert」 お よ び 「insert」 は等価です。 Source Insight ユーザー マニ ュ アル 97 Source Insight の概念 第4章 解析機能 Source Insight は、 シ ン ボルの検索お よ びシ ン ボル情報の レ ビ ュ ーを行 う 多 く の方法を提供 し てい ます。 こ れは Source Insight の重要な機能で す。 こ のセ ク シ ョ ン では、 シ ン ボル情報のア ク セ ス を助け る Source Insight の機能について簡単に説明 し ます。 構文解析 シ ンボル デー タ ベースは、 自動的 に最新状態に更新 さ れます。 フ ァ イ ルの編集中に、 Source Insight はプ ロ ジ ェ ク ト フ ァ イ ルを解析 し ます。 こ の結果、 フ ァ イ ルを コ ンパ イ ルす る こ と な く 、 ク ラ ス、 メ ソ ッ ド 、 関数、 その他の情報が表示 さ れ ます。 プ ロ ジ ェ ク ト に フ ァ イ ルが追加 さ れ る と 、 フ ァ イ ル内のシ ン ボル定義 の名前 と 位置が、 プ ロ ジ ェ ク ト のシ ン ボル デー タ ベース に保存 さ れ ま す。 シ ン ボル定義は以下のテ ク ニ ッ ク を使用 し て素早 く 見つけ る こ と がで き ます。 Source Insight の多 く のオブジ ェ ク ト は、 右 ク リ ッ ク す る と オブジ ェ ク ト のシ ョ ー ト カ ッ ト メ ニ ュ ーが表示 さ れます。 以下の コ マ ン ド のい く つかは、 シ ョ ー ト カ ッ ト メ ニ ュ ーにあ り ます。 シ ンボル ナビゲーシ ョ ン コ マ ン ド こ れ ら の コ マ ン ド は、 シ ン ボル定義や関数の呼び出 し 元に移動す る た めに最 も 一般的に使用 さ れ る コ マ ン ド です。 Jump to Definition コ マ ン ド 定義にジ ャ ン プす るには、 [Ctrl] キー を押 し たままで、 名前を ダブルク リ ッ ク し ます。 [Jump to Definition] コ マ ン ド は、 カー ソ ル位置のシ ン ボルの定義にジ ャ ン プ し ます。 221 ページの 「Jump To Definition」 も 参照 し て く だ さ い。 コ マ ン ド を呼び出すには、 [Alt]+[=] キーを押すか、 [Ctrl] キーを押 し た ま ま でダブル ク リ ッ ク し ます。 シ ン ボルを右 ク リ ッ ク し 、 シ ョ ー ト カ ッ ト メ ニ ュ ーを使用 し て こ の コ マ ン ド を実行す る こ と も で き ます。 シ ン ボルが見つか る と 、 シ ン ボルの フ ァ イ ルが開かれ、 ウ ィ ン ド ウ に 表示 さ れて、 シ ン ボル名が選択 さ れ ます。 プ ロ ジ ェ ク ト 内に同 じ 名前 のシ ン ボルが複数あ る 場合、 Source Insight は選択す る シ ン ボルを確認 し ます。 Jump to Caller コ マ ン ド Jump to Caller コ マ ン ド は、 カー ソ ル位置の関数の呼び出 し 元にジ ャ ン プ し ます。 221 ページの 「Jump To Caller」 も 参照 し て く だ さ い。 シ ン ボルを右 ク リ ッ ク し 、 シ ョ ー ト カ ッ ト メ ニ ュ ーを使用 し て こ の コ マ ン ド を実行す る こ と も で き ます。 こ の コ マ ン ド は、 カー ソ ル位置のオブ ジ ェ ク ト が関数名であ る 場合のみ動作 し ます。 98 Source Insight ユーザー マニ ュ アル 第4章 解析機能 Refresh Relation Window コ マ ン ド 現在選択 さ れてい る シ ン ボルが反映 さ れ る よ う に、 リ レーシ ョ ン ウ ィ ン ド ウ を更新 し ます。 た と えば、 リ レーシ ョ ン ウ ィ ン ド ウ が関数参照 を表示す る よ う に設定 さ れていて カー ソ ルが関数名の上にあ る 場合、 関数へのすべての参照を リ レーシ ョ ン ウ ィ ン ド ウ に表示 し ます。 こ の コ マ ン ド は、 自動更新を行わない よ う に リ レーシ ョ ン ウ ィ ン ド ウ を ロ ッ ク し てい る 場合に便利です。 59 ページの 「 リ レーシ ョ ン ウ ィ ン ド ウ 」 も 参照 し て く だ さ い。 Browse Project Symbols コ マ ン ド [Browse Project Symbols] ダ イ ア ロ グ ボ ッ ク スはプ ロ ジ ェ ク ト のすべて のシ ンボルを リ ス ト し ます。 [Browse Project Symbols] コ マ ン ド は、 プ ロ ジ ェ ク ト 内のすべてのシ ン ボルの リ ス ト を含むダ イ ア ロ グ ボ ッ ク ス を開 き ます。 リ ス ト か ら シ ン ボルを選択す る か、 シ ン ボル名を入力で き ます。 最初にダ イ ア ロ グ ボ ッ ク ス が表示 さ れた と き 、 カー ソ ル位置の単語が [Symbol] テ キ ス ト ボ ッ ク ス に自動的に ロ ー ド さ れ ます。 [Browse] ダ イ ア ロ グ ボ ッ ク ス で入力す る 場合、 リ ス ト は入力 し た内容 と 一致す る よ う に自動的に フ ィ ル タ さ れ ます。 通常、 数文字入力す る だけで目的のシ ン ボルが表示 さ れ ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウのシ ンボル リ ス ト プロジ ェ ク ト ウ ィ ン ド ウに も、 プ ロ ジ ェ ク ト 内のすべ てのシ ンボルが モー ド レ スで リ ス ト さ れます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ は、 すべてのプ ロ ジ ェ ク ト シ ン ボルの リ ス ト を表示 し ます。 [Browse Project Symbols] ダ イ ア ロ グ ボ ッ ク ス の よ う に、 テ キ ス ト ボ ッ ク ス に入力す る 際に、 接頭辞 と シ ラ ブル名マ ッ チン グが 行われ ます。 し か し 、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ はモー ド レ ス な ウ ィ ン ド ウ です。 そのため、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ でシ ン ボルを選択す る と 、 コ ン テ キ ス ト ウ ィ ン ド ウ お よ び リ レーシ ョ ン ウ ィ ン ド ウ で選択 し たシ ン ボルに関す る 情報が更新 さ れ ます。 50 ページの 「プ ロ ジ ェ ク ト ウ ィ ン ド ウ 」 も 参照 し て く だ さ い。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ には ク ラ ス ビ ュ ー も あ り ます。 ク ラ ス ビ ュ ーは、 シ ン ボルを カ テ ゴ リ 別に分類 し 、 表示す る 階層ビ ュ ーです。 た と えば、 すべてのグ ロ ーバル変数、 すべての構造体、 の よ う にグ ループ化 さ れ ます。 ク ラ ス、 構造体、 ユニオ ンの よ う な、 構造体の分 類はプ ロ ジ ェ ク ト ウ ィ ン ド ウ で表示で き ます。 コ ール ツ リ ー と 参照ツ リ ー リ レーシ ョ ン ウ ィ ン ド ウではコ ール ツ リ ー と 参照ツ リ ーを表示で き ま す。 リ レーシ ョ ン ウ ィ ン ド ウ は現在選択 し てい る シ ン ボル と 他のシ ン ボル の関係を表示す る Source Insight の も う 1 つの新機能です。 現在の動作 状況を追跡 し た り 、 リ レーシ ョ ン情報を自動的に表示す る な ど、 コ ン テ キ ス ト ウ ィ ン ド ウ の よ う に機能 し ます。 59 ページの 「 リ レーシ ョ ン ウ ィ ン ド ウ 」 も 参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 99 Source Insight の概念 第4章 リ レーシ ョ ン ウ ィ ン ド ウ には、 関数呼び出 し ツ リ ー、 ク ラ ス階層、 構 造体 メ ンバ、 参照ツ リ ー、 その他の情報が表示 さ れ ます。 コ ン テキス ト ウ ィ ン ド ウ コ ン テキス ト ウ ィ ン ド ウには、 選択 し たシ ンボルの宣 言が表示 さ れま す。 コ ン テ キ ス ト ウ ィ ン ド ウ は、 Source Insight バージ ョ ン 2.0 で導入 さ れ た新機能です。 シ ン ボル情報を自動的に表示 し ます。 選択お よ び入力 し た情報を追跡 し 、 関連す る シ ン ボル宣言を自動的に表示 し ます。 55 ページの 「 コ ン テ キ ス ト ウ ィ ン ド ウ 」 も 参照 し て く だ さ い。 コ マ ン ド ラ イ ン シ ンボル ア ク セス Source Insight の起動時に、 コ マ ン ド ラ イ ン で -f <symbol> オプシ ョ ン を使用す る こ と に よ り 、 シ ン ボルにジ ャ ン プで き ます。 例: insight3 -f myfunc 「myfunc」 と い う 名前のシ ン ボルを指 し ます。 特別な コ マ ン ド オプシ ョ ン な し で、 フ ァ イ ル名の よ う に、 コ マ ン ド ラ イ ン でシ ン ボルの名前を指定す る こ と も で き ます。 こ の場合、 Source Insight は、 指定 さ れたシ ン ボルが フ ァ イ ルなのか解析 し たシ ン ボルな のか判断 し ます。 フ ァ イ ル名の よ う に、 コ マ ン ド ラ イ ン で複数のシ ン ボルを リ ス ト で き ます。 例: insight3 myfunc fcb init シ ン ボル 「myfunc」、 「fcb」、 お よ び 「init」 を含むすべての フ ァ イ ルを 開 き ます。 129 ページの 「 コ マ ン ド ラ イ ン の構文」 も 参照 し て く だ さ い。 シ ンボルへの参照の検索 シ ンボルへの参照 を素早 く 検索する には、 [Lookup References] コ マ ン ド を使用 し ま す。 [Lookup References] コ マ ン ド は、 現在選択 し てい る 単語へのすべての テ キ ス ト 形式の参照を素早 く 検索 し ます。 た と えば、 TextOut へのすべ ての呼び出 し を検索す る には、 挿入ポ イ ン ト が単語 TextOut を指す よ う に し て、 [Lookup References] コ マ ン ド を実行 し ます。 検索結果 ウ ィ ン ド ウ に、 見つか っ たすべての参照情報が リ ス ト さ れ ます。 [Browse Project Symbols]、 [Browse Local File Symbols]、 [Symbol Info] ダ イ ア ロ グ ボ ッ ク ス に も 、 同様の処理を行 う [References] ボ タ ン があ り ます。 244 ページの 「Lookup References」 も 参照 し て く だ さ い。 プ ロ ジ ェ ク ト レポー ト の作成 シ ン ボルの ク ロ ス リ フ ァ レ ン ス、 お よ びプ ロ ジ ェ ク ト の フ ァ イ ルに関 す る 統計を含むレ ポー ト フ ァ イ ルを作成す る には、 [Project Report] コ 100 Source Insight ユーザー マニ ュ アル 第4章 構文フ ォ ーマ ッ ト と ス タ イル マ ン ド を使用 し ます。 268 ページの 「Project Report」 も 参照 し て く だ さ い。 名前の変更 複数のプ ロ ジ ェ ク ト フ ァ イルで状況 に依存 し て名前の 変更を行 う には、 [Smart Rename] コ マ ン ド を使用 し ます。 [Smart Rename] コ マ ン ド は、 状況依存形式のグ ロ ーバル検索 と 置換で す。 ス マー ト 状況依存 メ ソ ッ ド を使用 し て、 すべてのプ ロ ジ ェ ク ト フ ァ イ ルの識別子の名前を変更 し ます。 Source Insight の検索 イ ンデ ッ ク ス で、 検索が非常に速 く な り ます。 こ れは単一の単語識別子を新 し い文字列に置換す る 最 も 簡単な方法です。 検索結果 ウ ィ ン ド ウ に置換 情報の ロ グ を出力す る こ と も で き ます。 置換 さ れた行 と 、 変更 さ れた 行への ソ ース リ ン ク が リ ス ト さ れ ます。 307 ページの 「Smart Rename」 も 参照 し て く だ さ い。 構文フ ォ ーマ ッ ト と ス タ イル 構文フ ォ ーマ ッ ト は、 詳細かつ簡単な方法で情報を提供す る 、 Source Insight の重要な機能の 1 つです。 構文フ ォ ーマ ッ ト は、 プ ログ ラム情 報に基づ く リ ッ チ テキス ト フ ォー マ ッ ト を使用 し ま す。 Source Insight は、 パーサーが収集 し た情報を使用 し て ソ ース コ ー ド の 書式を設定 し ます。 識別子は、 太字や斜体の よ う な効果に加え て、 異 な る フ ォ ン ト やフ ォ ン ト サ イ ズで表示で き ます。 フ ォ ーマ ッ ト は 「ス タ イ ル」 を使用 し て適用 さ れ ます。 ス タ イ ルは フ ォ ーマ ッ ト プ ロ パテ ィ のセ ッ ト です。 た と えば、 ス タ イ ルで太字 + 斜体を指定 し ます。 各ス タ イ ルの フ ォーマ ッ ト プ ロ パテ ィ を編集す る には、 [Style Properties] コ マ ン ド を使用 し ます。 311 ページの 「Style Properties」 も 参照 し て く だ さ い。 フ ォ ーマ ッ ト ス タ イルはソ ース コ ー ド の要素に適用 さ れます。 事前に定義 さ れてい る ス タ イ ル も い く つかあ り ます。 独自の ス タ イ ル を追加す る こ と も で き ます。 ス タ イ ルは設定フ ァ イ ルに格納 さ れ ます。 ス タ イルには、 他 のス タ イル と 組み 合わせる こ と がで き る フ ォ ーマ ッ ト 命令が含まれま す。 ス タ イ ルがテ キ ス ト に適用 さ れ る と き 、 テ キ ス ト プ ロ パテ ィ と 組み合 わ さ れ ます。 基本テ キ ス ト プ ロ パテ ィ は、 各 ド キ ュ メ ン ト タ イ プの フ ォ ン ト 設定で設定 さ れます。 [Options] > [Document Options] コ マ ン ド で制御で き ます。 ス タ イ ル プ ロ パテ ィ は基本テ キ ス ト プ ロ パテ ィ と 組 み合わ さ れ ます。 ス タ イ ルは、 他の 「親」 ス タ イ ルか ら プ ロ パテ ィ を 継承す る こ と も で き ます。 102 ページの 「親ス タ イ ル」 も 参照 し て く だ さ い。 ス タ イルの動作 Source Insight ユーザー マニ ュ アル 101 Source Insight の概念 第4章 すべての適切な ス タ イ ルの フ ォーマ ッ ト プ ロ パテ ィ は、 指定 し た フ ァ イ ルの ド キ ュ メ ン ト タ イ プで選択 さ れてい る フ ォ ン ト と 組み合わ さ れ ます。 Document Type Parent Style Default Font + Combined font + style formatting Child Style 図 4.9 ス タ イル プ ロパテ ィ は、 各プ ロパテ ィ 、 および [Document Options] ダ イ ア ロ グ ボ ッ ク スのデ フ ォル ト のフ ォ ン ト 設定 と 組み合わ さ れます。 フ ォ ーマ ッ ト プ ロパテ ィ ス タ イ ルは、 親ス タ イ ル と の フ ォ ーマ ッ ト の違い を リ ス ト し た も ので す。 た と えば、 ス タ イ ルに 「太字」 プ ロ パテ ィ が含まれてい る 場合、 親ス タ イ ルに も 「太字」 プ ロ パテ ィ が含まれてい ます。 それぞれの フ ォ ーマ ッ ト 項目には、 以下の状態があ り ます。 • On フ ォ ーマ ッ ト プ ロ パテ ィ が追加 さ れ ます。 例 : Bold-On • Off フ ォ ーマ ッ ト プ ロ パテ ィ が削除 さ れます。 例 : Bold-Off • A Number ス ケー リ ン グ、 フ ォ ン ト サ イ ズの よ う な項目に適用 さ れ ます。 例 : scaling = 120% • Font Name フ ォ ン ト 名項目に適用 さ れます。 • No Change フ ォ ーマ ッ ト プ ロ パテ ィ は変更 さ れません。 親ス タ イ ルのプ ロ パテ ィ を継承 し ます。 親ス タ イル ス タ イルは階層構 造です。 102 ス タ イ ルには、 「親ス タ イ ル」 プ ロ パテ ィ があ り ます。 ス タ イ ルは、 親 ス タ イ ルか ら フ ォ ーマ ッ ト プ ロ パテ ィ を継承 し ます。 その結果、 ス タ Source Insight ユーザー マニ ュ アル 第4章 構文フ ォ ーマ ッ ト と ス タ イル イ ルの階層が作成 さ れ ます。 た と えば、 「Declarations」 の階層構造に は、 図の よ う な ス タ イ ルが含ま れます。 Declaration Declare Function Declare Struct Declare Typedef Declare Union Declare Class Declare Variable 図 4.10 ス タ イル階層の例。 ス タ イルのフ ォー マ ッ ト プ ロパテ ィ は親ス タ イル と 組 み合わ さ れます。 ス タ イ ルの フ ォ ーマ ッ ト プ ロ パテ ィ は親ス タ イ ル と 組み合わ さ れま す。 こ のため、 「Declare Struct」 ス タ イ ルは、 「Declaration」 ス タ イ ルの フ ォ ーマ ッ ト プ ロ パテ ィ を継承 し ます。 「Declaration」 ス タ イ ルのプ ロ パテ ィ を変更す る と 、 その階層のすべての ス タ イ ルは変更の影響を受 け ます。 最上位の親ス タ イ ルは 「Default Text」 ス タ イ ルです。 こ の ス タ イ ルの フ ォ ーマ ッ ト プ ロ パテ ィ は、 ド キ ュ メ ン ト タ イ プの フ ォ ン ト 設定で決 定 さ れ ます。 [Style Properties] コ マ ン ド を使用 し て、 任意の ス タ イ ルの親ス タ イ ルを 変更で き ます。 Source Insight ユーザー マニ ュ アル 103 Source Insight の概念 第4章 下記の図は、 ド キ ュ メ ン ト タ イ プの フ ォ ン ト 設定 と ス タ イ ルを組み合 わせた例です。 Document Type Default Font: Tahoma 9pt Style: “Declaration” + Bold + Style: “Declare Function” + 120% Tahoma 10.8pt Bold 図 4.11 ス タ イル プ ロパテ ィ は、 ド キ ュ メ ン ト タ イ プのデ フ ォル ト の フ ォ ン ト 設定に 「追加」 さ れます。 ス タ イルのソ ース コ ー ド への適用 ス タ イルはソ ース コ ー ド テキス ト に 自動的に適用 さ れ ます。 ス タ イ ルは ソ ース コ ー ド テ キ ス ト に自動的に適用 さ れ ます。 コ メ ン ト ス タ イ ルを除 き 、 ス タ イ ルを ワー ド プ ロ セ ッ サの よ う に明示的に適用 す る こ と はで き ません。 単語情報に基づ く ス タ イ ルが言語パーサーに よ っ て適用 さ れ ます。 下記の ト ピ ッ ク で、 適用 さ れ る ス タ イ ルについ て説明 し ます。 言語キーワー ド ス タ イル 独自のキーワー ド と 任意のス タ イル を関連付ける こ と がで き ます。 最 も 単純な ス タ イ ルのアプ リ ケーシ ョ ンは、 言語キー ワ ー ド の フ ォ ー マ ッ ト です。 言語にはそれぞれ、 キー ワー ド リ ス ト が含まれます。 キーワ ー ド リ ス ト はそれぞれ、 キー ワー ド と ス タ イ ルを関連付け ま す。 キー ワー ド リ ス ト は編集可能で、 設定フ ァ イ ルに格納 さ れ ます。 Source Insight はキー ワー ド を認識 し 、 関連付け ら れてい る ス タ イ ルを キーワ ー ド に適用 し ます。 言語キー ワー ド リ ス ト は、 [Preferences: Languages] ダ イ ア ロ グ ボ ッ ク ス か ら 、 ま たは [Keyword List] コ マ ン ド を直接起動 し て編集で き ます。 224 ページの 「Keyword List」 も 参照 し て く だ さ い。 指定 さ れた単語の フ ォ ーマ ッ ト を決定す る ため、 Source Insight は適切 な言語 タ イ プのキー ワ ー ド リ ス ト で単語を検索 し ます。 キー ワー ド リ ス ト には、 ス タ イ ル と 関連付け ら れてい る フ ォ ーマ ッ ト を示すス タ イ ル名が含ま れ ます。 104 Source Insight ユーザー マニ ュ アル 第4章 構文フ ォ ーマ ッ ト と ス タ イル つま り 、 フ ァ イ ル名お よ びフ ァ イ ル内の単語で始ま り ます。 Source Insight は、 こ の情報を使用 し て単語の ス タ イ ルを決定 し ます。 File Name Document Type Language Type Keyword List Style Used word in source 図 4.12 ソ ース テキス ト の単語に使用 さ れる ス タ イルは、 フ ァ イルの ド キ ュ メ ン ト タ イ プ で指定 さ れてい る言語のキーワー ド リ ス ト に よ闌 ・ 閧 Š れます。 宣言ス タ イル 宣言は、 「Declare...」 ス タ イルで フ ォーマ ッ ト さ れます。 シ ン ボルが宣言ま たは定義 さ れ る と 、 その名前は適切な 「Declaration」 ス タ イ ルで フ ォ ーマ ッ ト さ れ ます。 構造体、 ク ラ ス、 ユニオ ン、 関数、 その他の よ う に、 異な る タ イ プの宣言ス タ イ ルがあ り ます。 た と えば、 構造体は下記の よ う にな り ます。 構造体名 「CLIP」 は 「Declare Struct」 ス タ イ ルで表示 さ れます。 構造 体内の メ ンバ フ ィ ール ド は 「Declare Member」 ス タ イ ルで表示 さ れ ま す。 参照ス タ イル シ ンボルの参照 は、 「Ref to...」 ス タ イルで フ ォ ー マ ッ ト さ れます。 実際の宣言ではないシ ン ボルの参照は、 適切な 「Reference」 ス タ イ ル で フ ォ ーマ ッ ト さ れ ます。 異な っ た タ イ プのシ ン ボル向けの参照ス タ イ ルがあ り ます。 た と えば、 コ ー ド フ ラ グ メ ン ト は下記の よ う にな り ます。 「SeekTokenLnIch」 の呼び出 し は、 「Ref to Function」 ス タ イ ルで フ ォ ー マ ッ ト さ れます。 C マ ク ロ 関数 「HdocOfTgl」 は、 マ ク ロ を参照 し てい る こ と を示す 「Ref to Macro」 ス タ イ ルで フ ォ ーマ ッ ト さ れます。 パ ラ メ ー タ 「hpar」 は、 現在の関数の ロ ーカルなパ ラ メ ー タ であ る こ と を 示す 「Ref to Parameter」 ス タ イ ルで フ ォ ーマ ッ ト さ れます。 識別子 「htglLocal」 は、 現在の関数の ロ ーカル変数であ る こ と を示す 「Ref to Local Variable」 ス タ イ ルで フ ォーマ ッ ト さ れ ます。 定数 Source Insight ユーザー マニ ュ アル 105 Source Insight の概念 参照ス タ イルは非 常に便利ですが、 システムの リ ソ ー ス を消費 し ます。 第4章 「kswaChangeMark」 は、 「Ref to Function」 ス タ イ ルで フ ォ ーマ ッ ト さ れ ます。 参照フ ォ ーマ ッ ト は、 要求 し な く て も 多 く の情報を提供 し ます。 関数 名の スペルを間違え た場合や、 定数、 ロ ーカル変数、 グ ロ ーバル変数 を使用 し てい る か ど う かが、 直ちに判明 し ます。 参照フ ォ ーマ ッ ト を有効にす る と 、 場合に よ っ ては表示が遅 く な る こ と に注意 し て く だ さ い。 Source Insight では、 潜在的な シ ン ボル参照が 行われ る たびに、 シ ン ボルのル ッ ク ア ッ プ操作を実行す る 必要があ り ます。 Inactive Code ス タ イル Source Insight の C/C++ お よ び リ ソ ース フ ァ イ ル パーサーは、 #ifdef デ ィ レ ク テ ィ ブ を使用 し て コ ンパ イ ル時に無効に さ れ る 非ア ク テ ィ ブ コ ー ド のブ ロ ッ ク を認識 し ます。 [Options > Preferences: Language] ダ イ ア ロ グ ボ ッ ク ス には、 既知の条件付 き 定数の リ ス ト を編集で き る [Conditions] ボ タ ンがあ り ます。 非ア ク テ ィ ブ コ ー ド は Inactive Code ス タ イルで表示 さ れます。 106 非ア ク テ ィ ブ コ ー ド のブ ロ ッ ク は、 「Inactive Code」 ス タ イ ルで表示 さ れます。 詳細は、 86 ページの 「条件付 き 解析」 を参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 第4章 構文フ ォ ーマ ッ ト と ス タ イル コ メ ン ト ス タ イル Source Insight では、 コ メ ン ト にい く つかの フ ォ ーマ ッ ト を追加で き ま す。 コ メ ン ト ス タ イ ル階層は下記の よ う に表示 さ れ ます。 Comment Comment Multi Line Comment Single Line Comment Right Comment Heading 1 Comment Heading 2 Comment Heading 3 Comment Heading 4 Comment To Do 図 4.13 コ メ ン ト ス タ イル階層 コ メ ン ト 見出 し ス タ イル コ メ ン ト 見出 し ス タ イルは、 コ メ ン ト を分か り やす く し ます。 コ メ ン ト 見出 し ス タ イ ルは、 コ ー ド の一部を分割す る 場合に非常に便 利です。 コ メ ン ト 見出 し ス タ イ ルは //n (n は 1 か ら 4) の よ う に指定 し ます。 例: //1 This is a Heading 1 comment //2 This is a Heading 2 comment コ メ ン ト を表示す る と き 、 カー ソ ルがその行の上になければ、 コ メ ン ト の先頭にあ る //n は表示 さ れ ません。 カー ソ ルが行の上に移動す る と 、 //n が表示 さ れ、 編集で き る よ う にな り ます。 Source Insight ユーザー マニ ュ アル 107 Source Insight の概念 第4章 Comment Right ス タ イル コ ー ド の右に表示 さ れ る コ メ ン ト には、 「Comment Right」 ス タ イ ルを 使用 し ます。 例: // this comment is formatted with the Comment Line style a = 0; // this is formatted with the Comment Right style Comment Line と Comment Multi Line ス タ イル 複数行の コ メ ン ト は 「Comment Multi Line」 ス タ イ ルで表示 さ れます。 C/C++ や Java の /* と */ デ リ ミ タ を使用す る コ メ ン ト が含ま れます。 単一行の コ メ ン ト は、 「Comment Line」 ス タ イ ルで表示 さ れ ます。 C/ C++ や Java の // デ リ ミ タ を使用す る コ メ ン ト が含まれます。 コ メ ン ト ス タ イル と カ ス タ ム言語 カ ス タ ム言語を定義す る 場合、 [Preferences: Languages] ダ イ ア ロ グ ボ ッ ク ス を使用 し て、 コ メ ン ト やテ キ ス ト 範囲の タ イ プ を指定 し て、 ス タ イ ルに関連付け る こ と がで き ます。 た と えば、 (* で開始 し て *) で 終了す る コ メ ン ト 範囲を作成 し て、 テ キ ス ト を 「Comment Multi Line」 ス タ イ ルで フ ォ ーマ ッ ト で き ます。 任意の区切 ら れた範囲のテ キ ス ト を実際に定義 し 、 ( 非 コ メ ン ト ス タ イ ルを含む ) 任意の ス タ イ ルに関 連付け る こ と がで き ます。 詳細は、 82 ページの 「プ ロ グ ラ ミ ン グ言 語」 お よ び 229 ページの 「[Special Language Options]」 を参照 し て く だ さ い。 構文修飾 構文修飾は、 コ ー ド 表示に情報を追 加 し ます。 Source Insight では、 一般的な演算子 と シ ン ボル文字を置換で き ます。 [Preferences: Syntax Decorations] コ マ ン ド を使用 し て、 使用す る 装飾を 制御で き ます。 シ ン ボ リ ッ ク 文字は、 「Symbol Characters」 ス タ イ ルで フ ォ ーマ ッ ト さ れます。 [Style Properties] コ マ ン ド を使用 し て Symbol Characters ス タ イ ルを参照す る と 、 こ の ス タ イ ルは Symbol フ ォ ン ト を使用 し てい る こ と がわか り ます。 色やフ ォ ン ト サ イ ズの よ う な ス タ イ ルのプ ロ パテ ィ は変更で き ますが、 フ ォ ン ト 名を Symbol 以外に変更 し て も 、 構文装 飾シ ン ボルは こ の時点では表示 さ れ ません。 メモ : 108 シ ン ボル置換を行っ て も ソ ース フ ァ イ ルのテ キ ス ト は変更 さ れませ ん。 画面の表示が特別なシ ン ボルを使用す る よ う に変更 さ れ る だけで す。 こ のため、 コ ー ド を編集ま たは検索す る 場合は、 演算子を入力す る 必要があ り ます。 Source Insight ユーザー マニ ュ アル 第4章 構文フ ォ ーマ ッ ト と ス タ イル 演算子の置換 特別なシ ンボルを 使用 し て演算子を 表示で き ます。 ポ イ ン タ 逆参照右矢印 (->) や、 代入演算子 (=) の よ う な一般的な演算 子は、 矢印な ど のシ ン ボ リ ッ ク 演算子に置換で き ます。 た と えば、 下 記の内容の代わ り に、 装飾がオ ン の場合、 = と -> は矢印に置換 さ れます。 論理型、 数学、 その他の演算子 も 装飾シ ン ボルに置換で き ます。 入れ子の括弧 Source Insight は、 一致す る セ ッ ト が簡単に識別で き る よ う に、 入れ子 の括弧を異な る フ ォ ン ト で表示で き ます。 こ れは、 複数行にわた っ て、 機能 し ます。 Goto 矢印 「Goto 矢印」 は、 も う 1 つの便利な装飾です。 上矢印 と 下矢印は、 タ ーゲ ッ ト レベルの向 き を示す goto ス テー ト メ ン ト に表示 さ れます。 閉 じ 括弧の注釈 Source Insight では、 C/C++ お よ び Java コ ー ド の閉 じ 括弧 (}) に 「閉 じ 括弧」 注釈を自動的に追加で き ます。 入れ子の if、 while、 switch、 そ の他のブ ロ ッ ク を見 る と き に便利です。 構文フ ォ ーマ ッ ト の制御 コ ー ド の フ ォ ーマ ッ ト を多 く の方法で制御で き ます。 Source Insight ユーザー マニ ュ アル 109 Source Insight の概念 第4章 ス タ イル プ ロパテ ィ の変更 ス タ イルのフ ォー マ ッ ト を変更する には、 [Style Properties] コ マ ン ド を使用 し ます。 [Style Properties] コ マ ン ド を使用す る と 、 各ス タ イ ルの フ ォ ーマ ッ ト プ ロ パテ ィ を制御 Ý き ます。 独自の ス タ イ ルを追加 し て、 イ ン ポー ト お よ びエ ク ス ポー ト す る こ と も で き ます。 図 4.14 [Style Properties] ダ イ ア ロ グ ボ ッ ク ス で、 ユーザーはス タ イルの フ ォ ーマ ッ ト オプ シ ョ ン を編集で き ます。 [Syntax Formatting] コ マ ン ド [Syntax Formatting] ダ イ ア ログ ボ ッ ク スで、 ス タ イルの使用方 法を制御 し ます。 [Preferences: Syntax Formatting] コ マ ン ド を使用 し て、 適用す る 表示 フ ォ ーマ ッ ト を制御で き ます。 い く つかのオプシ ョ ン を無効にす る と 、 表示が速 く な り ます。 詳細は、 322 ページの 「Syntax Formatting」 を参 照 し て く だ さ い。 [Syntax Decorations] コ マ ン ド [Preferences: Syntax Decorations] コ マ ン ド を使用 し て、 許可す る 構文装 飾を制御で き ます。 構文フ ォ ーマ ッ ト を オ フ にする Source Insight の構文フ ォ ーマ ッ ト 機能は強力ですが、 単一フ ォ ン ト を 使用 し てい る と き にテ キ ス ト が別のエデ ィ タ や簡易表示モー ド で ど の よ う に表示 さ れ る か確認 し てお く 必要があ り ます。 110 Source Insight ユーザー マニ ュ アル 第4章 テキス ト の検索 と 置換 構文フ ォ ーマ ッ ト を一時的にオ フ にする フ ァ イルを一時的 に構文フ ォーマ ッ ト な し で確認する には、 [Draft View] コ マ ン ド を使用 し ます。 フ ァ イ ルを一時的に構文フ ォ ーマ ッ ト な し で確認す る 場合、 [View] > [Draft View] コ マ ン ド を使用 し ます。 ド ラ フ ト モー ド はデ ィ ス プ レ イ を基本的な等幅フ ォ ン ト に素早 く 切 り 替え る 際、 役に立ち ます。 こ れ は、 カ ラ ム を並べ る のに、 タ ブの代わ り に スペース を使 う 場合は特に、 役に立ち ます。 ド ラ フ ト モー ド が有効な場合、 [Preferences: Syntax Formatting] お よ び [Preferences: Syntax Decorations] ダ イ ア ロ グ ボ ッ ク ス の設定 よ り も 優先 さ れ ます。 フ ォ ン ト を変更 し ない フ ォ ン ト を変更 し ないで ( ま たは、 太字や斜体の よ う な フ ォ ン ト 装飾 を行わないで ) 色のみを変更す る には、 [Options] > [Preferences: Syntax Formatting] ダ イ ア ロ グ ボ ッ ク ス で [Use only color formatting] ボ ッ ク ス をチ ェ ッ ク し ます。 すべての文字を同 じ 幅にする すべての文字を同 じ 幅に し て フ ァ イ ルを表示す る には、 フ ァ イ ルを右 ク リ ッ ク し て、 [Document Options] を選択 し ます。 [Screen Fonts] ボ タ ン を ク リ ッ ク し て、 Courier New な ど の等幅フ ォ ン ト を選択 し ます。 も ち ろ ん、 その ド キ ュ メ ン ト タ イ プで使用 さ れてい る デフ ォ ル ト フ ォ ン ト を他の フ ォ ン ト に変更す る こ と も で き ます。 テキス ト の検索 と 置換 Source Insight には、 カ レ ン ト フ ァ イ ルや複数フ ァ イ ルのテ キ ス ト を検 索お よ び複数す る 多 く の コ マ ン ド が用意 さ れてい ます。 複数フ ァ イ ル を検索す る と き 、 ソ ース リ ン ク を使用 し て検索結果に素早 く リ ン ク で き ます。 検索はプ ロ グ ラ マに と っ て重要な処理です。 Source Insight は、 豊富な 機能に よ り 、 大量の ソ ース コ ー ド に取 り 組むユーザーを助け ます。 シ ンボル参照の検索 シ ンボルへの状況 依存参照を検索す るには、 [Lookup References] を使 用 し ます。 現在のプ ロ ジ ェ ク ト で現在選択 さ れてい る シ ン ボルへの参照を検索す る には、 [Lookup References] コ マ ン ド ([Ctrl]+[/]) を使用 し ます。 244 ページの 「Lookup References」 も 参照 し て く だ さ い。 た と えば、 「BeginPaint」 を ク リ ッ ク し 、 [Lookup References] コ マ ン ド を実行す る と 、 Source Insight は検索結果 ウ ィ ン ド ウ を開いて、 プ ロ ジ ェ ク ト で BeginPaint が使用 さ れてい る 場所をすべて リ ス ト し ます。 検索結果 ウ ィ ン ド ウ に リ ス ト さ れ る 一致行には、 検索 し た単語を含む行の場所 への ソ ース リ ン ク も あ り ます。 Source Insight ユーザー マニ ュ アル 111 Source Insight の概念 第4章 [Lookup References] コ マ ン ド は状況依存なので、 指定 さ れた コ ン テ キ ス ト 範囲で正確に一致す る 参照のみを検索 し ます。 識別子名の変更 シ ンボル名を状況 ( グローバルまた はローカル ) に依 存 し て変更するに は、 [Smart Rename] を使用 し ます。 ス マー ト 状況依存 メ ソ ッ ド を使用 し てすべてのプ ロ ジ ェ ク ト フ ァ イ ル の識別子を変更す る には、 [Smart Rename] コ マ ン ド ([Ctrl]+[']) を使用 し ます。 [Smart Rename] コ マ ン ド は、 状況依存形式のグ ロ ーバル検索 と 置換です。 307 ページの 「Smart Rename」 も 参照 し て く だ さ い。 Source Insight の検索 イ ンデ ッ ク ス で、 検索が非常に速 く な り ます。 こ れは単 一の単語識別子を新 し い文字列に置換す る 最 も 簡単な方法です。 検索 結果 ウ ィ ン ド ウ に置換情報の ロ グ を出力す る こ と も で き ます。 置換 さ れた行 と 、 変更 さ れた行への ソ ース リ ン ク が リ ス ト さ れ ます。 Smart Rename は、 ロ ーカル ス コ ープ変数の名前変更に も 便利です。 カ レ ン ト フ ァ イルの検索 [Search] コ マ ン ド は、 カ レ ン ト フ ァ イル バ ッ フ ァ を検 索 し ます。 [Search] コ マ ン ド ([Alt]+[F]) は、 検索パ タ ーン でカ レ ン ト フ ァ イ ルを 検索 し ます。 下方向ま たは上方向に検索で き ます。 さ ら に、 検索は バ ッ チ ス タ イ ルにで き ます。 検索結果は検索結果 ウ ィ ン ド ウ に表示 さ れます。 295 ページの 「Search」 も 参照 し て く だ さ い。 [Search Forward] コ マ ン ド (F4) は、 指定 さ れたパ タ ーン で、 フ ァ イ ルの 次の候補を検索 し ます。 [Search Forward for Selection] コ マ ン ド は、 現在の選択範囲にあ る 最初 の単語の次の候補を検索 し ます。 [Incremental Search] コ マ ン ド (F12) は、 入力 し た文字の一致を検索 し ま す。 216 ページの 「Incremental Search」 も 参照 し て く だ さ い。 カ レ ン ト フ ァ イルの置換 [Replace] コ マ ン ド を使用 し て、 検索パ タ ーン でカ レ ン ト フ ァ イ ルを検 索 し 、 既存パ タ ーン と 新規パ タ ーン を置換 し ます。 置換の範囲は、 フ ァ イ ル全体ま たは現在の選択範囲のみです。 284 ページの 「Replace」 も 参照 し て く だ さ い。 複数フ ァ イルの検索 [Search Files] コ マ ン ド は、 複数フ ァ イルで検索を行い ます。 112 すべてのプ ロ ジ ェ ク ト フ ァ イ ル、 非プ ロ ジ ェ ク ト フ ァ イ ルでパ タ ーン を検索す る には、 [Search Files] コ マ ン ド を使用 し ます。 297 ページの 「Search Files」 も 参照 し て く だ さ い。 検索す る フ ァ イ ルを指定で き る 点 を除けば、 [Search Files] コ マ ン ド は [Search] コ マ ン ド に似てい ます。 検索結果は検索結果 ウ ィ ン ド ウ に表示 さ れ ます。 検索結果には、 ソ ー ス リ ン ク と 呼ばれ る 非表示の情報 も 含まれ ます。 Source Insight ユーザー マニ ュ アル 第4章 正規表現 プ ロ ジ ェ ク ト 全体を単一の単語で参照す る 場合は、 [Lookup References] コ マ ン ド を使用す る ほ う が高速です。 244 ページの 「Lookup References」 も 参照 し て く だ さ い。 複数フ ァ イルの置換 [Replace Files] コ マ ン ド は、 複数 フ ァ イルで置換を 行います。 286 ページの 「Replace Files」 も 参照 し て く だ さ い。 置換す る フ ァ イ ル を指定で き る 点を除けば、 [Replace Files] コ マ ン ド は [Replace] コ マ ン ド に似てい ます。 複数フ ァ イ ルのシ ン ボル名を変更す る 場合は、 状況依存の [Smart Rename] コ マ ン ド を使用 し て く だ さ い。 307 ページの 「Smart Rename」 も 参照 し て く だ さ い。 キーワー ド の検索 [Search Project] コ マ ン ド は、 プ ロ ジ ェ ク ト 内を イ ン タ ーネ ッ ト ス タ イ ルで検索 し ます。 イ ン タ ーネ ッ ト の Web サ イ ト を検索す る よ う にプ ロ ジ ェ ク ト 内を検索 す る には、 [Search Project] コ マ ン ド を使用 し ます。 キー ワー ド 検索を 使用す る と 、 コ ン テ キ ス ト の指定 し た行の範囲内にあ る 用語の組み合 わせを検索で き ます。 301 ページの 「Search Project」 も 参照 し て く だ さ い。 正規表現 正規表現は複雑なパ タ ーンのマ ッ チン グに役立つ特殊な検索文字列で す。 正規表現では、 多 く の文字は特殊な意味を持ち ます。 た と えば、 「行頭」 と い う 意味の特殊文字があ り ます。 こ のセ ク シ ョ ン では、 Source Insight が認識で き る 特殊文字について説明 し ます。 ワ イル ド カ ー ド マ ッ チ ング .(dot) ド ッ ト (.) は、 すべての文字 と マ ッ チ し ます。 例 : b.g は、 big、 beg、 bag と マ ッ チ し ますが、 bp、 baag と はマ ッ チ し ません。 行頭または行末のマ ッ チ ング ^ および $ キ ャ レ ッ ト ^ が検索パ タ ーンの最初の文字 と し て現れた場合、 行頭 と マ ッ チ し ます。 例 : ^Hello は、 行頭に Hello が現れた と き のみマ ッ チ し ます。 $ は行末 と マ ッ チ し ます。 Source Insight ユーザー マニ ュ アル 113 Source Insight の概念 第4章 例 : TRUE$ は、 行末に TRUE が現れた と き のみマ ッ チ し ます。 タ グまたはスペースのマ ッ チ ング \t \s \w \t は、 単一 タ ブ文字 と マ ッ チ し ます。 例 : \tint abc; は、 int abc; が続 く タ ブ文字 と マ ッ チ し ます。 \s は、 単一スペース文字 と マ ッ チ し ます。 例 : \sif は、 if が続 く スペース と マ ッ チ し ます。 \w は、 単一空白文字 と マ ッ チ し ます。 つま り 、 \w は、 タ ブ文字ま たは スペース文字のいずれか と マ ッ チ し ます。 例 : \wwhile は、 while が続 く タ ブ ま たは スペース と マ ッ チ し ます。 0 または 1 回以上の繰 り 返 し マ ッ チ ング * および + * は、 先行す る 文字の 0 回以上の繰 り 返 し と マ ッ チ し ます。 先行す る 文字の繰 り 返 し 回数が 0 で も マ ッ チ し ます。 例 : a*b は、 b、 ab、 aab、 aaab、 aaaab、 ... と マ ッ チ し ます。 + は、 先行す る 文字の 1 回以上の繰 り 返 し と マ ッ チ し ます。 例 : a+b は、 ab、 aab、 aaab、 aaaab、 ... と マ ッ チ し ますが、 b と はマ ッ チ し ません。 文字セ ッ ト のマ ッ チ ング [ ..] 文字セ ッ ト が [..] で囲ま れてい る 場合、 セ ッ ト に含ま れてい る すべて の文字がマ ッ チ し ます。 例 : [abc] は、 a、 b、 c と マ ッ チ し ますが、 d と はマ ッ チ し ません。 セ ッ ト の先頭にキ ャ レ ッ ト (^) が追加 さ れ る と 、 セ ッ ト に含まれてい ない文字のみマ ッ チ し ます。 例 : [^abc] は、 d、 e、 f と マ ッ チ し ますが、 a、 b、 c と はマ ッ チ し ませ ん。 セ ッ ト は範囲の指定に便利です。 範囲は、 [a-z] の よ う に 2 つの文字 を ダ ッ シ ュ (-) で区切っ て指定 し ます。 最初の文字は、 最後の文字 よ り も ASCII 値で小 さ く なければな り ません。 例 : [a-z] は、 a か ら z のすべての文字 と マ ッ チ し ますが、 A、 1、 2 と はマ ッ チ し ません。 114 Source Insight ユーザー マニ ュ アル 第4章 正規表現 セ ッ ト に複数の範囲を含め る こ と がで き ます。 例 1: [a-zA-Z] は、 すべての英字 と マ ッ チ し ます。 例 2: [^a-zA-Z0-9] は、 すべての非英数字 と マ ッ チ し ます。 正規表現グループ \( お よ び \) 正規表現の一部を \( お よ び \) で囲んで、 グループにで き ます。 グ ループは、 置換パ タ ーン で使用 し たマ ッ チの一部を利用す る 際に便利 です。 パ タ ーン の各グループは、 左か ら 右に、 1 か ら 始ま る 数が割 り 当て ら れます。 例 : abc\(xyz\) は、 abcxyz と マ ッ チ し ます。 xyz はグループ #1 と 見な さ れ ます。 グループは、 [Replace] コ マ ン ド を使用す る と き に威力を発揮 し ます。 置換文字列に、 \< 数字 > 形式でグループ文字を指定で き ます。 グルー プ文字が置換パ タ ーン にマ ッ チす る こ と は、 マ ッ チ し たパ タ ーン か ら グループ値を置換す る こ と を意味 し ます。 例 1: \(abc\)\(xyz\) を \2\1 で置換。 マ ッ チ し た文字列 abcxyz を、 グループ #2 の内容 xyz、 グループ #1 の内容 abc の順に置換 し ます。 こ のため、 abcxyz は xyzabc に置換 さ れ ます。 驚 く のは こ れか ら です。 次 のサ ン プルを参照 し て く だ さ い。 例 2: \(\w+\)\(.*\)ing を \1\2ed で置換。 ing で終わ る 文字列を ed で終わ る 文字列に変更 し ます。 英語の先生には迷惑か も し れ ませんね。 正規表現文字の無効化 \ ( バッ ク ス ラ ッシュ ) メ タ 文字の前にあ る バ ッ ク ス ラ ッ シ ュ (\) はその特殊な意味を無効に し ます。 バ ッ ク ス ラ ッ シ ュ (\) は文字列か ら 無視 さ れ ます。 例 : a\*b は、 a*b と マ ッ チ し ます。 こ の場合、 * 文字に 「先行す る 文字 の 0 回以上の繰 り 返 し と マ ッ チす る 」 と い う 意味はあ り ません。 正規表現のま と め 以下の特殊文字は正規表現で解釈 さ れ ます。 表 4.3: 正規表現文字 文字 マ ッ チする対象 ^ ( 先頭にあ る 場合のみ ) 行頭 . すべての単一文字 [abc] セ ッ ト abc に属す る すべての単 一文字 Source Insight ユーザー マニ ュ アル 115 Source Insight の概念 第4章 表 4.3: 正規表現文字 文字 マ ッ チする対象 [^abc] セ ッ ト abc に属 さ ないすべての 単一文字 * 先行す る 文字の 0 回以上の繰 り 返し + 先行す る 文字の 1 回以上の繰 り 返し \t タブ \s スペース \w 空白 ( タ ブ ま たは スペース ) $ 行末 [abc] の よ う なセ ッ ト には、 以下の意味があ り ます。 表 4.4: 正規表現文字列 セ ッ ト の種類 意味 [< 文字 リ ス ト >] 例 : [abcde] セ ッ ト 内のすべての文字 と マ ッ チ し ます。 セ ッ ト の文字数に制 限はあ り ません。 [x-y] 例 : [a-z] x か ら y の範囲のすべての文字 と マ ッ チ し ます。 x の ASCII 値 は y の ASCII 値 よ り も 小 さ く な ければな り ません。 組み合わせ 例 : [WXYa-z0-9] 文字 リ ス ト と 範囲が組み合わ さ れます。 ブ ッ ク マー ク ブ ッ ク マー ク は、 フ ァ イ ルの特定の場所を マー ク し ます。 ブ ッ ク マー ク を設定お よ び削除、 ま たはブ ッ ク マー ク へジ ャ ン プす る には、 [Bookmark] コ マ ン ド を使用 し ます。 各マー ク には名前があ り 、 フ ァ イ ル と 行番号を指定 し ます。 [Bookmark] コ マ ン ド は、 マー ク があ る 関数 お よ びシ ン ボル も 表示 し ます。 ブ ッ ク マー ク は、 フ ァ イ ルの特定の場所を記録す る 際に便利です。 設 定 し たマー ク はカ レ ン ト ワ ー ク スペース に保存 さ れ、 セ ッ シ ョ ン か ら セ ッ シ ョ ンへ維持 さ れ ます。 ブ ッ ク マー ク は、 フ ァ イ ルの編集に応 じ て更新 さ れ ます。 た と えば、 あ る 行にマー ク を設定 し 、 その行の前に行を挿入 し た場合、 行番号が 変更 さ れて も マー ク はオ リ ジナル行に設定 さ れた ま ま です。 マー ク を 116 Source Insight ユーザー マニ ュ アル 第4章 選択履歴のナビゲーシ ョ ン 設定 し た行が削除 さ れ る か、 フ ァ イ ルが閉 じ ら れ る と 、 マー ク も 削除 さ れ ます。 選択履歴のナ ビゲーシ ョ ン 選択履歴は、 最近 ア ク セス し た位置 の循環 リ ス ト で す。 選択履歴は、 現在開いてい る フ ァ イ ルで最近選択 し た範囲 ( 最大 100) の循環 リ ス ト です。 選択履歴の位置を表示、 ま たは選択履歴の位置にジ ャ ン プす る には、 [Selection History] コ マ ン ド を使用 し ます。 [Selection History] コ マ ン ド は、 各履歴項目があ る 関数ま たはシ ン ボル、 フ ァ イ ルお よ び行番号 も 表示 し ます。 [Go Back] と [Go Forward] コ マ ン ド [Go Back] と [Go Forward] コ マ ン ド は、 イ ン タ ーネ ッ ト ブ ラ ウザのコ マ ン ド に似ていま す。 イ ン タ ーネ ッ ト ブ ラ ウ ザの [ 進む ] と [ 戻 る ] ボ タ ン の使い方を知っ て い る な ら 、 [Go Back] と [Go Forwards] コ マ ン ド も 簡単に使用で き ます。 [Go Back] と [Jump To Definition] コ マ ン ド を使用す る と 、 関数呼び出 し チ ェーン の移動や、 異な る 関数呼び出 し を含む別のパ スへの移動が簡 単にな り ます。 [Go Back] コ マ ン ド は、 選択履歴の前の場所にジ ャ ンプ し ます。 [Go Forward] コ マ ン ド は、 選択履歴の次の場所にジ ャ ン プ し ます。 選択履 歴は循環 リ ス ト です。 そのため、 リ ス ト の最後で [Go Forward] コ マ ン ド を使用す る と リ ス ト の先頭に、 リ ス ト の先頭で [Go Back] コ マ ン ド を使用す る と リ ス ト の最後にジ ャ ン プ し ます。 ソ ース リ ン ク を使用 し たナ ビゲーシ ョ ン ソ ース リ ン クは、 2 つのフ ァ イルの 2 つの行を接続 し ます。 ソ ース リ ン ク は、 2 つの異な る テ キ ス ト フ ァ イ ルの 2 つの場所を接続 し ます。 ソ ース リ ン ク は、 「 リ ン ク ソ ース」 フ ァ イ ルのテ キ ス ト の行 を 「 リ ン ク タ ーゲ ッ ト 」 フ ァ イ ルの場所に接続 し ます。 リ ン ク は個々 の行 と 関連付け ら れ ます。 ソ ース リ ン ク は、 カ レ ン ト ワー ク スペース の一部です。 リ ン ク を移動す る には、 [Jump To Link] コ マ ン ド を使用 し ます。 ソ ース リ ン ク の リ ン ク 先が表示 さ れ ます。 リ ン ク は、 ソ ース フ ァ イ ルが開い Source Insight ユーザー マニ ュ アル 117 Source Insight の概念 第4章 てい る 限 り 移動で き ます。 タ ーゲ ッ ト フ ァ イ ルが開いていない場合、 [Jump To Link] コ マ ン ド を使用す る と 自動的に フ ァ イ ルが開 き ます。 ソ ース リ ン ク は 2 つの場所を接続 し ます。 こ れら の リ ン クは検索結果 と 図 4.15 検索結果ウ ィ ン ド ウ と ソ ース リ ン ク の リ ン ク 先を示す ソ ース フ ァ イ ル ウ ィ ン ド ウ。 ソ ース リ ン ク は双方向の リ ン ク です。 そのため、 [Jump To Link] コ マ ン ド を使用 し て、 ソ ース か ら タ ーゲ ッ ト に、 ま たは タ ーゲ ッ ト か ら ソ ース に移動で き ます。 ま た、 リ ン ク 情報は、 ブ ッ ク マー ク の よ う に フ ァ イ ルの編集に応 じ て 更新 さ れ ます。 リ ン ク ソ ース行が削除 さ れ る か、 リ ン ク ソ ース フ ァ イ ルが閉 じ ら れ る と 、 リ ン ク も 削除 さ れます。 検索 と ソ ース リ ン ク [Search]、 [Search Files]、 お よ び [Lookup References] コ マ ン ド を使用 し て検索を実行す る と 、 検索結果 ウ ィ ン ド ウ の検索結果に ソ ース リ ン ク が含まれ ます。 リ ン ク ソ ース フ ァ イ ルは検索結果のテ ン ポ ラ リ フ ァ イ ルで、 各 リ ン ク の リ ン ク タ ーゲ ッ ト は検索 し た フ ァ イ ルでパ タ ーン が一致 し た場所です。 ソ ース リ ン ク はカ レ ン ト ワー ク スペース の一部です。 つま り 、 セ ッ シ ョ ン状態の一部です。 検索結果を新 し い フ ァ イ ル名で保存 し た場合、 ソ ース リ ン ク はカ レ ン ト ワー ク スペース に残 さ れます。 た と えば、 あ る パ タ ーン を検索 し て、 検索結果を S1.OUT に保存 し 、 次の検索を行 118 Source Insight ユーザー マニ ュ アル 第4章 ソ ース リ ン ク を使用 し たナビゲーシ ョ ン う と 、 S1.OUT と 検索結果に別の ソ ース リ ン ク が含まれ ます。 検索結 果 ウ ィ ン ド ウ を閉 じ る と 、 ソ ース リ ン ク は削除 さ れ ます。 ソ ース リ ン クの作成 [Parse Source Links] コ マ ン ド は、 カ レ ン ト フ ァ イル に ソ ース リ ン ク を 作成 し ます。 カ レ ン ト フ ァ イ ルに ソ ース リ ン ク を作成す る には、 [Parse Source Links] コ マ ン ド を使用 し ます。 [Parse Source Links] コ マ ン ド を使用す る には、 フ ァ イ ル名 と 行番号の解析に使用す る 検索パ タ ーン を指定す る 必要があ り ます。 パ タ ーンがマ ッ チす る たびに、 新規 ソ ース リ ン ク が カ レ ン ト フ ァ イ ルに挿入 さ れ ます。 [Parse Source Links] コ マ ン ド は、 コ ンパ イ ラ 出力お よ びエ ラ ー メ ッ セージ を含む 「 ロ グ」 フ ァ イ ルがあ る 場合に便利です。 ロ グ フ ァ イ ル を開いて、 [Parse Source Links] コ マ ン ド を実行す る だけです。 リ ン ク がエ ラ ー メ ッ セージ を含む ロ グ フ ァ イ ルの各行に設定 さ れます。 カ ス タ ム コ マ ン ド 出力から のソ ース リ ン ク カス タム コ マン ド 出力に、 エ ラ ーの ソ ース リ ン ク を含 める こ と がで き ま す。 カ ス タ ム コ マ ン ド の出力か ら ソ ース リ ン ク を作成で き ます。 コ マ ン ド を定義す る と き 、 「Parse Source Links」 オプシ ョ ンはオ ン です。 フ ァ イ ル名 と 行番号の解析に使用す る 検索パ タ ーン を指定す る 必要があ り ま す。 コ マ ン ド を終了す る と 、 Source Insight は [Go To First Link] コ マ ン ド を自動的に呼び出 し ます。 Source Insight か ら C コ ンパ イ ラ を呼び出す場合は、 こ の方法を推奨 し ます。 こ の方法を使用す る と 、 コ ンパ イ ラ を実行 し てエ ラ ーが発生 し た場合で も 、 Source Insight は C ソ ース行を表示で き ます。 ソ ース リ ン クの移動 Source Insight では、 リ ン ク 間の移動用に、 以下の コ マ ン ド が用意 さ れ てい ます。 表 4.5: ソ ース リ ン クの コ マ ン ド コマン ド キー 説明 Jump To Link Ctrl+L ソ ース リ ン ク の リ ン ク 先 へ移動 し ます。 Go To First Link Source Insight ユーザー マニ ュ アル リ ン ク ソ ース フ ァ イ ルの 最初の リ ン ク 行を選択 し 、 リ ン ク タ ーゲ ッ ト フ ァ イ ルの関連す る リ ン ク 行を 選択 し て、 両方の フ ァ イ ルを ウ ィ ン ド ウ に表示 し ます。 119 Source Insight の概念 第4章 表 4.5: ソ ース リ ン クの コ マ ン ド コマン ド キー 説明 Go To Next Link Shift+F9 リ ン ク ソ ース フ ァ イ ルの 次の リ ン ク を選択す る こ と を除 き 、 上記 と 同 じ で す。 Go To Previous Link リ ン ク ソ ース フ ァ イ ルの 前の リ ン ク にジ ャ ンプ し ます。 テキス ト のス ク ロール と 選択 選択範囲は、 ソ ース フ ァ イ ル ウ ィ ン ド ウ でハ イ ラ イ ト さ れてい る ゼ ロ ま たはそれ以上の文字です。 選択範囲のテ キ ス ト は、 「Selection」 ス タ イ ルでハ イ ラ イ ト さ れ ます。 ソ ース フ ァ イ ル ウ ィ ン ド ウ ご と に、 1 つの選択範囲があ り ます。 ウ ィ ン ド ウ を切 り 替え て も 、 各 ウ ィ ン ド ウ の選択範囲には影響 し ません。 選択範囲はキーボー ド と マ ウ ス で指定 し ます。 テ キ ス ト の選択に使用 す る コ マ ン ド は、 こ の後の表を参照 し て く だ さ い。 マ ウ ス を使用 し て テ キ ス ト を選択す る 場合は、 テ キ ス ト を ポ イ ン ト し て ド ラ ッ グ し ます。 マ ウ ス を ダブル ク リ ッ ク す る と 、 単語全体が選択 さ れます。 [Preferences: General] ダ イ ア ロ グ ボ ッ ク ス の [Keep cursor in window when paging up and down] オプシ ョ ン がオ ン の場合のみ、 ウ ィ ン ド ウ を ス ク ロ ールす る と 、 選択範囲が変更 さ れ ます。 こ のオプシ ョ ン がオ フ の場合は、 カー ソ ル移動キーを使用 し た場合、 マ ウ ス を使用 し てポ イ ン ト し た場合、 フ ァ イ ルを編集 し た場合のみ、 選択範囲が変更 さ れま す。 カ レ ン ト ウ ィ ン ド ウ と カ レ ン ト フ ァ イ ルの選択範囲は、 現在の選択範 囲 と し て参照 さ れ ます。 フ ァ イル内の移動 フ ァ イ ル内を移動す る コ マ ン ド はた く さ んあ り ます。 移動には、 選択 と ス ク ロ ールの 2 種類の移動があ る こ と に注意 し て く だ さ い。 選択 と は、 フ ァ イ ルの現在の選択範囲 ( 通常は挿入ポ イ ン ト ) を動か す こ と です。 ス ク ロ ール と は、 フ ァ イ ル ウ ィ ン ド ウ に フ ァ イ ルの ( ウ ィ ン ド ウ に表 示 さ れていなか っ た ) 新 し い部分が表示 さ れ る こ と です。 ウ ィ ン ド ウ は、 上下左右に ス ク ロ ールで き ます。 ス ク ロ ールは、 選択範囲の場所 に影響す る と は限 り ません。 120 Source Insight ユーザー マニ ュ アル 第4章 テキス ト のス ク ロール と 選択 選択 し てい る 場所が ウ ィ ン ド ウ に表示 さ れていない場合、 選択 コ マ ン ド を使用す る と 該当す る 場所に ス ク ロ ール し ます。 た と えば、 カー ソ ルが ウ ィ ン ド ウ の一番下の行にあ る と き 、 [Cursor Down] コ マ ン ド を使 用す る と 、 ウ ィ ン ド ウ は ス ク ロ ール し て下の行を表示 し ます。 ス ク ロール コ マ ン ド ス ク ロ ール コ マ ン ド はア ク テ ィ ブな ウ ィ ン ド ウ を ス ク ロ ール し ます。 現在の選択内容は影響を受け ません。 ウ ィ ン ド ウ のみ影響を受け ます。 表 4.6: ス ク ロール コ マ ン ド コマン ド キー 説明 Scroll Line Up Alt+Up 1 行上に ス ク ロ ール し ま す。 Scroll Line Down Alt+Down 1 行下に ス ク ロ ール し ま す。 Page Up PgUp 1 ウ ィ ン ド ウ上に ス ク ロ ール し ます。 Page Down PgDn 1 ウ ィ ン ド ウ下に ス ク ロ ール し ます。 Scroll Half Page Up Ctrl+PgUp ウ ィ ン ド ウ の半分上に ス ク ロ ール し ます。 Scroll Half Page Down Ctrl+PgDn ウ ィ ン ド ウ の半分下に ス ク ロ ール し ます。 Scroll Left Alt+Left 約 1 タ ブ左に ス ク ロ ー ル し ます 。 Scroll Right Alt+Right 約 1 タ ブ右に ス ク ロ ー ル し ます。 選択コ マ ン ド 選択 コ マ ン ド は現在の選択範囲を変更 し ます。 通常、 変更後の選択範 囲が ウ ィ ン ド ウ に表示 さ れていない場合、 選択範囲を表示す る よ う に ウ ィ ン ド ウ が ス ク ロ ール さ れ ます。 こ れ ら の コ マ ン ド は、 挿入ポ イ ン ト に選択範囲を変更 し て、 フ ァ イ ルの新 し い位置に移動 し ます。 表 4.7: カ ー ソ ル移動コ マ ン ド コマン ド キー 説明 Cursor Down ↓ 1 行下に移動 し ます。 Cursor Up ↑ 1 行上に移動 し ます。 Cursor Left ← 1 文字左に移動 し ます。 Cursor Right → 1 文字右に移動 し ます。 Source Insight ユーザー マニ ュ アル 121 Source Insight の概念 第4章 表 4.7: カ ー ソ ル移動コ マ ン ド コマン ド キー 説明 Beginning of Line Home 行頭に移動 し ます。 End of Line End 行末に移動 し ます。 Top of File Ctrl+Home フ ァ イ ルの先頭に移動 し ま す。 Bottom of File Ctrl+End フ ァ イ ルの最後に移動 し ま す。 Beginning of Selection Ctrl+Alt+[ 選択範囲の先頭に移動 し ま す。 End of Selection Ctrl+Alt+] 選択範囲の最後に移動 し ま す。 Top of Window ウ ィ ン ド ウ の先頭に移動 し ます。 Bottom of Window ウ ィ ン ド ウ の最後に移動 し ます。 Word Left Ctrl+Left 1 単語左に移動 し ます。 Word Right Ctrl+Right 1 単語右に移動 し ます。 Function Down Keypad + 次の関数定義に移動 し ま す。 Function Up Keypad - 前の関数定義に移動 し ま す。 Blank Line Down 次の空白行に移動 し ます。 Blank Line Up 前の空白行に移動 し ます。 Paren Left Ctrl+9 前の括弧に移動 し ます。 Paren Right Ctrl+0 次の括弧に移動 し ます。 Blank Line Up 前の空白行に移動 し ます。 Blank Line Up 122 前の空白行に移動 し ます。 Block Up Ctrl+Shift+[ 前の { ブ ロ ッ ク レベルに移 動 し ます。 Block Down Ctrl+Shift+] 次の { ブ ロ ッ ク レベルに移 動 し ます。 Go To Line F5、 Ctrl+G 指定 し た行番号に移動 し ま す。 Search Ctrl+F パ タ ーン を検索 し ます。 Search Forward F4 次の候補を検索 し ます。 Search Backward F3 前の候補を検索 し ます。 Source Insight ユーザー マニ ュ アル 第4章 テキス ト のス ク ロール と 選択 表 4.7: カ ー ソ ル移動コ マ ン ド コマン ド キー 説明 Search Forward for Selection Shfit+F4 カー ソ ルがあ る 単語の次の 候補を検索 し ます。 Selection History Ctrl+Shift+M 過去の選択範囲の リ ス ト を 表示 し ます。 選択範囲の拡張 以下の コ マ ン ド は、 範囲の選択 ( 選択範囲の作成 ) ま たは選択範囲の 拡張に使用 し ます。 キース ト ロ ー ク はデフ ォ ル ト です。 表 4.8: 選択コ マ ン ド コマン ド キー 説明 Select All Ctrl を押 し た ま ま左 の選択バーを マ ウ ス でク リ ッ ク フ ァ イ ル全体を選択 し ます。 Select Block Ctrl+- 中括弧ま たは括弧で 閉 じ た次のブ ロ ッ ク を選択 し ます。 Select Function Or Symbol ウ ィ ン ド ウ の左の選 択 oーを ダブル ク リック シ ン ボル定義全体を 選択 し ます。 Select Char Left Shift+Left 選択範囲を 1 文字左 に拡張 し ます。 Select Char Right Shift+Right 選択範囲を 1 文字右 に拡張 し ます。 Select Line Shift+F6 行全体を選択 し ま す。 Select Line Down Shift+Down 選択範囲を 1 行下に 拡張 し ます。 Select Line Up Shift+Up 選択範囲を 1 行上に 拡張 し ます。 Select Match Alt+= 対応す る 中括弧、 括 弧ま たは引用符ま で 選択 し ます。 Select Sentence Shift+F7、 Ctrl+. 文全体 ( 次の ピ リ オ ド ま で ) を選択 し ま す。 Select Word Shift+F5、 単語全体を選択 し ま す。 ダブル ク リ ッ ク Source Insight ユーザー マニ ュ アル 123 Source Insight の概念 第4章 表 4.8: 選択コ マ ン ド コマン ド キー 説明 Select Word Left Ctrl+Shift+Left 左に単語単位で選択 範囲を拡張 し ます。 Select Word Right Ctrl+Shift+Right 右に単語単位で選択 範囲を拡張 し ます。 Select To Shift を押 し た ま ま ク リック カー ソ ルの位置ま で 選択範囲を拡張 し ま す。 Select To Top Of File Shift+Home フ ァ イ ルの先頭ま で 選択 し ます。 Select To End Of File Shift+End フ ァ イ ルの最後ま で 選択 し ます。 Select To End Of Line カ レ ン ト 行の行末ま で選択 し ます。 Toggle Extend Mode オンの場合、 移動 キーで選択範囲を拡 張 し ます。 [Toggle Extend Mode] コ マ ン ド は、 拡張モー ド のオ ン、 オ フ を切 り 替え ます。 拡張モー ド がオ ンの場合に、 [Cursor Left] の よ う な移動 コ マ ン ド を使用す る と 、 現在の選択範囲がその方向に拡張 さ れ ます。 98 ページの 「解析機能」 も 参照 し て く だ さ い。 選択シ ョ ー ト カ ッ ト Source Insight には、 ソ ース コ ー ド 内のオブジ ェ ク ト を選択す る 多 く の シ ョ ー ト カ ッ ト が用意 さ れてい ます。 Source Insight の ソ ース フ ァ イ ル ウ ィ ン ド ウ の左には、 「選択バー」 が あ り ます。 シ ョ ー ト カ ッ ト の多 く は、 選択バーを ク リ ッ ク し て実行で き ます。 単語全体の選択 単語全体を選択す るには、 単語を ダ ブルク リ ッ ク し ま す。 単語全体を選択す る には、 単語を ダブル ク リ ッ ク し ます。 選択範囲を ド ラ ッ グ し て単語全体を選択す る こ と も で き ます。 関数全体を選択す るには、 左の選択 バーを ダブルク リ ッ ク し ます。 関数全体、 構造体、 その他のシ ン ボルを選択す る には、 ソ ース フ ァ イ ル ウ ィ ン ド ウ の選択バーを ダブル ク リ ッ ク し ます。 Source Insight は、 ド ラ ッ グ し た関数全体ま たはシ ン ボルを選択 し ます。 124 関数全体またはシ ンボルの選択 [Select Symbol] コ マ ン ド を使用 し て、 現在の選択範囲を囲むシ ン ボル を選択す る こ と も で き ます。 Source Insight ユーザー マニ ュ アル 第4章 テキス ト のス ク ロール と 選択 ( ソ ース フ ァ イ ル ウ ィ ン ド ウ の左にあ る ) シ ン ボル ウ ィ ン ド ウ も シ ン ボル全体の選択に使用で き ます。 リ ス ト でエ ン ト リ を ダブル ク リ ッ ク す る と 、 シ ン ボルが選択 さ れ ます。 対応する括弧 と ブ ロ ッ ク の選択 対応する括弧また は引用符まで選択 するには、 選択範 囲を ダブルク リ ッ ク するか、 [Alt]+[=] キーを押 し ます。 対応す る 括弧ま たは引用符ま で選択す る には、 括弧ま たは引用符を ダ ブル ク リ ッ ク し ます。 Source Insight が該当す る 範囲を選択 し ます。 [Select Match] コ マ ン ド ([Alt]+[=]) を使用 し て対応す る 括弧ま で選択す る こ と も で き ます。 囲みブ ロ ッ ク の選択 [Select Block] コ マ ン ド ([Ctrl]+[-]) は、 囲みブ ロ ッ ク を選択 し ます。 囲 みブ ロ ッ ク と は括弧、 中括弧、 ま たは大括弧のいずれかで囲まれてい る ブ ロ ッ ク です。 こ の コ マ ン ド を繰 り 返す と 、 次の外側の囲みブ ロ ッ ク が選択 さ れ ます。 行全体の選択 テ キ ス ト の行全体を選択す る には、 選択バーを ク リ ッ ク し ます。 テ キ ス ト の行全体が選択 さ れます。 マ ウ ス のボ タ ン を押 し た ま ま ド ラ ッ グ す る と 、 行全体が選択 さ れます。 [Select Line] コ マ ン ド ([Shift]+[F6]) も 行全体を選択 し ます。 フ ァ イル全体の選択 フ ァ イ ル全体を選択す る には、 [Ctrl] キーを押 し た ま ま で左の余白を マ ウ ス で ク リ ッ ク し ます。 ま たは、 [Select All] コ マ ン ド ([Ctrl]+[A]) を使 用 し ます。 テキス ト の段落の選択 言語パーサーがない フ ァ イ ル (194 ページの 「Document Options」 を参 照 ) では、 選択バーを ダブル ク リ ッ ク し て テ キ ス ト の段落全体を選択 で き ます。 段落は、 黒線で囲まれたテ キ ス ト 行のグループ と し て定義 さ れ ます。 行間の選択 Source Insight では、 カー ソ ルが行の先頭の近 く 、 ま たはその上下にあ る と き に表示 さ れ る 、 く さ び型のカー ソ ルを使用 し て行間を選択で き ます。 マ ウ ス で く さ び型のカー ソ ルを ク リ ッ ク す る と 、 Source Insight は行間を選択 し ます。 入力を開始す る と 、 Source Insight は最初に改行 を自動的に挿入 し ます。 こ れは新 し い行を挿入す る 便利な方法です。 Source Insight ユーザー マニ ュ アル 125 Source Insight の概念 第4章 フ ァ イル バ ッ フ ァ について [Open] コ マ ン ド は フ ァ イルを作業 「バ ッ フ ァ 」 に ロー ド し ます。 [Save] コ マ ン ド は、 オ リ ジナル フ ァ イルを上書き し ます。 [File] > [Open] コ マ ン ド は、 デ ィ ス ク 上の フ ァ イ ルを開いて、 フ ァ イ ル バ ッ フ ァ に ロ ー ド し ます。 フ ァ イ ル バ ッ フ ァ は編集可能な フ ァ イ ルの テ ン ポ ラ リ イ メ ージです。 [Save] コ マ ン ド を使用 し て フ ァ イ ルを保存 す る ま で、 オ リ ジナル フ ァ イ ルに影響を及ぼす こ と な く 、 フ ァ イ ル バ ッ フ ァ を編集で き ます。 [File] > [Save] コ マ ン ド は、 フ ァ イ ル バ ッ フ ァ の内容を オ リ ジナル フ ァ イ ルに上書 き し ます。 オ リ ジナル フ ァ イ ルが変更 さ れ る のは、 こ の場 合だけです。 Temp File & Memory Edits Source Insight Open Save File on Disk 図 4.16 開 く と 保存 オ リ ジナル フ ァ イ ルはフ ァ イルを保 存する まで変更 さ れません。 フ ァ イ ルを閉 じ る と 、 フ ァ イ ル バ ッ フ ァ の内容は破棄 さ れ ます。 デ ィ ス ク 上のオ リ ジナル フ ァ イ ルは [Save] コ マ ン ド を使用 し ない限 り 変更 さ れ ません。 フ ァ イ ルが保存 さ れ る ま で、 すべての変更はテ ン ポ ラ リ フ ァ イ ル バ ッ フ ァ に記録 さ れます。 フ ァ イ ルが保存 さ れ る と 、 新規フ ァ イ ルが作成 さ れ、 オ リ ジナル フ ァ イ ルは削除 さ れ る か、 バ ッ ク ア ッ プ デ ィ レ ク ト リ に移動 さ れ ます。 い っ たん新規フ ァ イ ルがデ ィ ス ク に書 き 込ま れ る と 、 フ ァ イ ルの名前がオ リ ジナル フ ァ イ ルの名前に戻 さ れます。 保存 さ れ る ま でオ リ ジナル フ ァ イ ルが変更 さ れないため、 Source Insight で は安全に フ ァ イ ルを変更す る こ と がで き ます。 フ ァ イ ル編集時に フ ァ イ ル バ ッ フ ァ の使用を考慮す る 必要はあ り ませ ん。 こ のマニ ュ アルでは、 「開いてい る フ ァ イ ル」 と い う 記述はフ ァ イ ル バ ッ フ ァ を意味 し てい ます。 Source Insight は、 開いてい る フ ァ イ ル と オ リ ジナルのベース フ ァ イ ル間の関係を維持 し ます。 こ のため、 [Open] コ マ ン ド は、 フ ァ イ ル と 無関係なバ ッ フ ァ にオ リ ジナル フ ァ イ 126 Source Insight ユーザー マニ ュ アル 第4章 フ ァ イル バ ッ フ ァ について ルを コ ピーす る コ マ ン ド ではな く 、 オ リ ジナル フ ァ イ ルを開いて編集 す る コ マ ン ド と 見な さ れます。 [Save] コ マ ン ド は、 オ リ ジナル フ ァ イ ル と 編集 し た フ ァ イ ルの同期 と 見なす こ と がで き ます。 Source Insight は、 Source Insight は、 ASCII フ ァ イ ルの編集に使用 し ます。 非 ASCII フ ァ テキス ト フ ァ イル イ ルを編集す る よ う には設計 さ れてい ません。 し か し 、 非 ASCII フ ァ の編集に使用 し ま イ ルを開 く こ と はで き ます。 非 ASCII 文字が含まれてい る 場合、 す。 Source Insight はフ ァ イ ルを保存す る 前に、 本当に保存 し て も いいか ど う か確認 し ます。 Source Insight は、 CR/LF シーケ ン ス を行末マーカ と し て扱い、 CR/LF シーケ ン ス を含むフ ァ イ ルを保存す る 場合は常に確 認 し ます。 Source Insight のアプ リ ケーシ ョ ン ウ ィ ン ド ウ に フ ァ イ ルを ド ラ ッ グ ア ン ド ド ロ ッ プ し て、 さ ま ざ ま な種類の フ ァ イ ルを仮想的に開 く こ と も で き ます。 通常のテ キ ス ト フ ァ イ ルに加え て、 プ ロ ジ ェ ク ト フ ァ イ ル (.PR)、 設定フ ァ イ ル (.CF3)、 ワー ク ス ペース フ ァ イ ル (.WK3)、 お よ び ク リ ッ プ フ ァ イ ル (.CLI) を開 く こ と がで き ます。 タ イムス タ ン プ フ ァ イルの タ イム ス タ ン プ と サイズ は、 「署名」 と し て使用 さ れます。 Source Insight で フ ァ イ ルを保存す る と 、 Source Insight はプ ロ ジ ェ ク ト に フ ァ イ ルの更新日時を記録 し ます。 プ ロ ジ ェ ク ト フ ァ イ ルを開 く と き 、 フ ァ イ ルの変更日時がプ ロ ジ ェ ク ト に記録 さ れてい る 日時 よ り 新 し い場合、 Source Insight はフ ァ イ ルのプ ロ ジ ェ ク ト シ ン ボル デー タ ベース を再同期 し ます。 自動的に同期す る こ と で、 ユーザーが別のテ キ ス ト エデ ィ タ や ソ ース管理シ ス テ ム を使用 し た場合で も 、 Source Insight のプ ロ ジ ェ ク ト デー タ ベース が最新の状態に保たれます。 319 ページの 「Synchronize Files」 も 参照 し て く だ さ い。 Source Insight 起動時の状態 Source Insight は、 起動後に まずレ ジ ス ト リ を調べて、 開 く プ ロ ジ ェ ク ト を確認 し ます。 次に、 プ ロ ジ ェ ク ト を開 き 、 プ ロ ジ ェ ク ト の設定 と ワ ー ク スペース を ロ ー ド し ます。 ワー ク スペース を ロ ー ド す る と 、 以 前開かれていた フ ァ イ ルがすべて、 再度開かれ ます。 フ ァ イ ル名を コ マ ン ド ラ イ ン で指定 し た場合、 ワー ク スペース に リ ス ト さ れてい る フ ァ イ ルは再度開かれ ません。 プ ロ ジ ェ ク ト が開かれ る と 、 現在の作業デ ィ レ ク ト リ がプ ロ ジ ェ ク ト の ソ ース デ ィ レ ク ト リ に変更 さ れ ます。 Source Insight ユーザー マニ ュ アル 127 Source Insight の概念 第4章 ク ラ ッ シ ュか らの リ カバ リ リ カバ リ フ ァ イル は編集中にバ ッ ク グ ラ ウン ド で保存 さ れます。 一定間隔ご と に、 保存 し ていない編集項目はテ ン ポ ラ リ リ カバ リ フ ァ イ ルに保存 さ れます。 こ の保存処理は非常に高速に行われ、 通常は気 づ く こ と はあ り ません。 作業を中断 さ れ る 心配はあ り ません。 リ カバ リ フ ァ イ ルには、 他の フ ァ イ ルへのポ イ ン タ のみ保存 さ れ ま す。 こ のため、 書 き 込み作業は非常に高速です。 編集内容を徐々に リ カバ リ フ ァ イ ルに保存す る こ と で、 Source Insight はシ ス テ ム障害、 停 電、 ま たは ク ラ ッ シ ュ に対処 し ます。 Source Insight は、 次回の起動時 に リ カバ リ が必要か ど う か認識 し ます。 リ カバ リ フ ァ イル [Preferences: General] コ マ ン ド で リ カバ リ フ ァ イ ルの保存間隔を設定で の保存間隔は、 き ます。 リ カバ リ 時間は秒単位で指定で き ます。 デフ ォ ル ト 値は 15 秒 [Preferences: です。 こ の値 よ り も 短 く 設定す る と 、 リ カバ リ フ ァ イ ルの更新頻度は General] で設定 し 高 く な り ます。 こ の値 よ り も 長 く 設定す る と 、 リ カバ リ フ ァ イ ルの更 ます。 新頻度は低 く な り ます。 設定時間を長 く し すぎ る と 、 リ カバ リ フ ァ イ ルに変更を記録 し ないで、 フ ァ イ ルに変更を加え る こ と がで き ます。 な る べ く 短い間隔を設定 し て く だ さ い。 し か し 、 リ カバ リ フ ァ イ ルの 更新頻度が高ければ高いほ ど、 Source Insight のパフ ォ ーマ ン ス は低下 し ます。 高速なマシ ン では数秒で更新が完了す る ため、 それほ ど気に な り ません。 リ カバ リ 手順 オー フ ァ ン リ カバ リ フ ァ イルはク ラ ッ シ ュが発生 し た こ と を示 し ま す。 フ ァ イ ルを保存す る 前に ク ラ ッ シ ュ が発生 し た場合、 Source Insight を 再起動 し て く だ さ い。 Source Insight は、 オーフ ァ ン リ カバ リ フ ァ イ ル を使用 し て、 フ ァ イ ルに対 し て行われた変更を認識 し ます。 ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ、 前回の Source Insight のセ ッ シ ョ ン が正常に終 了 し なか っ た こ と を知 ら せます。 3 つのオプシ ョ ン があ り ます。 • [Recover] ボ タ ン を ク リ ッ ク する 。 Source Insight は、 過去に開かれ た フ ァ イ ルをすべて リ カバ リ し ます。 リ カバ リ 後、 セ ッ シ ョ ン は リ カバ リ フ ァ イ ルが最後に同期 さ れた と き と 同 じ に よ う に見 え ます。 保存 さ れなか っ た編集はすべてその ま ま です。 ( ま たは ) • [Continue] ボ タ ン を ク リ ッ ク する 。 Source Insight は、 リ カバ リ し な いで処理を続行 し ます。 続行後に リ カバ リ す る こ と はで き ませ ん。 ( ま たは ) • 128 [Quit] ボ タ ン を ク リ ッ ク する 。 Source Insight は、 リ カバ リ し ないで 直ちに処理を終了 し ます。 再度 Source Insight を実行すれば、 リ カバ リ す る こ と は可能です。 Source Insight ユーザー マニ ュ アル 第4章 コ マ ン ド ラ イ ンの構文 リ カバ リ が行われ る と 、 Source Insight は編集セ ッ シ ョ ン の途中か ら 再 開 し ます。 以前開かれていたすべての フ ァ イ ルが開かれ、 以前編集 し ていた内容がその ま ま表示 さ れ ます。 リ カバ リ 後、 通常通 り 編集を続 行で き ます。 終了す る と 、 それ ま でに変更 し た フ ァ イ ルが保存 さ れ ま す。 警告 保存する前に リ カ バ リ の結果を確認 し て く だ さ い。 Source Insight の リ カバ リ シ ス テ ムは非常に優れてい ますが、 リ カバ リ シ ス テ ムは複雑なシ ス テ ム です。 脆弱性が存在す る 可能性は常にあ り ます。 リ カバ リ が必要にな る のは、 ハー ド ウ ェ ア障害、 停電、 Source Insight が原因で発生 し たプ ロ グ ラ ムの不具合、 Source Insight その も の の不具合な ど の、 異常な状況です。 理由が何であれ、 フ ァ イ ルを保存 す る 前に リ カバ リ し た フ ァ イ ルを確認 し て問題がない こ と を確かめ る こ と を推奨 し ます。 Source Insight の リ カバ リ フ ァ イ ルの一部ま たは全 部が壊れていた り 、 リ カバ リ フ ァ イ ルの更新中に問題が発生 し た場 合、 Source Insight は フ ァ イ ルを正 し く リ カバ リ で き ません。 リ カバ リ が正 し く 行われなか っ た場合、 フ ァ イ ルを保存 し ないで く だ さ い。 フ ァ イ ルを保存 し ないで閉 じ 、 オ リ ジナルの保存 し ていない フ ァ イ ル を使用 し て く だ さ い。 リ カバ リ で き なか っ た変更は保存 さ れてい ませ んが、 フ ァ イ ルは正常です。 メモ : リ カバ リ を行 う には、 以前開いたオ リ ジナル フ ァ イ ルが ま だ存在 し ていて、 Source Insight で開いた後、 ま たは保存 し た後に変更 さ れてい ない必要があ り ます。 リ カバ リ を行 う 必要があ る 場合は、 オ リ ジナル フ ァ イ ルを変更す る 前に行っ て く だ さ い。 コ マ ン ド ラ イ ンの構文 Source Insight の コ マ ン ド ラ イ ン の構文は以下の と お り です。 insight3 [- オプシ ョ ン ] [ [+ 行番号 フ ァ イル ] [+ フ ァ イル ] [ フ ァ イル ] [ シンボル名 ] ] 大括弧 […] で囲まれてい る のはオプシ ョ ン パ ラ メ ー タ です。 任意の数 のオプシ ョ ン、 フ ァ イ ル、 お よ びシ ン ボル名を コ マ ン ド ラ イ ン で指定 で き ます。 コ マ ン ド ラ イ ン で指定す る オプシ ョ ンの前には、 ダ ッ シ ュ (-) ま たは 右上が り ス ラ ッ シ ュ (/) を記述す る 必要があ り ます。 Source Insight ユーザー マニ ュ アル 129 Source Insight の概念 第4章 フ ァ イルの引数の指定 フ ァ イ ルの引数は、 以下の種類の 1 つにな り ます。 • フ ァ イ ル名。 Source Insight では、 フ ァ イ ルの拡張子を省略で き ます。 こ の場合、 Source Insight はカ レ ン ト プ ロ ジ ェ ク ト 内で入 力 し た フ ァ イ ル名 (< フ ァ イ ル名 >.*) と 一致す る フ ァ イ ルを検索 し ます。 同 じ 名前の フ ァ イ ルが複数存在す る 場合、 フ ァ イ ルを 選択す る リ ス ト が表示 さ れます。 • シ ン ボル名。 Source Insight はフ ァ イ ル名を シ ン ボル と し て扱 う ため、 各フ ァ イ ル引数はシ ン ボル と し て見なす こ と がで き ます。 Source Insight は、 シ ン ボルが含まれ る フ ァ イ ルを開 き 、 その場 所にジ ャ ン プ し ます。 任意の数のシ ン ボルを指定で き ます。 シ ン ボル名が ( 拡張子を除 く ) フ ァ イ ル名、 ま たは他のシ ン ボル と 重複 し てい る 場合、 シ ン ボルを選択す る リ ス ト が表示 さ れ ます。 • ワ ー ク スペース フ ァ イ ルの名前 ( 拡張子 .WK3)。 Source Insight は、 ワ ー ク スペース に含まれ る フ ァ イ ルをすべて開 き ます。 • 設定フ ァ イ ルの名前 ( 拡張子 .CF3)。 Source Insight は、 指定 さ れ た設定フ ァ イ ルを ロ ー ド し ます。 フ ァ イルを開 く Source Insight の コ マ ン ド ラ イ ン では、 フ ァ イ ルを開 く と き に以下のオ プシ ョ ン を指定で き ます。 フ ァ イ ル名の前にオプシ ョ ン でプ ラ ス記号 (+) と 行番号を指定す る と 、 フ ァ イ ルを開いた と き にその行が表示 さ れ ます。 例: insight3 +100 file.c FILE.C を開 き 、 100 行目を表示 し ます。 フ ァ イ ル名の前にオプシ ョ ン でプ ラ ス記号 (+) のみを指定す る と 、 カ レ ン ト ワー ク スペース で開いてい る フ ァ イ ルに加え て、 指定 し た フ ァ イ ルを開 き ます。 例: insight3 +file.c カ レ ン ト ワ ー ク スペース で開いてい る すべての フ ァ イ ルに加え て、 FILE.C を開 き ます。 プ ラ ス記号な し で フ ァ イ ルを指定 し た場合、 カ レ ン ト ワー ク スペース で開かれていた フ ァ イ ルは閉 じ ら れ、 コ マ ン ド ラ イ ン で指定 し た フ ァ イ ルのみ開かれ ます。 130 Source Insight ユーザー マニ ュ アル 第4章 コ マ ン ド ラ イ ンの構文 例: insight3 file.c other.c FILE.C と OTHER.C のみを開 き ます。 カ レ ン ト ワー ク スペース でそれ ま で開かれていた フ ァ イ ルは閉 じ ら れ ます。 フ ァ イルの検索方法 コ マ ン ド ラ イ ン で相対フ ァ イ ル パ ス を指定 し た場合、 Source Insight は 最初に Source Insight を開始 し たデ ィ レ ク ト リ に対す る 相対フ ァ イ ルを 検索 し ます。 フ ァ イ ルが見つか ら ない場合、 プ ロ ジ ェ ク ト を開いて、 プ ロ ジ ェ ク ト の フ ァ イ ル リ ス ト の フ ァ イ ルを検索 し ます。 つま り 、 任意のデ ィ レ ク ト リ で Source Insight を開始で き ます。 指定 し た フ ァ イ ルがカ レ ン ト プ ロ ジ ェ ク ト に含ま れていれば、 Source Insight はその フ ァ イ ルを検索 し ます。 ス タ ー ト ア ッ プ デ ィ レ ク ト リ ( ま たは 相対デ ィ レ ク ト リ ) に同 じ 名前の フ ァ イ ルがあ る 場合、 Source Insight はその フ ァ イ ルを開 き ます。 ワー ク スペース を開 く 通常のテ キ ス ト フ ァ イ ルに加え て、 Source Insight の ワー ク スペース フ ァ イ ルの名前 も 指定で き ます。 例: insight3 myset.wk3 ワ ー ク スペース フ ァ イ ル myset.wk3 のすべての フ ァ イ ルを開 き ます。 通常の フ ァ イ ル名 と ワ ー ク スペース フ ァ イ ルを指定す る こ と も で き ま す。 例: insight3 +100 file.c myset.vw print.c myset2.wk3 フ ァ イ ル と ワー ク スペース フ ァ イ ルの両方を開 き ます。 コ マ ン ド ラ イ ン オプ シ ョ ン Source Insight の コ マ ン ド ラ イ ン では、 以下のオプシ ョ ン を指定で き ま す。 新規プ ロ グ ラ ム イ ン ス タ ン スの抑制 -i < コマン ド ラ イ ンの残 り > 既に実行 し てい る Source Insight の イ ン ス タ ン ス に、 コ マ ン ド ラ イ ン の 残 り を指示 し ます。 実行 し てい る イ ン ス タ ン ス がない場合、 新規 イ ン ス タ ン ス が開始 さ れ ます。 Source Insight ユーザー マニ ュ アル 131 Source Insight の概念 第4章 例: insight3 –i myfile.cpp 既に実行 し てい る Source Insight の イ ン ス タ ン ス に、 myfile.cpp を開 く よ う に指示 し ます。 Source Insight コ マ ン ド の実行 -c < コマン ド 名 > Source Insight を開始 し て、 指定 さ れた コ マ ン ド を実行 し ます。 ビル ト イ ン コ マ ン ド 、 定義 さ れた カ ス タ ム コ マ ン ド 、 ま たはマ ク ロ コ マ ン ド です。 開 く プ ロ ジ ェ ク ト の指定 -p < プロ ジ ェ ク ト 名 > カ レ ン ト プ ロ ジ ェ ク ト を閉 じ て、 指定 さ れたプ ロ ジ ェ ク ト を開 き ま す。 プ ロ ジ ェ ク ト が存在 し ない場合、 Source Insight はエ ラ ー メ ッ セー ジ を表示 し ます。 例: insight3 -p myproj カ レ ン ト プ ロ ジ ェ ク ト を閉 じ る -pc カ レ ン ト プ ロ ジ ェ ク ト を閉 じ ます。 他のプ ロ ジ ェ ク ト は開かれ ませ ん。 例: insight3 -pc テ ンポ ラ リ プ ロ ジ ェ ク ト の使用 -pt < プロ ジ ェ ク ト 名 > カ レ ン ト プ ロ ジ ェ ク ト を閉 じ て、 指定 さ れたプ ロ ジ ェ ク ト を開 き ま す。 -p オプシ ョ ン と は異な り 、 次回 Source Insight を実行す る と き 、 旧 カ レ ン ト プ ロ ジ ェ ク ト が開かれ ます。 カ レ ン ト プ ロ ジ ェ ク ト を変更 し ないでバ ッ チ フ ァ イ ルに Source Insight の コ マ ン ド を追加す る 場合に便 利です。 132 Source Insight ユーザー マニ ュ アル 第4章 ユーザーレ ベル コ マ ン ド 例: insight3 -pt mail シ ンボルの検索 -f <symbol_name> symbol_name で指定 さ れたシ ン ボル名を検索 し 、 フ ァ イ ルを開いて、 シ ン ボルの挿入ポ イ ン ト に移動 し ます。 シ ン ボルが見つか ら ない場 合、 Source Insight はエ ラ ー メ ッ セージ を表示 し ます。 こ の コ マ ン ド は、 フ ァ イ ルではな く 解析 し たシ ン ボルを検索 し てい る こ と を Source Insight に明示的に知 ら せ る ため、 フ ァ イ ル名の代わ り にシ ン ボルを指 定す る こ と と は違い ます。 例: insight3 -f DoIdle プ ロ ジ ェ ク ト フ ァ イ ルの同期 -u Source Insight の起動時にすべてのプ ロ ジ ェ ク ト フ ァ イ ルを更新 し ま す。 [Project] メ ニ ュ ーで [Synchronize Files] コ マ ン ド を使用す る こ と と 同 じ です。 例: insight3 -u バ ッ チ モー ド でのフ ァ イルの同期 -ub Source Insight が フ ァ イ ルを更新 し た後に終了す る こ と を除いて、 -u と 同 じ です。 こ の コ マ ン ド を使用す る と 、 バ ッ チ フ ァ イ ルに Source Insight プ ロ ジ ェ ク ト を同期す る コ マ ン ド を追加で き ます。 例: insight3 –ub ス プ ラ ッ シ ュ ス ク リ ーンの抑制 -s Source Insight の起動時に表示 さ れ る ス プ ラ ッ シ ュ ス ク リ ーン を オ フ に し ます。 ユーザーレ ベル コ マ ン ド コ マ ン ド と は、 ユーザーが メ ニ ュ ー項目を選択す る か、 ま たはキース ト ロ ー ク を行 う こ と に よ り Source Insight が実行す る 、 ユーザーレベル Source Insight ユーザー マニ ュ アル 133 Source Insight の概念 第4章 の操作の こ と を言い ます。 た と えば、 [Open] コ マ ン ド はフ ァ イ ルを開 き 、 [Save] コ マ ン ド はフ ァ イ ルを保存 し ます。 各 コ マ ン ド には名前 と 、 動作があ り ます。 コ マ ン ド にキーを 割 り 当て るには、 [Options] > [Key Assignments] を使 用 し ます。 メ ニ ュ ーに コ マ ン ド を割 り 当て るに は、 [Options] > [Menu Assignments] を使 用 し ます。 コ マ ン ド は メ ニ ュ ー、 キース ト ロ ー ク 、 お よ びマ ウ ス ク リ ッ ク に割 り 当て可能な リ ソ ース です。 そ し て、 それ ら の割 り 当ては設定の一部で す。 キース ト ロ ー ク と マ ウ ス ク リ ッ ク が コ マ ン ド に割 り 当て ら れ ます。 た と えば、 Ctrl+O キース ト ロ ー ク は [Open] コ マ ン ド に割 り 当て ら れてい ます。 1 つ以上のキース ト ロ ー ク を コ マ ン ド に割 り 当て可能です。 キー割 り 当て を カ ス タ マ イ ズす る には、 [Key Assignments] コ マ ン ド を 使用 し ます。 コ マ ン ド が メ ニ ュ ーに割 り 当て ら れ ます。 た と えば、 [Open] コ マ ン ド は [File] メ ニ ュ ーに割 り 当て ら れてい ます。 メ ニ ュ ーの内容を カ ス タ マ イ ズす る には、 [Menu Assignments] コ マ ン ド を使用 し ます。 Source Insight では、 コ ンパ イ ラ や他の外部ツールを Source Insight か ら 起動す る カ ス タ ム コ マ ン ド を定義す る こ と も で き ます。 カス タム コマン ド カス タム コ マン ド は、Source Insight の内部から起動す るシ ェル コ マン ド です。 Source Insight に用意 さ れてい る 標準 コ マ ン ド に加え て、 カ ス タ ム コ マ ン ド を定義で き ます。 カ ス タ ム コ マ ン ド は、 シ ェ ル バ ッ チ フ ァ イ ル に似てい ます。 外部の コ マ ン ド ラ イ ン プ ロ グ ラ ム と Windows GUI プ ロ グ ラ ム を実行 し ます。 Source Insight は、 バ ッ ク グ ラ ウ ン ド でカ ス タ ム コ マ ン ド を実行で き ます。 カ ス タ ム コ マ ン ド の出力は、 フ ァ イ ルに 保存す る か、 貼 り 付け る こ と がで き ます。 [Options] > [Custom Command] ダ イ ア ロ グ ボ ッ ク ス を使用 し て、 カ ス タ ム コ マ ン ド を定義、 実行で き ます。 一度定義 し た ら 、 カ ス タ ム コ マ ン ド は、 他の コ マ ン ド と 同様に処理で き ます。 メ ニ ュ ーに割 り 当てた り 、 キース ト ロ ー ク を割 り 当て可能です。 カ ス タ ム コ マ ン ド は現在の設定 の一部です。 カ ス タ ム コ マ ン ド は コ ンパ イ ルの実行に便利です。 コ ンパ イ ラ や make プ ロ グ ラ ム を実行す る カ ス タ ム コ マ ン ド を定義す る こ と で、 コ ンパ イ ラ エ ラ ー メ ッ セージ を キ ャ プチ ャ し てエ ラ ーを解析 し 、 間違っ てい る ソ ース コ ー ド を自動的に指す ソ ース リ ン ク を生成で き ます。 カ ス タ ム コ マ ン ド を使用す る さ ま ざ ま な テ キ ス ト フ ィ ル タ を実装す る こ と も 可能です。 た と えば、 ソ ー ト フ ィ ル タ を実行 し て現在の選択範 囲に出力を貼 り 付け る [Sort] カ ス タ ム コ マ ン ド を定義で き ます。 詳細は、 176 ページの 「Custom Commands」、 222 ページの 「Key Assignments」、 お よ び 248 ページの 「Menu Assignments」 を参照 し て く だ さ い。 134 Source Insight ユーザー マニ ュ アル 第4章 Source Insight のカ ス タ マ イ ズ Source Insight のカ ス タ マ イ ズ カ ス タ マ イズ設定 は設定フ ァ イルに 格納 さ れます。 Source Insight では多 く の項目を カ ス タ マ イ ズで き ます。 オプシ ョ ン の セ ッ ト 全体は設定 と 呼ばれ、 設定フ ァ イ ルを保存お よ び ロ ー ド で き ま す。 通常、 カ ス タ マ イ ズ設定はすべて Source Insight プ ロ グ ラ ム デ ィ レ ク ト リ 、 ま たはユーザー デー タ デ ィ レ ク ト リ にあ る global.cf3 と い う フ ァ イ ルに保存 さ れ ます。 こ れを 「グ ロ ーバル」 設定フ ァ イ ル と 言い ます。 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス のオプシ ョ ン を使用 し て、 プ ロ ジ ェ ク ト で独自の設定フ ァ イ ルを使用で き ます。 選択 . [Preferences] コ マ ン ド で、 フ ァ イ ル制御、 表示オプシ ョ ン、 言語 サポー ト な ど の さ ま ざ ま なユーザー オプシ ョ ン を設定で き ます。 ド キ ュ メ ン ト オプ シ ョ ン . [Document Options] コ マ ン ド で、 ド キ ュ メ ン ト タ イ プ を定義お よ び変更で き ます。 ド キ ュ メ ン ト タ イ プ と は、 フ ァ イ ルの名前や拡張子に よ っ て Source Insight の動作を指定で き る フ ァ イ ル タ イ プの こ と です。 キー割 り 当て . [Key Assignments] コ マ ン ド で、 Source Insight のキーボー ド を再配置で き ます。 Source Insight の各 コ マ ン ド が こ のダ イ ア ロ グ ボ ッ ク ス に リ ス ト さ れ ます。 各 コ マ ン ド にキース ト ロ ー ク やマ ウ ス ボ タ ン シ ョ ー ト カ ッ ト を指定可能です。 メ ニ ュ ー割 り 当て . [Menu Assignments] コ マ ン ド で、 Source Insight の メ ニ ュ ー バーを カ ス タ マ イ ズで き ます。 Source Insight の各 コ マ ン ド が こ のダ イ ア ロ グ ボ ッ ク ス に リ ス ト さ れます。 任意の メ ニ ュ ーに各 コ マ ン ド を割 り 当て可能です。 設定のロー ド と 保存 [Save Configuration] コ マ ン ド を使用 し て設定を保存で き ます。 [Load Configuration] コ マ ン ド を使用 し て設定オプシ ョ ン を ロ ー ド で き ます。 設定を ロ ー ド す る と 、 デ ィ ス ク に格納 さ れてい る 現在の設定が置換 さ れます。 [Save Configuration] コ マ ン ド を使用 し て、 キー割 り 当ての よ う な個々 の設定を保存す る こ と も 可能です。 プ ロ ジ ェ ク ト 設定 プ ロ ジ ェ ク ト 設定 はプ ロ ジ ェ ク ト に 格納 さ れ、 設定 フ ァ イルには格納 さ れません。 [Project Settings] コ マ ン ド を使用 し て、 各プ ロ ジ ェ ク ト に特別なオプ シ ョ ン を設定で き ます。 前述 し た他のカ ス タ マ イ ズ と は異な り 、 プ ロ ジ ェ ク ト 設定はプ ロ ジ ェ ク ト に格納 さ れ、 設定フ ァ イ ルには格納 さ れ ません。 Source Insight ユーザー マニ ュ アル 135 Source Insight の概念 第4章 プ ロ ジ ェ ク ト 固有の設定 プ ロ ジ ェ ク ト 固有の設定を行 う には、 [Project Settings] コ マ ン ド を使用 し て設定を指定 し ます。 プ ロ ジ ェ ク ト に独自の設定フ ァ イ ルがあ る 場 合、 プ ロ ジ ェ ク ト を開 く と き にすべてのユーザーの選択が変更 さ れ ま す。 設定の保存 カ ス タ マ イズ設定 は設定フ ァ イルに 格納 さ れます。 設定フ ァ イルは、 オプシ ョ ン変更時 に更新 さ れます。 136 Source Insight はあ ら ゆ る 面でカ ス タ マ イ ズ可能です。 た と えば、 画面 の色や、 コ マ ン ド へのキース ト ロ ー ク の割 り 当て な ど。 こ の一連のオ プシ ョ ンは設定 と 呼ばれ ます。 設定には、 通常はあ ま り 変更 さ れない 情報が含ま れ ます。 通常は、 Source Insight の イ ン ス ト ール時にのみ設 定を行い、 必要に応 じ て変更 し ます。 設定には、 [Options] メ ニ ュ ーや [Preferences] ダ イ ア ロ グ ボ ッ ク ス で指 定す る オプシ ョ ン のほ と ん ど が含まれ ます。 • 表示オプシ ョ ン • 言語オプシ ョ ン • 構文フ ォ ーマ ッ ト ス タ イ ル • 構文修飾 • キー割 り 当て • メ ニ ュ ー割 り 当て • ツールバー • カ ス タ ム コ マン ド • ド キ ュ メ ン ト タ イ プ と オプシ ョ ン • ページ設定 • フ ァ イ ル オプシ ョ ン • 全般オプシ ョ ン • シ ン ボル参照オプシ ョ ン • 入力オプシ ョ ン 実行中の Source Insight に影響す る 設定はカ レ ン ト 設定 と 呼ばれ ます。 カ ス タ マ イ ズ設定を変更す る か、 新規設定を ロ ー ド す る と 、 デ ィ ス ク 上の設定フ ァ イ ル も 更新 さ れ ます。 Source Insight ユーザー マニ ュ アル 第4章 設定の保存 設定フ ァ イル Source Insight を終了す る と 、 カ レ ン ト 設定が設定フ ァ イ ルに保存 さ れ ます。 Source Insight を開始す る と 、 前のセ ッ シ ョ ンの設定情報が リ ス ト ア さ れ ます。 プ ロ ジ ェ ク ト が開かれていない場合、 カ レ ン ト 設定フ ァ イ ルの名前は global.cf3 で、 Source Insight プ ロ グ ラ ム デ ィ レ ク ト リ ( セ ッ ト ア ッ プ プ ロ グ ラ ム で Source Insight を イ ン ス ト ール し た場所 ) に格納 さ れ ます。 プ ロ ジ ェ ク ト が開かれてい る 場合、 カ レ ン ト 設定フ ァ イ ルの名前は [Project Settings] ダ イ ア ロ グの設定に応 じ て < プ ロ ジ ェ ク ト 名 >.cf3 ま たは Global.cf3 のいずれかにな り ます。 設定フ ァ イルの格納場所 設定フ ァ イ ルは、 通常、 「My Documents\Source Insight」 フ ォ ルダ内の 「Settings」 フ ォ ルダに保存 さ れ ます。 Source Insight に ロ グ イ ン し て実行す る ユーザーご と に、 「My Documents\Source Insight」 フ ォ ルダ内のユーザー デー タ デ ィ レ ク ト リ が作成 さ れ ます。 そのため、 各ユーザーは別々に独自の設定を格納で き ます。 ヒ ン ト : すべてのカ ス タ マ イ ズ設定を含むグ ロ ーバル設定フ ァ イ ルのバ ッ ク ア ッ プ を と る こ と を推奨 し ます。 [Load Configuration] コ マ ン ド を使用 す る か、 Source Insight 内のカ ス タ マ イ ズ設定を変更する と 、 設定フ ァ イ ルは自動的に変更 さ れます。 ヒ ン ト : Source Insight を更新す る 場合、 あ ら か じ めバ ッ ク ア ッ プ を と る こ と を 推奨 し ます。 Source Insight の新 し いビル ド は以前の設定フ ァ イ ル と 互 換性があ り ますが、 以前のビル ド で新 し い設定フ ァ イ ルを開けない場 合があ り ます。 以前のビル ド に戻す場合は、 古い設定フ ァ イ ルを使用 し て く だ さ い。 設定のロー ド [Load Configuration] コ マ ン ド を使用 し て、 ロ ー ド す る 設定フ ァ イ ルを 選択 し ます。 設定項目全体、 ま たは メ ニ ュ ー項目の よ う な設定の一部 を ロ ー ド で き ます。 独自の設定フ ァ イ ルがあ る プ ロ ジ ェ ク ト を開 く と 、 プ ロ ジ ェ ク ト の設 定 も ロ ー ド さ れます。 設定の保存 [Save Configuration] コ マ ン ド を使用 し て、 現在の設定を他の設定フ ァ イ ルに保存で き ます。 設定フ ァ イ ルを保存す る こ と で、 メ ニ ュ ー、 Source Insight ユーザー マニ ュ アル 137 Source Insight の概念 第4章 キース ト ロ ー ク 割 り 当て、 画面の色、 その他が異な る Source Insight の カ ス タ マ イ ズ バージ ョ ン を作成で き ます。 [Save Configuration] コ マ ン ド を使用 し て現在の設定の一部を保存す る こ と も で き ます。 Source Insight は変更 さ れたオプシ ョ ン を自動的に保存す る ので、 通常 は [Save Configuration] コ マ ン ド を使用す る 必要はあ り ません。 ワー ク ス ペースの保存 と リ ス ト ア ワ ー ク スペース にはセ ッ シ ョ ン間で変更 さ れ る セ ッ シ ョ ン状態が含ま れます。 編集中に複数の フ ァ イ ルを開 く 場合があ り ます。 各フ ァ イ ル でテ キ ス ト を選択で き ます。 各フ ァ イ ルでブ ッ ク マー ク を設定で き ま す。 こ の情報は ワー ク スペース の一部分です。 ワ ー ク スペース には、 以下の項目が含ま れ ます。 • 開いた フ ァ イ ルの名前 • 各フ ァ イ ルの選択範囲 • 各フ ァ イ ルのブ ッ ク マー ク • 選択履歴 ( 各フ ァ イ ルで選択 し ていた場所 ) • 各 ソ ース フ ァ イ ル ウ ィ ン ド ウ のサ イ ズ と 位置 • 文字列の検索 と 置換 • ソ ース リ ン ク • ダ イ ア ロ グ ボ ッ ク ス の入力履歴 • コ マ ン ド 記録 (311 ページの 「Start Recording」 を参照 ) Source Insight を終了す る と 、 カ レ ン ト ワー ク スペース が ワ ー ク スペー ス フ ァ イ ルに保存 さ れ ます。 Source Insight を開始す る と 、 前のセ ッ シ ョ ンの ワー ク スペース が リ ス ト ア さ れます。 プ ロ ジ ェ ク ト が開かれていない場合、 カ レ ン ト ワー ク スペース フ ァ イ ルの名前は Global.wk3 です。 プ ロ ジ ェ ク ト が開かれてい る 場合、 カ レ ン ト ワー ク スペース フ ァ イ ルの名前は [Project Settings] ダ イ ア ロ グの 設定に応 じ て < プ ロ ジ ェ ク ト 名 >.WK3 ま たは Global.wk3 のいずれか にな り ます。 ワー ク ス スペースのロー ド と 保存 ワ ー ク スペース を開 く には、 [File] > [Open Workspace] コ マ ン ド を使用 し ます。 [File] > [Save Workspace] コ マ ン ド を使用 し て、 カ レ ン ト ワー ク スペー ス の内容を他の ワー ク スペース フ ァ イ ルに保存で き ます。 138 Source Insight ユーザー マニ ュ アル 第4章 パフ ォ ーマ ン スの調整 ワー ク スペースで タ ス ク を管理する 複数の ワ ー ク スペース を使用す る こ と で、 タ ス ク を グループに し て個 別に保存で き ます。 た と えば、 2 つの異な る タ ス ク で作業 し てい る と し ます。 タ ス ク 1 で、 タ ス ク の ソ ース フ ァ イ ルをすべて開 き 、 作業を開始 し ます。 タ ス ク 1 の作業を停止す る 場合、 [Save Workspace] コ マ ン ド を使用 し て フ ァ イ ル 「Session1」 を保存 し ます。 すべての フ ァ イ ルを閉 じ 、 タ ス ク 2 の ソ ー ス フ ァ イ ルを開いて作業を開始 し ます。 タ ス ク 2 の作業を停止 し て タ ス ク 1 の作業に戻す場合、 [Save Workspace] コ マ ン ド を使用 し て フ ァ イ ル 「Session2」 を保存 し 、 次に [Open Workspace] コ マ ン ド を使用 し て フ ァ イ ル 「Session1」 を開 き ます。 パフ ォ ーマ ン スの調整 プ ロ ジ ェ ク ト のサ イ ズ と マシ ン の種類に応 じ て、 最適なパフ ォ ーマ ン ス が得 ら れ る よ う に Source Insight を調整 し ます。 [Preferences] ダ イ ア ロ グ ボ ッ ク ス と [Project Settings] ダ イ ア ロ グ ボ ッ ク ス にパフ ォーマ ン ス に影響す る オプシ ョ ン が含ま れてい ます。 パフ ォ ーマ ン スに影響する要因 Source Insight は、 プ ロ グ ラ ミ ン グ エデ ィ タ の機能の制限を拡張す る よ う に設計 さ れてい ます。 こ のため、 非常に遅いシ ス テ ムや最適化 さ れ ていないシ ス テ ム ではパフ ォ ーマ ン ス に大 き く 影響す る 特徴があ り ま す。 こ のセ ク シ ョ ン では、 Source Insight のパフ ォーマ ン ス に影響す る 要因 と 制御方法について説明 し ます。 マ シ ンの速度 Pentium II 以上を 推奨 し ます。 Source Insight のすべての機能を活用す る には、 Pentium II ク ラ ス のマシ ン ( ま たはそれ以上 ) を推奨 し ます。 マシ ン が要件を満た し ていない 場合、 多 く のオプシ ョ ン を オ フ にす る こ と で、 機能は制限 さ れますが パフ ォ ーマ ン ス を向上で き ます。 ほ と ん ど の場合、 正 し いオプシ ョ ン を選択す る こ と で、 バージ ョ ン 2.x の機能 と 速度を再現で き ます。 Source Insight には、 速度の低下を最小限に抑え て よ り 多 く の機能を提 供す る 、 多 く の新 し いパフ ォ ーマ ン ス最適化機能が用意 さ れてい ます。 Source Insight ユーザー マニ ュ アル 139 Source Insight の概念 第4章 プ ロ ジ ェ ク ト のサイ ズ プ ロ ジ ェ ク ト のサ イズは、 パフ ォー マンス と メ モ リ使 用量に影響 し ま す。 プ ロ ジ ェ ク ト のサ イ ズは、 Source Insight の特定の機能のパフ ォーマ ン ス に大 き く 影響 し ます。 プ ロ ジ ェ ク ト のサ イ ズは、 フ ァ イ ル数 と 宣言 さ れてい る シ ン ボルの数で測定で き ます。 プ ロ ジ ェ ク ト のサ イズを確認するに は、 [Project Report] コ マ ン ド を使用 し ます。 プ ロ ジ ェ ク ト のサ イ ズ を確認す る には、 [Project] > [Project Report] コ マ ン ド を使用 し てプ ロ ジ ェ ク ト レ ポー ト を出力 し ます。 Source Insight は、 プ ロ ジ ェ ク ト レ ポー ト の先頭に、 プ ロ ジ ェ ク ト に含まれ る フ ァ イ ルの数、 シ ン ボルの数、 お よ びシ ン ボル イ ンデ ッ ク ス エ ン ト リ の数を 出力 し ます。 [Project] > [Rebuild Project] ダ イ ア ロ グ ボ ッ ク ス の下部に も 同 じ 情報が表示 さ れ ます。 ( 情報を確認す る ためにプ ロ ジ ェ ク ト を リ ビル ド す る 必要はあ り ません。 ) Source Insight 3.5 は、 バージ ョ ン 2.1 よ り も 多 く のシ ン ボル情報を処理 し ます。 こ の結果、 シ ン ボル イ ンデ ッ ク ス のサ イ ズ も 大 き く な り ま し た。 非常に大規模なプ ロ ジ ェ ク ト ではパフ ォーマ ン ス に影響 し ます。 プ ロ ジ ェ ク ト イ ンデ ッ ク スの設定 [Project Settings] コ マ ン ド はプ ロ ジ ェ ク ト のイ ン デ ッ ク ス オプ シ ョ ン を管理 し ます。 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス には、 プ ロ ジ ェ ク ト の イ ンデ ッ ク ス オプシ ョ ン が含まれてい ます。 すべての イ ンデ ッ ク ス オプシ ョ ン を 有効に し た場合、 プ ロ ジ ェ ク ト が大 き く な る と 、 パフ ォ ーマ ン ス に影 響 し ます。 イ ンデ ッ ク ス が大 き すぎ る と 、 以下の よ う な現象が起 こ り ます。 • 大規模なプ ロ ジ ェ ク ト の ビル ド ま たは リ ビル ド 中にデ ィ ス ク ス ラ ッ シ ン グが発生 し ます。 非常に大規模なプ ロ ジ ェ ク ト では、 リ ビル ド の最終段階でデ ィ ス ク にア ク セ スす る 回数が非常に多 く な る のは正常です。 • プ ロ ジ ェ ク ト を開 く ま たは閉 じ る のに時間がかか り ます。 • 個々の フ ァ イ ルの同期処理が遅 く な り ます。 • 大規模なプ ロ ジ ェ ク ト でシ ラ ブル イ ンデ ッ ク ス を実行 する と 、 システム が遅 く な り 、 メ モ リ の使用量が増加 し ます。 140 [Browse Project Symbols] ダ イ ア ロ グ ボ ッ ク ス (F7) の表示に時間 がかか り ます。 最初に使用す る と き に数秒停止す る のは正常で す。 • 128 MB のシ ス テ ム で数百万の イ ンデ ッ ク ス エ ン ト リ が生成 さ れ ます。 大規模なプ ロ ジ ェ ク ト (200,000 シ ン ボル以上 ) の場合、 シ ン ボルのシ ラ ブル イ ンデ ッ ク ス を オ フ に し て く だ さ い。 [Project: Rebuild Project] を選択 し てダ イ ア ロ グ ボ ッ ク ス の下部に表示 さ れ る 情報を確認す る こ と でデー タ ベース のサ イ ズが予測で き ます。 情報を確認 し た ら 、 [Cancel] ボ タ ン を ク リ ッ ク し てダ イ ア ロ グ ボ ッ ク ス を閉 じ て く だ さ い。 イ ンデ ッ ク ス エ ン ト リ の数が百万を超え る と 、 シ ス テ ムは遅 く な り ま す。 マシ ンに メ モ リ を追加す る と 、 パフ ォ ーマ ン ス が向上 し ます。 Source Insight ユーザー マニ ュ アル 第4章 パフ ォ ーマ ン スの調整 シ ラ ブル イ ンデ ッ ク ス を削除す る には、 [Project] > [Project Settings] コ マ ン ド を実行 し て、 [Quick browsing for symbol syllables] を オ フ に し ま す。 次に、 [Rebuild Project] コ マ ン ド を使用 し てプ ロ ジ ェ ク ト を リ ビル ド し ます。 シ ンボルの メ モ リ 使用量 Source Insight は、 プ ロ ジ ェ ク ト のシ ン ボル イ ンデ ッ ク ス エ ン ト リ ご と に 16 バ イ ト の RAM を使用 し ます。 すべてのシ ン ボル イ ンデ ッ ク ス オプシ ョ ン を有効に し たプ ロ ジ ェ ク ト (263 ページの 「Project Settings」 を参照 ) では、 シ ン ボル定義の約 5 倍の イ ンデ ッ ク ス エ ン ト リ を使用 し ます。 こ のため、 た と えば、 プ ロ ジ ェ ク ト に 100,000 個のシ ン ボル 定義があ る 場合、 イ ンデ ッ ク ス エ ン ト リ の数は約 500,000 個にな り ま す。 つま り 、 16 x 約 500,000 = 約 8,000,000 バ イ ト 必要です。 仮想 メ モ リ 容量 大規模プ ロ ジ ェ ク ト は多 く の仮想 メ モ リ を使用 し ま す。 Source Insight は、 プ ロ ジ ェ ク ト のサ イ ズに比例す る メ モ リ を使用 し ま す。 プ ロ ジ ェ ク ト が大規模にな る と 、 Source Insight が必要な メ モ リ も 増加 し ます。 Win32 プ ロ グ ラ ミ ン グ イ ン タ ーフ ェ イ ス では、 Source Insight の よ う な プ ロ グ ラ ム がマシ ンに物理的に搭載 さ れてい る RAM よ り も 多 く の メ モ リ を使用で き ます。 こ の機能は、 オペレーテ ィ ン グ シ ス テ ム が 「ページ ン グ」 と 呼ばれ る プ ロ セ ス に よ り ハー ド デ ィ ス ク を使用 し て RAM を エ ミ ュ レー ト す る ため、 仮想 メ モ リ と 呼ばれ ます。 Source Insight は、 2 つの方法で メ モ リ ( 仮想 メ モ リ ) を使用 し ます。 最 初の方法は、 Source Insight が ヒ ープ と 仮想 メ モ リ を割 り 当て る 方法で す。 割 り 当てに使用 さ れ る サ イ ズは最 も 小 さ く な り ます。 こ の場合で も 、 割 り 当て可能か ど う かシ ス テ ム のページ ン グ フ ァ イ ルのサ イ ズ を 確認す る 必要があ り ます。 プ ロ ジ ェ ク ト で 100,000 個のシ ン ボルが宣 言 さ れ る ご と に約 2-5 MB 必要です。 大規模なプ ロ ジ ェ ク ト デー タ ベース フ ァ イルは メ モ リ にマ ッ プ さ れ、 報 告 さ れる メ モ リ 使 用量が多 く な り ま す。 Source Insight は、 メ モ リ マ ッ プ フ ァ イ ルの数を増やす こ と も で き ま す。 こ れはフ ァ イ ルを仮想ア ド レ ス空間へマ ッ プす る Win32 の機能 で、 プ ロ グ ラ ム か ら はフ ァ イ ルが メ モ リ のブ ロ ッ ク の よ う に見え ます。 Source Insight は、 メ モ リ マ ッ プ フ ァ イ ルを使用 し て、 ソ ース フ ァ イ ル やデー タ ベース フ ァ イ ルにで き る だけ速 く ア ク セ ス で き る よ う に し ま す。 Source Insight がプ ロ ジ ェ ク ト デー タ ベース フ ァ イ ルを メ モ リ にマ ッ プ す る 場合、 フ ァ イ ルが開かれた と き に大量の仮想ア ド レ ス空間が使用 さ れ ます。 Source Insight がデー タ ベース の異な る レ コ ー ド にア ク セ ス す る ので、 オペレーテ ィ ン グ シ ス テ ムはデー タ ベース フ ァ イ ルの コ ン テ ン ツ を保持す る ために、 よ り 多 く の物理 メ モ リ を コ ミ ッ ト し ます。 オペレーテ ィ ン グ シ ス テ ムは、 他のプ ロ グ ラ ムやシ ス テ ム で使用す る ために常に一部の メ モ リ を予約 し ます。 Source Insight ユーザー マニ ュ アル 141 Source Insight の概念 第4章 プ ロ ジ ェ ク ト デー タ ベース のサ イ ズはプ ロ ジ ェ ク ト で宣言 さ れたシ ン ボルの数に比例 し ます。 こ のため、 プ ロ ジ ェ ク ト が非常に大 き い場合、 Source Insight に よ っ て使用 さ れ る メ モ リ の量が 100 MB を超え る こ と も あ り ます。 し か し 、 タ ス ク マネージ ャ や他のパフ ォ ーマ ン ス モニ タ リ ン グ ツールで報告 さ れ る 使用中の メ モ リ の大部分は、 メ モ リ にマ ッ プ さ れたシ ン ボル デー タ ベース の一部を表 し てい る こ と を理解す る 必 要があ り ます。 Source Insight で こ の量の物理 メ モ リ が必要な訳ではあ り ません。 物理 メ モ リ 容量 プ ロ ジ ェ ク ト が大規模にな る と 、 Source Insight が必要な メ モ リ も 増加 し ます。 シ ス テ ム に多 く の RAM があれば、 パフ ォ ーマ ン ス が向上 し ます。 Source Insight の最小限の機能を使用す る 場合で も 、 少な く と も 64 MB の RAM が必要です。 200,000 以上のシ ン ボルを使用す る 大規模 なプ ロ ジ ェ ク ト では、 128 MB 以上の RAM を推奨 し ます。 オペ レーテ ィ ン グ シ ス テム Windows 2000/XP を推奨 し ます。 仮想 メ モ リ に関 し て最良のパフ ォ ーマ ン ス を得 る には、 Windows 2000/ XP ま たはそれ以降で Source Insight を実行す る こ と を推奨 し ます。 こ れ ら のオペレーテ ィ ン グ シ ス テ ムは、 Windows 9.x/Me よ り も メ モ リ を 有効に活用 し ます。 カ ス タ ム解析表現 Source Insight では、 独自のカ ス タ ム解析正規表現を使用 し て、 言語を 増やす こ と が可能です。 ソ ース フ ァ イ ルを右 ク リ ッ ク し 、 [Language Properties] を選択す る こ と で、 こ れ ら の表現を編集で き ます。 カ ス タ ム解析表現 の使用には注意 し て く だ さ い。 表現が多すぎ る 場合、 ま たは一致が本質的に遅い正規表現を使用 し て い る 場合、 フ ァ イ ルの解析に時間がかか り ます。 正規表現は、 簡単に一致す る パ タ ーン で開始 し て あ ま り 一致 し ないパ タ ーン で終了す る 場合、 一致が遅 く な り ます。 例: [a-z]*(\([a-z]+\)) こ の表現は、 パ タ ーン [a-z]* ( 任意のゼ ロ 以上の英文字 ) で開始す る た め、 一致が遅 く な り ます。 フ ァ イ ルのほ と ん ど の文字が一致 し ます。 ネ ッ ト ワー ク 上のフ ァ イルの場所 リ モー ト ネ ッ ト ワ ー ク ド ラ イ ブか ら プ ロ ジ ェ ク ト に ソ ース フ ァ イ ル を追加す る こ と は可能ですが、 ネ ッ ト ワー ク ド ラ イ ブへのア ク セ ス は 一般的に遅いため、 Source Insight の速度が低下 し ます。 さ ら に、 ネ ッ ト ワー ク ド ラ イ ブにプ ロ ジ ェ ク ト デー タ フ ォ ルダ を設 定す る こ と も パフ ォ ーマ ン ス の低下につなが り ます。 142 Source Insight ユーザー マニ ュ アル 第4章 パフ ォ ーマ ン スの調整 「My Documents」 フ ォルダの場所 Windows では、 「My Documents」 フ ォ ルダは ロ ーカル、 ま たは リ モー ト ネ ッ ト ワ ー ク ド ラ イ ブのいずれかに存在す る 仮想フ ォ ルダです。 Source Insight は 「My Documents」 フ ォ ルダ内にユーザーご と のデー タ を格納す る ため、 「My Documents」 フ ォ ルダがネ ッ ト ワー ク ド ラ イ ブ 上に存在 し てい る 場合、 一部の処理は遅 く な り ます。 特に、 C# コ ー ド を編集 し てい る 場合、 .NET Framework シ ン ボルは 「My Documents\Source Insight\Projects\NetFramework」 フ ォ ルダに格納 さ れ る ため、 .NET Framework のシ ン ボル補完が遅 く な り ます。 で き れば、 ロ ーカル ド ラ イ ブの 「My Documents」 フ ォ ルダ を指定 し て く だ さ い。 ロ ーカル ド ラ イ ブに指定で き ない場合、 Source Insight が ユーザーのデー タ フ ォ ルダに ロ ーカル ド ラ イ ブ を使用す る よ う に レ ジ ス ト リ エ ン ト リ を設定 し ます。 regedit で次のキーを検索 し ます。 HKEY_CURRENT_USER\Software\Source Dynamics\Source Insight\3.0\Paths 「UserDataDir」 と い う 名前で新規文字列値を追加 し ます。 ユーザーの デー タ フ ォ ルダ ご と に、 文字列値を フ ォ ルダの フル パ ス に設定 し ま す。 プ ログ ラ ムのス ピー ド ア ッ プ こ のセ ク シ ョ ン では、 Source Insight の ス ピー ド ア ッ プについて異な る 点か ら 説明 し ます。 構文フ ォ ーマ ッ ト のス ピー ド ア ッ プ フ ォ ーマ ッ ト オプ シ ョ ンは、 表示速 度に影響 し ます。 Source Insight には、 ソ ース コ ー ド の フ ォーマ ッ ト 用に多 く の便利な表 示機能が用意 さ れてい ます。 一部の機能では、 複雑な処理が必要です。 表示 コ ー ド は、 許容 さ れ る パフ ォ ーマ ン ス で よ り 多 く の機能を提供で き る よ う に大幅に高速化 さ れ ま し た。 し か し 、 バージ ョ ン 3.5 では よ り 多 く の情報が表示 さ れ る よ う にな っ たため、 表示速度がバージ ョ ン 2.1 よ り も 多少遅 く な り ま し た。 表示す る 情報をバージ ョ ン 2.1 と 同 じ にな る よ う に減 ら す こ と で、 ス ピー ド ア ッ プで き ます。 [Preferences: Syntax Formatting] ダ イ ア ロ グ ボ ッ ク ス で、 表示方法を細 か く 指定で き ます。 各オプシ ョ ンには、 パフ ォ ーマ ン ス コ ス ト があ り ます。 重要なオプシ ョ ン を以下に リ ス ト し ます。 コ ス ト が最 も 低いオ Source Insight ユーザー マニ ュ アル 143 Source Insight の概念 第4章 プシ ョ ン か ら 、 最 も 遅 く コ ス ト が最 も 高いオプシ ョ ンの順に リ ス ト し てい ます。 1. Apply Styles for Language Elements: References to members 2. Apply Styles for Language Elements: Symbol declarations 3. Apply Styles for Language Elements: Function-local symbol declarations 4. Apply Styles for Language Elements: References to function-local symbols 5. Apply Styles for Language Elements: References to non-function-local symbols 6. Symbol Reference Lookups: Search in the Project Symbol Path 7. Symbol Reference Lookups: Qualify references to members 「参照」 のフ ォ ー マ ッ ト は 「宣言」 よ り遅 く な り ま す。 表示する情報を増 やす と 速度は遅 く な り ます。 一般に、 「参照」 の識別は 「宣言」 よ り 遅 く な り ます。 プ ロ ジ ェ ク ト が 非常に大 き い場合、 各参照を シ ン ボル ル ッ ク ア ッ プで解決す る 必要が あ る ため、 シ ン ボルの参照の識別に時間がかか り ます。 シ ン ボル参照エ ン ジ ンは、 「表示速度」 でシ ン ボルの参照を フ ォ ーマ ッ ト で き る よ う に大幅に最適化 さ れ ま し た。 多 く の情報はプ ロ セ ス中に キ ャ ッ シ ュ さ れ る ため、 最初に フ ァ イ ルを開いて ス ク ロ ールす る と 、 速度が低下 し てい る こ と がわか り ます。 その後、 フ ァ イ ルの表示は速 く な り ます。 速度を最優先す る 場合 も あ り ますが、 ほ と ん ど の場合は、 速度が多少 低下 し て も 、 生産性を高め る 有益な情報を表示す る こ と を優先 し ます。 [Browse] ダ イ ア ログ ボ ッ ク スでの入力のス ピー ド ア ッ プ プ ロ ジ ェ ク ト が大規模で、 [Project Settings: Quick browsing for symbol syllables] がオ ン にな っ てい る 場合、 シ ン ボル リ ス ト の入力 と フ ィ ル タ は遅 く な り ます。 Source Insight は大規模な シ ラ ブル イ ンデ ッ ク ス で シ ラ ブル マ ッ チン グ を実行 し ます。 大規模なプ ロ ジ ェ ク ト ではシ ラ ブル マ ッ チ ングは遅 く な り ます。 2 つの異な る 方法で こ の問題に対処で き ます。 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス でシ ラ ブル イ ンデ ッ ク ス を オ フ にす る 方法 と 、 [Preferences: Typing] ダ イ ア ロ グ ボ ッ ク ス で リ ス ト フ ィ ル タ の動作を変 更す る 方法です。 [Project Settings] オプシ ョ ンは、 シ ン ボル デー タ ベース に格納お よ び イ ンデ ッ ク ス付けす る 内容を制御 し ます。 [Preferences: Typing] オプシ ョ ンは、 情報が リ ス ト で ど の よ う に使用 さ れ る か を制御 し ます。 リ ス ト のシ ン ボル シ ラ ブル マ ッ チン グ機能を使 用す る には、 デー タ ベース にシ ラ ブル情報が必要です。 ( フ ァ イ ル名 リ ス ト 用ではあ り ません。 ) メ モ リ に余裕があ る 場合は、 [Project Settings: Quick browsing for symbol syllables] を オ ン に し て、 [Preferences: Typing: Match syllables while typing] を オ フ に し ます。 入力中のシ ラ ブル マ ッ チン グが無効に な っ ていて も 、 前に スペース を入力す る こ と で、 シ ラ ブル マ ッ チン グ 144 Source Insight ユーザー マニ ュ アル 第4章 パフ ォ ーマ ン スの調整 を使用で き ます。 つま り 、 シ ラ ブルの前に スペース を追加 し て入力す る こ と で、 シ ラ ブル マ ッ チン グのオ ン、 オ フ を切 り 替え る こ と がで き ます。 リ ス ト のシ ラ ブルを一致す る と き に大量のデ ィ ス ク ス ラ ッ シ ン グが発 生 し た場合、 利用可能な メ モ リ に対 し てプ ロ ジ ェ ク ト が大 き すぎ ます。 [Preferences: Typing] で、 [Match syllables while typing] と [Match members while typing] オプシ ョ ン を両方 と も オ フ にす る と 、 リ ス ト フ ィ ル タ が バージ ョ ン 2.1 の機能に戻 さ れ、 速度が速 く な り ます。 . プ ロ ジ ェ ク ト のビル ド と 同期処理のス ピー ド ア ッ プ 非常に大規模なプ ロ ジ ェ ク ト は、 ビル ド や リ ビル ド に時間がかか り ま す。 ス ピー ド ア ッ プす る には、 以下の操作を実行 し て く だ さ い。 • • • • [Project Settings] で、 [Quick browsing for symbol syllables] を オ フ に し ます。 こ の イ ンデ ッ ク ス オプシ ョ ンは、 多 く の メ モ リ を使 用 し 、 イ ンデ ッ ク ス処理が遅 く な り ます。 [Project Settings] で、 [Quick browsing for member names] を オ フ に し ます。 こ の イ ンデ ッ ク ス オプシ ョ ン も 、 多 く の メ モ リ を使 用 し ます。 プ ロ ジ ェ ク ト に追加す る ド キ ュ メ ン ト タ イ プ ( た と えば、 フ ァ イ ル タ イ プ ) の数を減 ら し ます。 デフ ォ ル ト では、 Visual Basic フ ァ イ ルや ASP フ ァ イ ルの よ う な多 く の ド キ ュ メ ン ト タ イ プが 定義 さ れてい ます。 ソ ース ツ リ ーに使用 し ない ド キ ュ メ ン ト タ イ プが含ま れてい る 場合、 プ ロ ジ ェ ク ト か ら 削除 し て く だ さ い。 [Document Options] を実行 し て、 プ ロ ジ ェ ク ト か ら 削除す る ド キ ュ メ ン ト タ イ プご と に [Include when adding to projects] チ ェ ッ ク ボ ッ ク ス を オ フ にす る こ と で、 こ れ ら の ド キ ュ メ ン ト タ イ プ を プ ロ ジ ェ ク ト か ら 削除で き ます。 プ ロ ジ ェ ク ト を よ り 小 さ なプ ロ ジ ェ ク ト に分割 し ます。 プ ロ ジ ェ ク ト 間で [Jump To Definition] コ マ ン ド を使用す る 場合、 [Preferences: Symbol Lookups] ダ イ ア ロ グ ボ ッ ク ス で定義す る プ ロ ジ ェ ク ト シ ン ボル パ ス に 「サブプ ロ ジ ェ ク ト 」 を追加で き ま す。 リ レーシ ョ ン ウ ィ ン ド ウのス ピー ド ア ッ プ リ レーシ ョ ン ウ ィ ン ド ウ は Source Insight 3.0 の新機能です。 シ ン ボル 間の リ レーシ ョ ン を表示す る 機能です。 選択 さ れてい る 項目に関す る 情報をバ ッ ク グ ラ ウ ン ド で自動的に表示 し ます。 た と えば、 関数呼び 出 し を選択 し た場合、 該当す る 関数を開始す る コ ール ツ リ ーを表示 し ます。 Source Insight ユーザー マニ ュ アル 145 Source Insight の概念 リ レーシ ョ ン ウ ィ ン ド ウは多 く の処 理を行います。 「参照」 を表示す る場合は さ ら に処 理が多 く な り ま す。 ロッ クと リ フレッ シ ュ を手動で行い ます。 第4章 リ レーシ ョ ン ウ ィ ン ド ウ は多 く の処理を行い ます。 一部の リ レーシ ョ ン シ ッ プは遅 く な り ます。 リ レーシ ョ ン シ ッ プは最 も 速い も のか ら 最 も 遅い も の ま で リ ス ト さ れた 3 つのカ テ ゴ リ に分類 さ れ ます。 • Contains – 現在のシ ン ボルの内容を表示 し ます。 た と えば、 構造 体の メ ンバを表示 し ます。 • Calls – 現在のシ ン ボルに よ っ て参照 さ れてい る 他のシ ン ボルを 表示 し ます。 た と えば、 現在の関数に呼び出 さ れてい る 関数を 表示 し ます。 • References – 現在のシ ン ボルを参照 し てい る 他のシ ン ボルを表示 し ます。 た と えば、 現在の関数を呼び出 し てい る 関数を表示 し ます。 非常に大規模なプ ロ ジ ェ ク ト では、 「References」 リ レーシ ョ ン シ ッ プ は処理が最 も 遅 く な り ます。 中規模サ イ ズのプ ロ ジ ェ ク ト ( 約 200,000 コ ー ド 行 ) であれば、 Pentium II マシ ン で も 問題な く 処理で き ます。 リ レーシ ョ ン を非参照型の リ レーシ ョ ンに制限す る と 、 リ レーシ ョ ン ウ ィ ン ド ウ の表示が速 く な り ます。 リ レーシ ョ ン ウ ィ ン ド ウ を ロ ッ ク し た ま ま に し ます。 リ レーシ ョ ン ウ ィ ン ド ウ を ロ ッ ク す る には、 リ レーシ ョ ン ウ ィ ン ド ウ ツールバーの [Lock Relation Window] ボ タ ン を ク リ ッ ク し ます。 リ レーシ ョ ン ウ ィ ン ド ウ は、 [Refresh Relation Window] コ マ ン ド を使用す る か、 リ レーシ ョ ン ウ ィ ン ド ウ ツールバーの [Refresh Relation Window] ボ タ ン を ク リ ッ ク し て、 いつで も リ フ レ ッ シ ュ で き ます。 自動補完のス ピー ド ア ッ プ 識別子を入力す る と き 、 一致す る 識別子名を示す自動補完 ウ ィ ン ド ウ がポ ッ プ ア ッ プ し ます。 文字を入力す る たび、 Source Insight はその フ ァ イ ルのシ ン ボル デー タ が 「古 く 」 な る と 見な し ます。 最 も 正確に 自動補完が行われ る よ う にす る には、 文字が入力 さ れ る たびに フ ァ イ ルを解析 し 直す必要があ り ます。 こ のオプシ ョ ンは、 [Preferences: Symbol Lookups] ダ イ ア ロ グ ボ ッ ク ス にあ り ます。 [Parse locally before lookup] オプシ ョ ン を オ ンにす る と 、 Source Insight は自動補完 ウ ィ ン ド ウ を表示す る 前に フ ァ イ ルを解析 し 直 し ます。 高 速なマシ ンや小 さ な フ ァ イ ルでは、 あ ま り 速度には影響 し ません。 し か し 、 こ のオプシ ョ ン を オ フ にす る 方が動作は速 く な り ます。 .NET Framework 自動補完のス ピー ド ア ッ プ 「My Documents」 フ ォ ルダがネ ッ ト ワ ー ク ド ラ イ ブにあ る 場合、 C# コ ー ド を編集す る と き に、 .NET Framework のシ ン ボル補完は遅 く な り ます。 原因は、 .NET Framework シ ン ボルが 「My Documents\Source Insight\Projects\NetFramework」 に格納 さ れ る ためです。 143 ページの 「「My Documents」 フ ォ ルダの場所」 も 参照 し て く だ さ い。 146 Source Insight ユーザー マニ ュ アル 第4章 Source Insight によ り 作成 さ れる フ ァ イル フ ァ イル検索のス ピー ド ア ッ プ [Lookup References] コ マ ン ド を使用 し た検 索が最も高速で す。 Source Insight で複数の フ ァ イ ルを検索す る 方法はい く つかあ り ます。 [Search Files]、 [Lookup References]、 お よ び [Search Project] コ マ ン ド は すべて、 複数フ ァ イ ルの検索を行い ます。 Source Insight で最 も 高速な検索は、 [Lookup References] コ マ ン ド を使 用 し た検索です。 こ の方法で検索す る 場合、 Source Insight は単一の単 語全体への参照を検索 し ます。 単一の単語全体を検索す る 場合、 Source Insight は検索を高速に行 う ために特別な イ ンデ ッ ク ス フ ァ イ ル を使用 し ます。 可能であれば、 [Search Files] の代わ り に [Lookup References] コ マ ン ド を使用 し て く だ さ い。 [Lookup References] コ マ ン ド のス ピー ド ア ッ プ 状況依存オプシ ョ ン を使用する と 、 [Lookup References] は遅 く な り ます。 [Lookup References] コ マ ン ド には、 速度に影響す る い く つかのオプ シ ョ ンがあ り ます。 [Smart Reference Matching] オプシ ョ ンは、 検索が状況依存であ る こ と を意味 し ます。 検索結果には、 周 り の コ ン テ キ ス ト を使用 し て、 指定 し たシ ン ボルへの参照 と 一致す る も ののみが含まれ ます。 同 じ 文字列 の検索を瞬時の解析が必要な シ ン ボル ル ッ ク ア ッ プで行 う 必要があ る ため、 こ のオプシ ョ ン を使用す る と 処理は遅 く な り ます。 こ のオプ シ ョ ン を オ フ にす る と 、 Source Insight のバージ ョ ン 2.x の よ う に動作 し ます。 [Skip Comments] と [Search Only Comments] オプシ ョ ン で も 検索は多少 遅 く な り ますが、 [Smart Reference Matching] オプシ ョ ン ほ ど ではあ り ません。 [Smart Rename] コ マ ン ド も 、 同 じ メ カ ニ ズ ム を使用 し てい ます。 Source Insight に よ り 作成 さ れる フ ァ イル Source Insight は、 ハー ド デ ィ ス ク に以下の フ ァ イ ル と フ ァ イ ル タ イ プ を作成 し ます。 プ ログ ラ ム デ ィ レ ク ト リ のフ ァ イル 以下の フ ァ イ ルが、 Source Insight の イ ン ス ト ール時に イ ン ス ト ール デ ィ レ ク ト リ に作成 さ れます。 イ ン ス ト ール デ ィ レ ク ト リ は、 セ ッ ト ア ッ プ プ ロ グ ラ ムの実行時に指定 し た イ ン ス ト ール先です。 フ ァ イル 説明 Insight3.exe Source Insight のプ ロ グ ラ ム。 Insight.hlp Source Insight のヘルプ フ ァ イ ル。 Source Insight ユーザー マニ ュ アル 147 Source Insight の概念 第4章 フ ァ イル 説明 ReadMe.txt 最新の情報を含むテ キ ス ト フ ァ イ ル。 Sihook.exe Source Insight がカ ス タ ム コ マ ン ド を実行する 際に 利用す る ユーテ ィ リ テ ィ プ ロ グ ラ ム。 FileAlias.txt 指定 し た フ ァ イ ル名に関連付け ら れてい る ド キ ュ メ ン ト タ イ プ よ り も 優先 さ れ る 、 フ ァ イ ル名の別 名フ ァ イ ル。 *.CLF [Preferences: Languages] ダ イ ア ロ グ ボ ッ ク ス か ら カ ス タ ム言語を エ ク ス ポー ト し て作成す る カ ス タ ム 言語フ ァ イ ル。 ユーザーご と のデー タ フ ォルダ Windows では、 「My Documents」 フ ォ ルダはユーザーご と に別々に存 在す る 仮想フ ォ ルダです。 Source Insight は、 「My Documents\Source Insight」 フ ォ ルダ内にユーザーご と のデー タ を格納 し ます。 Source Insight のプ ロ ジ ェ ク ト デー タ フ ァ イ ルは個々のユーザー デー タ エ リ アに保存 さ れ る ため、 同 じ マシ ン の他のユーザーか ら ア ク セ ス で き ません。 で き れば、 ロ ーカル ド ラ イ ブの 「My Documents」 フ ォ ルダ を指定 し て く だ さ い。 ロ ーカル ド ラ イ ブに指定で き ない場合、 Source Insight が ユーザーのデー タ フ ォ ルダに ロ ーカル ド ラ イ ブ を使用す る よ う に レ ジ ス ト リ エ ン ト リ を設定 し ます。 regedit で次のキーを検索 し ます。 HKEY_CURRENT_USER\Software\Source Dynamics\Source Insight\3.0\Paths 「UserDataDir」 と い う 名前で新規文字列値を追加 し ます。 ユーザーの デー タ フ ォ ルダ ご と に、 文字列値を フ ォ ルダの フル パ ス に設定 し ま す。 その後、 Source Insight を再起動 し てプ ロ ジ ェ ク ト を作成 し 直 し て く だ さ い。 ユーザーご と に作成 さ れる フ ァ イル Windows では、 ユーザーは、 「My Documents」 と し て知 ら れ る 個人の デー タ フ ォ ルダ を使用 し ます。 Source Insight は、 「My Documents」 フ ォ ルダに 「Source Insight」 フ ォ ルダ を作成 し 、 ユーザー固有のデー タ を格納 し ます。 ユーザー デー タ デ ィ レ ク ト リ には、 ユーザー固有のグ ロ ーバル設定 フ ァ イ ル (global.cf3) 、 「プ ロ ジ ェ ク ト を開かない」 モー ド 用の ワ ー ク スペース、 お よ びプ ロ ジ ェ ク ト デー タ が含まれてい ます。 148 Source Insight ユーザー マニ ュ アル 第4章 Source Insight によ り 作成 さ れる フ ァ イル 以下の フ ォ ルダが、 カ レ ン ト ユーザーの Source Insight フ ォ ルダに作成 さ れ ます。 フ ァ イルまたは フ ォルダ 説明 Backup Source Insight で保存 さ れ る バ ッ ク ア ッ プ フ ァ イ ルを含むフ ォ ルダ。 Clips ク リ ッ プ ウ ィ ン ド ウに リ ス ト される ク リ ッ プ フ ァ イ ルを含むフ ォ ルダ。 独自の テ キ ス ト フ ァ イ ルを コ ピーする と 、 ク リ ッ プ ウ ィ ン ド ウ に自動的に表示 さ れま す。 Projects ユーザーのマシ ンで作成 さ れた Source Insight プ ロ ジ ェ ク ト を含むフ ォ ルダ。 プ ロ ジ ェ ク ト ご と にサブ フ ォ ルダが作成 さ れます。 Projects\Projects.db3 作成 さ れたすべてのプ ロ ジ ェ ク ト の リ ス ト を含むフ ァ イ ル。 Projects\Base 「Base」 プ ロ ジ ェ ク ト 用のプ ロ ジ ェ ク ト フ ァ イ ルを含むフ ォ ルダ。 Project\NetFramework 「NetFramework」 プ ロ ジ ェ ク ト 用のプ ロ ジ ェ ク ト フ ァ イ ルを含むフ ォ ルダ。 C# で 使用 さ れ る .NET Framework ク ラ ス のシ ン ボル定義を含みます。 Settings 設定フ ァ イ ルを含むフ ォ ルダ。 Settings\Global.CF3 プ ロ ジ ェ ク ト を開いていない場合、 お よ びプ ロ ジ ェ ク ト が開かれていて [Project Settings] コ マ ン ド で 「グ ロ ーバル設定」 を指定 し た場合に使用 さ れ る グ ロ ーバル 設定フ ァ イ ル。 c.tom C/C++ ト ー ク ン マ ク ロ 。 *.RCO 異常終了後にデー タ を修復す る ために必 要な情報を含む ク ラ ッ シ ュ リ カバ リ フ ァ イ ル。 セ ッ シ ョ ンが ク ラ ッ シ ュ し た場合 にのみ存在 し ます。 Global.WK3 プ ロ ジ ェ ク ト を開いていない場合に使用 さ れ る セ ッ シ ョ ン状態を含むグ ロ ーバル ワー ク スペース フ ァ イ ル。 Source Insight ユーザー マニ ュ アル 149 Source Insight の概念 第4章 すべてのユーザー用のテ ン プ レー ト 設定 Source Insight プ ロ グ ラ ム デ ィ レ ク ト リ に global.cf3 と い う 名前で設定 フ ァ イ ルを保存す る と 、 Source Insight を実行す る すべての新規ユー ザーに global.cf3 フ ァ イ ルが コ ピー さ れ ます。 し たが っ て、 Source Insight プ ロ グ ラ ム デ ィ レ ク ト リ にあ る global.cf3 フ ァ イ ルを、 新規 ユーザー向けのテ ン プ レー ト 設定 と し て使用で き ます。 プ ロ ジ ェ ク ト ご と に作成 さ れる フ ァ イル Source Insight プ ロ ジ ェ ク ト を作成す る と 、 プ ロ ジ ェ ク ト ご と に以下の デー タ フ ァ イ ルが作成 さ れます。 「Name」 は指定 し たプ ロ ジ ェ ク ト の 名前を意味 し ます。 150 フ ァ イル 説明 Name.pr プ ロ ジ ェ ク ト の フ ァ イ ルの リ ス ト を含む メ イ ン プ ロ ジ ェ ク ト フ ァ イ ル。 Name.wk3 プ ロ ジ ェ ク ト ワー ク スペース フ ァ イ ル。 Name.cf3 プ ロ ジ ェ ク ト 固有の設定フ ァ イ ル。 Name.po プ ロ ジ ェ ク ト オプシ ョ ン。 Name.ps シ ン ボル定義デー タ ベース。 Name.pri シ ン ボル参照 イ ンデ ッ ク ス。 Name.pfi プ ロ ジ ェ ク ト フ ァ イ ル イ ンデ ッ ク ス。 Name.imd, Name.imb メ イ ン シ ン ボル イ ンデ ッ ク ス。 Name.iad, Name.iab メ ンバ と シ ラ ブル用の補助シ ン ボル イ ン デ ッ ク ス。 Source Insight ユーザー マニ ュ アル コ マン ド リ フ ァ レ ンス 第5章 こ の章は、 ユーザーレベルのすべての Source Insight コ マ ン ド を アル フ ァ ベ ッ ト 順に リ ス ト し た コ マ ン ド リ フ ァ レ ン ス です。 各 コ マ ン ド に ついて、 詳細に説明 し ます。 重要な概念の概要は、 67 ページの第 4 章 「Source Insight の概念」 を参 照 し て く だ さ い。 コ マ ン ド の概要 コ マ ン ド と は、 ユーザーが メ ニ ュ ー項目を選択す る か、 ま たはキース ト ロ ー ク を行 う こ と に よ り Source Insight が実行す る 、 ユーザーレベル の操作の こ と を言い ます。 た と えば、 [Open] コ マ ン ド はフ ァ イ ルを開 き 、 [Save] コ マ ン ド はフ ァ イ ルを保存 し ます。 各 コ マ ン ド には名前 と 、 動作があ り ます。 コ マ ン ド にキーを 割 り 当て るには、 [Options] > [Key Assignments] を使 用 し ます。 コ マ ン ド は メ ニ ュ ー、 キース ト ロ ー ク 、 お よ びマ ウ ス ク リ ッ ク に割 り 当て可能な リ ソ ース です。 そ し て、 それ ら の割 り 当ては設定の一部で す。 キース ト ロ ー ク と マ ウ ス ク リ ッ ク が コ マ ン ド に割 り 当て ら れ ます。 た と えば、 Ctrl+O キース ト ロ ー ク は [Open] コ マ ン ド に割 り 当て ら れてい ます。 1 つ以上のキース ト ロ ー ク を コ マ ン ド に割 り 当て可能です。 キー割 り 当て を カ ス タ マ イ ズす る には、 [Key Assignments] コ マ ン ド を 使用 し ます。 Source Insight ユーザー マニ ュ アル 151 第5章 コマン ド リ フ ァ レンス メ ニ ュ ーに コ マ ン ド を割 り 当て るに は、 [Options] > [Menu Assignments] を使 用 し ます。 コ マ ン ド が メ ニ ュ ーに割 り 当て ら れ ます。 た と えば、 [Open] コ マ ン ド は [File] メ ニ ュ ーに割 り 当て ら れてい ます。 メ ニ ュ ーの内容を カ ス タ マ イ ズす る には、 [Menu Assignments] コ マ ン ド を使用 し ます。 Source Insight では、 コ ンパ イ ラ や他の外部ツールを Source Insight か ら 起動す る カ ス タ ム コ マ ン ド を定義す る こ と も で き ます。 134 ページの 「カ ス タ ム コ マ ン ド 」 も 参照 し て く だ さ い。 About Source Insight [About Source Insight] コ マ ン ド を実行す る と 、 Source Insight の著作権情 報 と バージ ョ ン番号を含む ウ ィ ン ド ウ が表示 さ れます。 Source Insight のバージ ョ ン番号 と ビル ド の日付を参照す る には、 こ の コ マ ン ド を実 行 し ます。 Activate Menu コ マ ン ド • • • • • • • • • • Activate Edit Menu Activate File Menu Activate Help Menu Activate Option Menu Activate Project Menu Activate Search Menu Activate View Menu Activate Window Menu Activate System Menu Activate System Doc Menu [Activate Menu] コ マ ン ド は、 指定 し た メ ニ ュ ーを メ ニ ュ ー バーか ら ド ロ ッ プダ ウ ン し ます。 Alt キーを押 し て Source Insight の メ ニ ュ ー バーを選択 し た後、 文字 キーを押す こ と で、 対応す る メ ニ ュ ーを表示す る こ と も で き ます。 た と えば、 Alt を押 し た後に F を押す と 、 [File] メ ニ ュ ーが選択 さ れ ます。 Source Insight では、 メ ニ ュ ーの選択に Windows の標準的な キー操作で あ る Alt+< メ ニ ュ ー文字 > を必ず使用す る 必要はあ り ません。 Alt キー を メ ニ ュ ーの選択以外に も 使用で き ます。 Source Insight では、 [Key Assignments] コ マ ン ド を使用 し て任意のキーを任意の コ マ ン ド に割 り 当て る こ と がで き ます。 た と えば、 [File] メ ニ ュ ーにはデフ ォ ル ト では Alt+F キーが割 り 当て ら れてい ますが、 F1 キーに割 り 当て を変更す る と 、 F1 キーを押す こ と に よ り [File] メ ニ ュ ーが表示 さ れます。 152 Source Insight ユーザー マニ ュ アル 第5章 Activate Global Symbol List Activate Global Symbol List コ ン テ キ ス ト ウ ィ ン ド ウ を有効に し て、 リ ス ト のすべてのプ ロ ジ ェ ク ト シ ン ボルを表示 し 、 カー ソ ルを上部のテ キ ス ト ボ ッ ク ス に移動 し ま す。 テ キ ス ト ボ ッ ク ス に入力す る と 、 入力 し た内容に基づいて グ ロ ー バル シ ン ボル リ ス ト が フ ィ ル タ さ れます。 Enter ま たは Esc キーを押 す と 、 ソ ース フ ァ イ ル ウ ィ ン ド ウ に戻 り ます。 Activate Relation Window リ レーシ ョ ン ウ ィ ン ド ウ を開いて選択 し ます。 入力フ ォーカ ス は リ レーシ ョ ン ウ ィ ン ド ウ に移動 し ます。 Activate Search Results 検索結果 ウ ィ ン ド ウ を有効に し ます。 ウ ィ ン ド ウ が開かれてい る 場合、 前面に表示 し ます。 検索結果に素早 く 戻 る こ と がで き ます。 Activate Symbol Window シ ン ボル ウ ィ ン ド ウ を有効に し て、 カー ソ ルを上部のテ キ ス ト ボ ッ ク ス に移動 し ます。 テ キ ス ト ボ ッ ク ス に入力す る と 、 入力 し た内容に基 づいて シ ン ボル リ ス ト が フ ィ ル タ さ れます。 Enter ま たは Esc キーを押 す と 、 ソ ース フ ァ イ ル ウ ィ ン ド ウ に戻 り ます。 Add and Remove Project Files ソ ース フ ァ イ ルを カ レ ン ト プ ロ ジ ェ ク ト に追加 し ます。 ま たは、 ソ ー ス フ ァ イ ルを カ レ ン ト プ ロ ジ ェ ク ト か ら 削除 し ます。 多 く の フ ァ イ ルを プ ロ ジ ェ ク ト に追加す る 主要な方法です。 単一フ ァ イ ル、 フ ァ イ ルのグループ、 ま たは ソ ース デ ィ レ ク ト リ ツ リ ー全体を 追加ま たは削除で き ます。 プ ロ ジ ェ ク ト に追加で き る フ ァ イル プ ロ ジ ェ ク ト には テキス ト フ ァ イル のみ追加で き ま す。 Source Insight プ ロ ジ ェ ク ト は、 プ ロ ジ ェ ク ト ソ ース フ ァ イ ル と テ キ ス ト フ ァ イ ルのみで構成 さ れます。 バ イ ナ リ フ ォ ーマ ッ ト の フ ァ イ ルを Source Insight プ ロ ジ ェ ク ト に追加 し て も 意味はあ り ません。 た と えば、 EXE フ ァ イ ルを プ ロ ジ ェ ク ト に追加 し て も 意味はあ り ません。 デフ ォ ル ト で定義 さ れてい る ド キ ュ メ ン ト タ イ プは Source Insight で使 用す る ソ ース フ ァ イ ルの種類に対応 し てい ます。 通常、 こ れ ら の種類 の フ ァ イ ルのみプ ロ ジ ェ ク ト に追加 し ます。 Source Insight ユーザー マニ ュ アル 153 第5章 コマン ド リ フ ァ レンス プ ロ ジ ェ ク ト に追 加する フ ァ イルの 種類を制御するに は、 [Document Options] を使用 し ます。 [Document Options] ダ イ ア ロ グ ボ ッ ク ス には、 [Include when adding to projects] チ ェ ッ ク ボ ッ ク ス があ り ます。 こ のチ ェ ッ ク ボ ッ ク ス を使用 し て、 Source Insight がプ ロ ジ ェ ク ト に自動的に追加す る フ ァ イ ルの種 類、 ま たは [Add and Remove Project Files] ダ イ ア ロ グ ボ ッ ク ス の リ ス ト ボ ッ ク ス に表示 さ れ る フ ァ イ ルの種類を制御で き ます。 [Add and Remove Project Files] ダ イ ア ログ ボ ッ ク ス [File Name] こ のテ キ ス ト ボ ッ ク ス に追加ま たは削除す る フ ァ イ ルの 名前を入力 し ます。 入力 し た内容 と 一致す る フ ァ イ ルが リ ス ト で自動 的に選択 さ れます。 ワ イ ル ド カー ド を入力 し て Enter を押す と 、 ワ イ ル ド カー ド と 一致す る フ ァ イ ルのみを表示す る よ う に フ ァ イ ル リ ス ト が フ ィ ル タ さ れ ます。 フル パ ス を入力す る か、 ド ラ イ ブ名に コ ロ ン (:) を入力 し て他のデ ィ レ ク ト リ を指定す る こ と も で き ます。 [Directory] リ ス ト カ レ ン ト ド ラ イ ブのデ ィ レ ク ト リ ツ リ ーを表示 し ま す。 こ の リ ス ト ボ ッ ク ス でデ ィ レ ク ト リ 名を選択す る と 、 [File Name] リ ス ト に、 そのデ ィ レ ク ト リ の フ ァ イ ルが表示 さ れます。 現在の作業 デ ィ レ ク ト リ と ワ イ ル ド カー ド フ ィ ル タ が リ ス ト ボ ッ ク ス の上に表示 さ れ ます。 154 Source Insight ユーザー マニ ュ アル 第5章 Add and Remove Project Files [File Name] リ ス ト 現在選択 し てい る デ ィ レ ク ト リ にあ る すべての フ ァ イ ルの リ ス ト を表示 し ます。 こ の リ ス ト ボ ッ ク ス か ら フ ァ イ ルを選択 す る と 、 その フ ァ イ ル名が [File Name] テ キ ス ト ボ ッ ク ス に ロ ー ド さ れ ます。 既にプ ロ ジ ェ ク ト の一部であ る フ ァ イ ルは こ の リ ス ト ボ ッ ク ス に表示 さ れ ません。 [Project Files] リ ス ト プ ロ ジ ェ ク ト に追加 さ れてい る フ ァ イ ルをすべて 表示 し ます。 こ の リ ス ト か ら フ ァ イ ルを選択 し て [Remove…] ボ タ ン を ク リ ッ ク す る と 、 プ ロ ジ ェ ク ト か ら フ ァ イ ルが削除 さ れ ます。 [Close] ダ イ ア ロ グ ボ ッ ク ス を閉 じ ます。 行っ た変更は保存 さ れます。 [Add] 選択 し てい る フ ァ イ ルを プ ロ ジ ェ ク ト に追加 し ます。 デ ィ レ ク ト リ が選択 さ れてい る 場合、 カ レ ン ト デ ィ レ ク ト リ がそのデ ィ レ ク ト リ に変更 さ れ ます。 [Add All] [File Name] リ ス ト のすべての項目を選択 し てプ ロ ジ ェ ク ト に 追加 し ます。 デ ィ レ ク ト リ が含まれてい る 場合、 そのデ ィ レ ク ト リ の 内容 も 追加 さ れ ます。 その場合、 Source Insight はデ ィ レ ク ト リ の追加 を確認 し ます。 [Add Tree] ソ ース ツ リ ー全体を プ ロ ジ ェ ク ト に追加 し ます。 デ ィ レ ク ト リ が選択 さ れてい る 場合、 デ ィ レ ク ト リ ツ リ ー全体を プ ロ ジ ェ ク ト に追加 し ます。 つま り 、 サブ ツ リ ーのデ ィ レ ク ト リ はすべ て、 既知の ド キ ュ メ ン ト タ イ プ と 一致す る フ ァ イ ル用に ス キ ャ ン さ れ、 プ ロ ジ ェ ク ト に追加 さ れます。 [Remove Tree] デ ィ レ ク ト リ が選択 さ れてい る 場合、 デ ィ レ ク ト リ ツ リ ーにあ る すべての フ ァ イ ルを削除 し ます。 [Show only known document types] 既知の ド キ ュ メ ン ト タ イ プに属す る フ ァ イ ルのみを フ ァ イ ル リ ス ト に表示 し ます。 [Include when adding to project] オプシ ョ ンが選択 さ れてい る ド キ ュ メ ン ト タ イ プのみが含 まれます。 既知の ド キ ュ メ ン ト タ イ プは [Document Options] コ マ ン ド を使用 し て変更で き ます。 チ ェ ッ ク さ れていない場合、 すべての フ ァ イ ルが [File Name] リ ス ト に 表示 さ れ ます。 [Remove File] [Project Files] リ ス ト で選択 し てい る フ ァ イ ルを削除 し ま す。 [Remove All] プ ロ ジ ェ ク ト か ら すべての フ ァ イ ルを削除 し ます。 プ ロ ジ ェ ク ト は空にな り ます。 [Remove Special] [Remove File] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 こ のダ イ ア ロ グ ボ ッ ク ス で、 *.h フ ァ イ ルをすべて削除す る 、 の よ う な 特殊な削除処理が実行で き ます。 Source Insight ユーザー マニ ュ アル 155 コマン ド リ フ ァ レンス 第5章 [Add from list] [Add File List] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 こ の ダ イ ア ロ グ ボ ッ ク ス で、 プ ロ ジ ェ ク ト に追加す る フ ァ イ ル と デ ィ レ ク ト リ の リ ス ト を含む入力テ キ ス ト フ ァ イ ルを指定 し ます。 Add File ソ ース フ ァ イ ルを カ レ ン ト プ ロ ジ ェ ク ト に追加 し ます。 こ の コ マ ン ド は、 Source Insight の以前のバージ ョ ンに含まれていた古い コ マ ン ド で す。 フ ァ イ ルを プ ロ ジ ェ ク ト に追加ま たはフ ァ イ ルを プ ロ ジ ェ ク ト か ら 削除す る には、 新 し く 追加 さ れた [Add and Remove Project Files] コ マ ン ド を使用 し て く だ さ い。 [File Name] プ ロ ジ ェ ク ト に追加す る フ ァ イ ルの名前です。 フ ァ イ ル名 ま たは ワ イ ル ド カー ド を入力で き ます。 ワ イ ル ド カー ド を入力 し た場 合、 一致す る フ ァ イ ルが リ ス ト に表示 さ れ ます。 [File] リ ス ト ボ ッ ク ス カ レ ン ト プ ロ ジ ェ ク ト に含まれていないカ レ ン ト ド ラ イ ブの作業デ ィ レ ク ト リ にあ る すべての フ ァ イ ルの リ ス ト が表 示 さ れ ます。 こ の リ ス ト ボ ッ ク ス か ら フ ァ イ ルを選択す る と 、 その フ ァ イ ル名が [File Name] テ キ ス ト ボ ッ ク ス に ロ ー ド さ れます。 現在の 作業デ ィ レ ク ト リ が リ ス ト ボ ッ ク ス の上に表示 さ れ ます。 既にプ ロ ジ ェ ク ト の一部であ る フ ァ イ ルは こ の リ ス ト ボ ッ ク ス に表示 さ れませ 156 Source Insight ユーザー マニ ュ アル 第5章 Add File List ん。 [Include when adding to project] オプシ ョ ンが選択 さ れてい る ド キ ュ メ ン ト タ イ プに属す る フ ァ イ ルのみが表示 さ れ ます。 194 ページの 「Document Options」 も 参照 し て く だ さ い。 [Add] [File Name] テ キ ス ト ボ ッ ク ス の名前の フ ァ イ ルを プ ロ ジ ェ ク ト に追加 し てダ イ ア ロ グ ボ ッ ク ス を閉 じ ます。 [File Name] テ キ ス ト ボ ッ ク ス に ワ イ ル ド カー ド 文字が含まれてい る 場合、 該当す る フ ァ イ ルが [File] リ ス ト ボ ッ ク ス に表示 さ れます。 ダ イ ア ロ グ ボ ッ ク ス は開いた ま ま です。 [File] リ ス ト ボ ッ ク ス で複数の フ ァ イ ルが選択 さ れてい る 場合、 選択 さ れてい る すべての フ ァ イ ルがプ ロ ジ ェ ク ト に追加 さ れ ま す。 [Select All] [File] リ ス ト ボ ッ ク ス に含ま れてい る すべての フ ァ イ ルを 選択 し ます。 [Add Dir] デ ィ レ ク ト リ 全体を プ ロ ジ ェ ク ト に追加 し ます。 [Subdirs Also] チ ェ ッ ク ボ ッ ク ス がオ ンの場合、 サブデ ィ レ ク ト リ ツ リ ー全体 のすべての フ ァ イ ルを再帰的に追加 し ます。 [Show Dirs/Show Files] リ ス ト ボ ッ ク ス に表示す る 内容 ( フ ァ イ ル名ま たはサブデ ィ レ ク ト リ 名 ) を切 り 替え ます。 [Subdirs Also] こ のチ ェ ッ ク ボ ッ ク ス がオ ン の場合、 Source Insight は [Add] ボ タ ン が ク リ ッ ク さ れた と き にサブデ ィ レ ク ト リ の フ ァ イ ル も 追加 し ます。 こ のチ ェ ッ ク ボ ッ ク ス がオ フ の場合、 Source Insight は選択 さ れてい る フ ァ イ ルま たは選択 さ れてい る デ ィ レ ク ト リ の フ ァ イ ルのみ追加 し 、 サブデ ィ レ ク ト リ を無視 し ます。 [Browse] Windows の [ フ ァ イ ルを開 く ] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 こ のダ イ ア ロ グ ボ ッ ク ス で フ ァ イ ルを選択す る と 、 [File Name] テ キ ス ト ボ ッ ク ス に フ ァ イ ルが フル パ ス で表示 さ れます。 [Remove] [Remove File] ダ イ ア ロ グ ボ ッ ク ス に切 り 替え ます。 Add File List 入力フ ァ イ ルで指定 し た フ ァ イ ル名 と デ ィ レ ク ト リ を カ レ ン ト プ ロ ジ ェ ク ト に追加 し ます。 プ ロ ジ ェ ク ト 管理者が Source Insight プ ロ ジ ェ ク ト の ビル ド に使用で き る ソ ース フ ァ イ ルや ソ ース デ ィ レ ク ト リ の リ ス ト を管理す る 際に便利 です。 手動で フ ァ イ ルを追加 し ないで済みます。 Advanced Options Source Insight の最適化オプシ ョ ン を選択 し ます。 不具合を特定す る 際 に便利です。 不具合を報告す る と 、 [Advanced Options] ダ イ ア ロ グ Source Insight ユーザー マニ ュ アル 157 第5章 コマン ド リ フ ァ レンス ボ ッ ク ス のオプシ ョ ン を変更す る よ う に指示 さ れ る 場合があ り ます。 通常は、 こ の機能を使用す る 必要はあ り ません。 Back Tab カー ソ ルを 1 つ左の タ ブ ス ト ッ プに移動 し ます。 Backspace 挿入ポ イ ン ト の左にあ る 文字を削除 し ます。 選択範囲が拡張 さ れてい る 場合、 選択範囲のテ キ ス ト を削除 し ます。 Beginning of Line 挿入ポ イ ン ト を カ レ ン ト 行の行頭に移動 し ます。 Beginning of Selection 選択範囲が拡張 さ れてい る 場合、 挿入ポ イ ン ト を現在の選択範囲の先 頭に移動 し ます。 選択範囲が挿入ポ イ ン ト の場合、 何 も 起 こ り ません。 Blank Line Down 挿入ポ イ ン ト を次の空白行の行頭に移動 し ます。 Blank Line Up 挿入ポ イ ン ト を前の空白行の行頭に移動 し ます。 Block Down 挿入ポ イ ン ト を次の } 括弧に移動 し ます。 C/C++ や Java の よ う な言語 におけ る 現在の コ ー ド ブ ロ ッ ク の最後に相当 し ます。 Block Up 挿入ポ イ ン ト を前の { 括弧に移動 し ます。 C/C++ や Java の よ う な言語 におけ る 現在の コ ー ド ブ ロ ッ ク の先頭に相当 し ます。 158 Source Insight ユーザー マニ ュ アル 第5章 Bookmark Bookmark ブ ッ ク マー ク の追加 と 削除、 既存のマー ク の場所の移動を行い ます。 ブ ッ ク マー ク は、 カ レ ン ト ワー ク スペース の一部です。 [Name] ブ ッ ク マー ク の名前を入力 し ます。 入力 し たブ ッ ク マー ク が 存在す る 場合、 [Go To] ボ タ ンがデフ ォ ル ト のボ タ ン にな り ます。 Enter を押す と 、 そのマー ク に移動 し ます。 入力 し たブ ッ ク マー ク が存在 し ない場合、 [Set] ボ タ ンがデフ ォ ル ト のボ タ ン にな り ます。 Enter を押 す と 、 新規ブ ッ ク マー ク が作成 さ れます。 [Marks] リ ス ト 現在設定 さ れてい る すべてのブ ッ ク マー ク の リ ス ト を 表示 し ます。 リ ス ト の各項目に、 ブ ッ ク マー ク の名前、 フ ァ イ ル名、 お よ び行番号が表示 さ れます。 [Marks] リ ス ト で項目を選択す る と 、 ブ ッ ク マー ク の名前が [Name] テ キ ス ト ボ ッ ク ス に ロ ー ド さ れます。 [Go To] [Marks] リ ス ト で選択 さ れてい る ブ ッ ク マー ク にジ ャ ン プ し ま す。 [Set] 新規ブ ッ ク マー ク を作成 し ます。 [Name] テ キ ス ト ボ ッ ク ス の内 容がブ ッ ク マー ク の名前にな り ます。 ブ ッ ク マー ク の名前が リ ス ト に 既にあ る 場合、 位置が再定義 さ れます。 [Remove] 選択 し てい る ブ ッ ク マー ク を削除 し ます。 Bottom of File 挿入ポ イ ン ト を カ レ ン ト フ ァ イ ルの最後の行の行末に移動 し ます。 Bottom of Window 挿入ポ イ ン ト を ア ク テ ィ ブな ウ ィ ン ド ウ に表示 さ れてい る 最後の行の 行頭に移動 し ます。 Source Insight ユーザー マニ ュ アル 159 第5章 コマン ド リ フ ァ レンス Browse Files Windows の [ フ ァ イ ルを開 く ] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 Source Insight の [Open] コ マ ン ド ( プ ロ ジ ェ ク ト ウ ィ ン ド ウ にデ ィ レ ク ト リ に関係な く カ レ ン ト プ ロ ジ ェ ク ト に含まれ る フ ァ イ ルのみを表示 す る ) と は異な り ます。 Browse Project Symbols カ レ ン ト プ ロ ジ ェ ク ト のシ ン ボルをすべて リ ス ト し ます。 こ のダ イ ア ロ グ ボ ッ ク ス か ら 、 次の操作を実行で き ます。 • 名前の一部をベース と す る シ ン ボルを検索す る 。 • シ ン ボル定義を参照す る 。 • シ ン ボル定義にジ ャ ン プす る 。 • ソ ース フ ァ イ ルの関数に呼び出 し を挿入す る 。 • ク ロ ス リ フ ァ レ ン ス リ ス ト を作成す る 。 [Browse Project Symbols] コ マ ン ド を使用す る と 、 選択範囲の最初の単 語が自動的に選択 さ れ ます。 単語は、 ダ イ ア ロ グ ボ ッ ク ス のシ ン ボル 名テ キ ス ト ボ ッ ク ス に も ロ ー ド さ れます。 [Insert] ボ タ ン を使用 し て シ ン ボル名を置換で き ます。 ヒ ン ト : こ のモーダル ダ イ ア ロ グ ボ ッ ク ス を使用する 代わ り に、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ のシ ン ボル リ ス ト ビ ュ ーを使用す る こ と も で き ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ はモー ド レ ス で、 アプ リ ケーシ ョ ン ウ ィ ン ド ウ と 結合ま たは分離で き ます。 コ ン テ キ ス ト ウ ィ ン ド ウ には、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ のシ ン ボル リ ス ト で選択 し てい る 項目の宣言 が表示 さ れます。 160 Source Insight ユーザー マニ ュ アル 第5章 [Browse Project Symbols] ダ イ ア ログ ボ ッ ク ス [Browse Project Symbols] ダ イ ア ロ グ ボ ッ ク ス [Symbol] 検索す る シ ン ボルの名前です。 選択範囲の最初の単語が自動 的に ロ ー ド さ れ ます。 任意のシ ン ボル名を入力で き ます。 [Symbol] リ ス ト プ ロ ジ ェ ク ト のすべてのシ ン ボルの リ ス ト を表示 し ま す。 [Symbol] テ キ ス ト ボ ッ ク ス で検索パ タ ーンが指定 さ れた場合、 検 索パ タ ーン と 一致す る すべてのシ ン ボルが リ ス ト さ れます。 シ ン ボル リ ス ト の下部に、 現在選択 し てい る シ ン ボルの タ イ プ と シ ン ボルを含 むフ ァ イ ルが表示 さ れます。 リ ス ト のシ ン ボルの タ イ プは [Symbol Types…] ボ タ ン を ク リ ッ ク し て 設定で き ます。 入力 し てい る 内容に一致す る シ ン ボルが [Symbol] リ ス ト に表示 さ れま す。 た と えば、 「Pch」 と 入力す る と 、 「Pch」 で始ま る リ ス ト の ( 並べ 替え後の順序で ) 最初の項目が リ ス ト で選択 さ れ ます。 名前の大文字 と 小文字は区別 さ れ ません。 ま た、 先頭の下線 (_) は無視 さ れ ます。 シ ン ボル シ ラ ブル マ ッ チン グ を ([Preferences: Typing] で ) 有効に し た 場合、 入力 し たシ ラ ブル と 一致す る 項目 も [Symbol] リ ス ト に表示 さ れ ます。 た と えば、 「cre win」 ( 途中に スペース が含まれてい る 点に注意 ) と 入力す る と 、 名前に 「Cre」 お よ び 「Win」 を含むすべてのシ ン ボ ルが [Symbol] リ ス ト に表示 さ れます。 シ ラ ブル マ ッ チン グのオ ン と オ フ を一時的に切 り 替え る には、 エ ン ト リ の先頭に スペース を追加 し ます。 Source Insight ユーザー マニ ュ アル 161 第5章 コマン ド リ フ ァ レンス 検索パ タ ーンの前 に疑問符 (?) を入 力 し 、 正規表現を 使用 し てシ ンボル を検索で き ます。 疑問符 (?)、 検索パ タ ーンの順に入力 し て [Jump] ボ タ ン を ク リ ッ ク す る と 、 シ ン ボルの検索に正規表現形式の検索パ タ ーン を指定で き ます。 パ タ ーン と 一致す る シ ン ボルはすべて、 [Symbol] リ ス ト に表示 さ れま す。 た と えば、 「Delete」 で開始 し て 「Foo」 を含むすべてのシ ン ボル を検索す る には、 「?^Delete.*Foo」 と 入力 し ます。 [Jump] 現在選択 し てい る シ ン ボルの定義にジ ャ ンプ し ます。 [Symbol] リ ス ト で項目が選択 さ れてい る 場合、 その項目がカ レ ン ト シ ン ボルで す。 選択 さ れていない場合、 [Symbol] テ キ ス ト ボ ッ ク ス に入力 し たシ ン ボルが使用 さ れ ます。 [Symbol] テ キ ス ト ボ ッ ク ス の内容が疑問符 (?) で始ま っ てい る 場合、 疑問符に続 く 検索パ タ ーン と 一致す る すべてのシ ン ボルが リ ス ト さ れ ます。 ダ イ ア ロ グ ボ ッ ク ス は開いた ま ま です。 [Info…] 選択 し てい る シ ン ボルについて [Symbol Info] コ マ ン ド を実行 し ます。 [References] 選択 し てい る シ ン ボルへの参照を検索 し ます。 [Insert w/Args] シ ン ボルが関数の場合、 シ ン ボル定義で指定 さ れてい る よ う に、 現在の選択範囲を シ ン ボルの名前、 パ ラ メ ー タ に置換 し ま す。 [Insert Name] 現在の選択範囲を シ ン ボルの名前に置換 し ます。 [List] [Symbol] リ ス ト に現在 リ ス ト さ れてい る シ ン ボルの ク ロ ス リ フ ァ レ ン ス リ ス ト を作成 し ます。 新規フ ァ イ ル Symlist.txt が作成 さ れ ます。 フ ァ イ ルの各行には、 シ ン ボル名、 そのシ ン ボルが定義 さ れて い る フ ァ イ ル名 と 行番号が含ま れ ます。 [Symbol Types…] シ ン ボル リ ス ト に含め る シ ン ボルの タ イ プ と [Symbol] テ キ ス ト ボ ッ ク ス で正規表現を使用 し た場合に検索す る シ ン ボルの タ イ プ を指定 し ます。 ク ロ ス リ フ ァ レ ン ス リ ス ト の作成 Source Insight では、 シ ン ボル名の リ ス ト を含む出力フ ァ イ ルを作成で き ます。 シ ンボルの ク ロ ス リ フ ァ レ ン ス リ ス ト を作成するには 1. [Browse Project Symbols] コ マ ン ド を実行 し ます。 2. [List] ボ タ ン を ク リ ッ ク し ます。 [Symbol] リ ス ト に リ ス ト さ れてい る すべてのシ ン ボルの リ ス ト 、 シ ン ボルが見つか っ た フ ァ イ ル と 行番号を含む新規フ ァ イ ル Symlist.txt が作成 さ れます。 162 Source Insight ユーザー マニ ュ アル 第5章 Browse Local File Symbols 一部のシ ンボルの ク ロ ス リ フ ァ レ ン ス リ ス ト を作成するには 1. [Browse Project Symbols] コ マ ン ド を実行 し ます。 2. [Symbol Types…] ボ タ ン を ク リ ッ ク し て、 リ ス ト に表示す る シ ン ボ ルの タ イ プ を指定 し ます。 3. [Symbol] テ キ ス ト ボ ッ ク ス に検索表現を入力 し ます。 パ タ ーン は、 パ タ ーン であ る こ と を示す ? 文字で始め る 必要があ り ます。 た と えば、 「?Word」 は部分文字列 「Word」 を含むすべてのシ ン ボ ルを検索 し ます。 4. [Jump] ボ タ ン を ク リ ッ ク し て、 リ ス ト の内容をパ タ ーン と 一致す る すべてのシ ン ボルに置換 し ます。 検索が完了す る と 、 一致 し た すべてのシ ン ボルが [Symbol] リ ス ト に表示 さ れます。 5. [List] ボ タ ン を ク リ ッ ク し て シ ン ボル リ ス ト を作成 し ます。 6. 関数呼び出 し の引数を適切に設定 し ます。 名前で関数を検索するには 名前を完全に覚え ていない関数を呼び出す場合を考え ます。 その関数 の名前に 「Insert」 と 「Char」 が含まれてい る と し ます。 こ の例では、 プ ロ ジ ェ ク ト を作成 し た と き にシ ン ボル シ ラ ブル マ ッ チン グ を有効に し た と 仮定 し てい ます。 1. 関数呼び出 し を挿入す る 場所を選択 し ます。 2. [Browse Project Symbols] コ マ ン ド を実行 し ます。 3. [Symbol] テ キ ス ト ボ ッ ク ス に 「Insert Char」 と 入力 し て し ば ら く 待 ち ます。 2 つの単語の間に スペース を入力す る こ と に注意 し て く だ さ い。 入力 し たシ ラ ブルで [Symbol] リ ス ト が フ ィ ル タ さ れ、 名前 に 「Insert」 と 「Char」 を含むすべてのシ ン ボルが リ ス ト さ れ ます。 こ の機能は、 大文字で始ま る 単語を入力 し た場合にのみ動作 し ま す。 Browse Local File Symbols フ ァ イ ル範囲にあ る カ レ ン ト フ ァ イ ルに含まれ る シ ン ボルをすべて リ ス ト し ます。 こ のダ イ ア ロ グ ボ ッ ク ス か ら 、 シ ン ボル定義の参照、 シ ン ボルへのジ ャ ン プ、 ま たは現在の選択範囲へのシ ン ボル定義の コ ピーの挿入を行 う こ と がで き ます。 Source Insight ユーザー マニ ュ アル 163 第5章 コマン ド リ フ ァ レンス [Browse Local File Symbols] コ マ ン ド を使用す る と 、 選択範囲の最初の 単語が自動的に選択 さ れ ます。 [Insert] ボ タ ン を使用 し て シ ン ボル名を 置換で き ます。 [Symbol] 検索す る シ ン ボルの名前です。 選択範囲の最初の単語が自動 的に ロ ー ド さ れ ます。 任意のシ ン ボル名を入力で き ます。 [Symbol] リ ス ト プ ロ ジ ェ ク ト のすべてのシ ン ボルの リ ス ト を表示 し ま す。 [Symbol] テ キ ス ト ボ ッ ク ス で検索パ タ ーンが指定 さ れた場合、 検 索パ タ ーン と 一致す る すべてのシ ン ボルが リ ス ト さ れます。 シ ン ボル リ ス ト の下部に、 現在選択 し てい る シ ン ボルの タ イ プ と シ ン ボルを含 むフ ァ イ ルが表示 さ れ ます。 リ ス ト のシ ン ボルの タ イ プは [Symbol Types…] ボ タ ン を ク リ ッ ク し て 設定で き ます。 入力 し てい る 内容に一致す る シ ン ボルが [Symbol] リ ス ト に表示 さ れま す。 た と えば、 「Pch」 と 入力す る と 、 「Pch」 で始ま る リ ス ト の ( 並べ 替え後の順序で ) 最初の項目が リ ス ト で選択 さ れ ます。 名前の大文字 と 小文字は区別 さ れ ません。 ま た、 先頭の下線 (_) は無視 さ れ ます。 疑問符 (?)、 検索パ タ ーンの順に入力 し て [Jump] ボ タ ン を ク リ ッ ク す る と 、 シ ン ボルの検索に正規表現形式の検索パ タ ーン を指定で き ます。 パ タ ーン と 一致す る シ ン ボルはすべて、 [Symbol] リ ス ト に表示 さ れま 164 Source Insight ユーザー マニ ュ アル 第5章 Cascade Windows す。 た と えば、 「Delete」 で開始 し て 「Foo」 を含むすべてのシ ン ボル を検索す る には、 「?^Delete.*Foo」 と 入力 し ます。 [Jump] 現在選択 し てい る シ ン ボルの定義にジ ャ ン プ し ます。 [Symbol] リ ス ト で項目が選択 さ れてい る 場合、 その項目がカ レ ン ト シ ン ボルで す。 選択 さ れていない場合、 [Symbol] テ キ ス ト ボ ッ ク ス に入力 し たシ ン ボルが使用 さ れ ます。 [Symbol] テ キ ス ト ボ ッ ク ス の内容が疑問符 (?) で始ま っ てい る 場合、 疑問符に続 く 検索パ タ ーン と 一致す る すべてのシ ン ボルが リ ス ト さ れ ます。 ダ イ ア ロ グ ボ ッ ク ス は開いた ま ま です。 [Info…] 選択 し てい る シ ン ボルについて [Symbol Info] コ マ ン ド を実行 し ます。 [References] 選択 し てい る シ ン ボルへの参照を検索 し ます。 [Insert w/Args] シ ン ボルが関数の場合、 シ ン ボル定義で指定 さ れてい る よ う に、 現在の選択範囲を シ ン ボルの名前、 パ ラ メ ー タ に置換 し ま す。 [Insert Name] 現在の選択範囲を シ ン ボルの名前に置換 し ます。 [List] [Symbol] リ ス ト に現在 リ ス ト さ れてい る シ ン ボルの ク ロ ス リ フ ァ レ ン ス リ ス ト を作成 し ます。 新規フ ァ イ ル Symlist.txt が作成 さ れ ます。 フ ァ イ ルの各行には、 シ ン ボル名、 そのシ ン ボルが定義 さ れて い る フ ァ イ ル名 と 行番号が含ま れ ます。 [Symbol Types…] シ ン ボル リ ス ト に含め る シ ン ボルの タ イ プ と [Symbol] テ キ ス ト ボ ッ ク ス で正規表現を使用 し た場合に検索す る シ ン ボルの タ イ プ を指定 し ます。 Cascade Windows ウ ィ ン ド ウ を重ねて表示 し ます。 Checkpoint カ レ ン ト フ ァ イ ルをデ ィ ス ク に保存 し 、 変更履歴 と 操作履歴を消去 し ます。 「 ク リ ーン な」 保存操作であ る と 考え ら れ ます。 フ ァ イ ルを保存 し て閉 じ 、 再度開 く こ と と 同 じ です。 こ の コ マ ン ド を使用 し た後で以 前の変更を元に戻す こ と はで き ません。 Source Insight バージ ョ ン 3.0 よ り も 前のバージ ョ ン では、 フ ァ イ ルを 保存 し た後、 操作履歴 と 変更履歴を保存 し ていなか っ たため、 こ の コ マ ン ド は [Save] と し て知 ら れてい ま し た。 Checkpoint All 開いてい る すべての フ ァ イ ルに対 し て [Checkpoint] コ マ ン ド を実行 し ます。 開いてい る すべての フ ァ イ ルをデ ィ ス ク に保存 し て、 変更履歴 Source Insight ユーザー マニ ュ アル 165 第5章 コマン ド リ フ ァ レンス と 操作履歴を消去 し ます。 こ の コ マ ン ド を使用 し た後で以前の変更を 元に戻す こ と はで き ません。 Clear Highlights すべての ソ ース ウ ィ ン ド ウ で単語のハ イ ラ イ ト 表示を ク リ ア し ます。 ハ イ ラ イ ト 表示を行 う には、 [Highlight Word] コ マ ン ド を使用 し ます。 Clip Properties ( ク リ ッ プ ウ ィ ン ド ウ ツール バーの右 ク リ ッ ク メ ニ ュ ー ) ク リ ッ プの名前を編集す る [Clip Properties] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 Clip Window Properties ク リ ッ プ ウ ィ ン ド ウ のオプシ ョ ン を設定す る [Clip Window Properties] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 [Preserve clips between sessions] オ ン の場合、 ク リ ッ プは (Source Insight プ ロ グ ラ ム デ ィ レ ク ト リ の ) Clips デ ィ レ ク ト リ に自動的に保存 さ れ、 次回 Source Insight を実行す る と き に ロ ー ド さ れ ます。 オ フ の場 合、 Source Insight を終了す る と ク リ ッ プは破棄 さ れ ます。 [Prompt for new clip name when text is dropped] オ ン の場合、 Source Insight はテ キ ス ト を ク リ ッ プ ウ ィ ン ド ウ に ド ロ ッ プ し た と き に ク リ ッ プの名前を確認 し ます。 オ フ の場合、 Source Insight は ク リ ッ プの名前 を自動的に生成 し ます。 166 Source Insight ユーザー マニ ュ アル 第5章 Close [Delete clip after clip is dragged out] オ ンの場合、 ク リ ッ プ を ク リ ッ プ ウ ィ ン ド ウ の外に ド ラ ッ グす る と 、 ク リ ッ プ ウ ィ ン ド ウ か ら 削除 さ れ ます。 オ フ の場合、 ク リ ッ プは削除 さ れ ません。 [Always paste at the start of the line] オ ン の場合、 カー ソ ルの位置では な く 、 カ レ ン ト 行の行頭に ク リ ッ プ を貼 り 付け ます。 ク リ ッ プ を特定 の場所に ド ラ ッ グ し た場合には適用 さ れません。 [Font…]、 [Text Color…]、 [Back Color…] ク リ ッ プ ウ ィ ン ド ウ の表示オ プシ ョ ン を設定 し ます。 Close カ レ ン ト フ ァ イ ルを閉 じ ます。 フ ァ イ ルが変更 さ れ、 保存 さ れていな い場合、 Source Insight はフ ァ イ ルを閉 じ る 前に変更を保存す る か ど う か確認 し ます。 [ はい ] フ ァ イ ルを保存 し て閉 じ ます。 [ いいえ ] フ ァ イ ルを保存 し ないで閉 じ ます。 行っ た変更は保存 さ れま せん。 [ キ ャ ン セル ] [Close] コ マ ン ド を キ ャ ン セル し ます。 フ ァ イ ルは開かれ た ま ま で保存 さ れ ません。 Source Insight ユーザー マニ ュ アル 167 コマン ド リ フ ァ レンス 第5章 Close All 開いてい る 各フ ァ イ ルについて [Close] コ マ ン ド を実行 し ます。 変更後 に保存 さ れていないすべての フ ァ イ ルについて、 Source Insight はフ ァ イ ルを保存す る か ど う か確認 し ます。 カ ス タ ム コ マ ン ド ウ ィ ン ド ウ を開いて カ ス タ ム コ マ ン ド を実行 し て い る 場合、 こ れ ら の ウ ィ ン ド ウ は閉 じ ら れ ません。 Close Project カ レ ン ト プ ロ ジ ェ ク ト を閉 じ ます。 プ ロ ジ ェ ク ト を閉 じ る と 、 開いて いたすべての フ ァ イ ル も 閉 じ ら れ ます。 Source Insight は、 開いてい る 各フ ァ イ ルについて [Close] コ マ ン ド を実行 し ます。 プ ロ ジ ェ ク ト の ワ ー ク スペース と 設定フ ァ イ ル も 保存 さ れ ます。 Close Window カ レ ン ト ウ ィ ン ド ウ を閉 じ ます。 フ ァ イ ルは複数の ウ ィ ン ド ウ に表示 で き る ため、 ウ ィ ン ド ウ を閉 じ て も フ ァ イ ル バ ッ フ ァ を閉 じ る 必要は あ り ません。 フ ァ イ ルを表示 し てい る ウ ィ ン ド ウ のみを閉 じ る 場合、 フ ァ イ ル も 閉 じ ら れます。 168 Source Insight ユーザー マニ ュ アル 第5章 Color Options Color Options ユーザー イ ン タ ーフ ェ イ ス項目の色を指定す る [Preferences: Colors] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 [Item] リ ス ト 色を設定で き る 表示項目を リ ス ト し ます。 リ ス ト には以 下の項目が含まれます。 表 5.1: 色を設定で き る表示項目 表示項目 説明 [Default Text] 他の ス タ イ ルが適用 さ れていな いプ レーン テ キ ス ト です。 [Window Background] ウ ィ ン ド ウ の背景色です。 [Printed Default Text] プ レーン テ キ ス ト の印刷色です [Printed Window Background] 背景の印刷色です。 [Change Marks] 変更後に保存 し ていない行の左 に表示 さ れ る 変更マー ク の色で す。 [Saved Change Marks] 変更後に保存 し た行の左に表示 さ れ る 変更マー ク の色です。 [End of File] フ ァ イ ルの最後の下部に表示 さ れ る 領域の色です。 [Application Background] ソ ース フ ァ イ ル ウ ィ ン ド ウ を含 む メ イ ン アプ リ ケーシ ョ ン フ レーム ウ ィ ン ド ウ の色です。 Source Insight ユーザー マニ ュ アル 169 第5章 コマン ド リ フ ァ レンス オ ンの場合、 ユーザー イ ン タ ーフ ェ イ ス の一部 で色のグ ラ デーシ ョ ン が使用 さ れ ます。 オ フ の場合、 単色が使用 さ れ ます。 [Use color gradients] [Color…] 新 し い色を選択 し ます。 [Styles…] ス タ イ ル プ ロ パテ ィ を編集 し ます。 [Reset…] 色オプシ ョ ン を初期値に戻 し ます。 Command Shell Source Insight のシ ェ ル コ マ ン ド ボ ッ ク ス を起動す る カ ス タ ム コ マ ン ド です。 Complete Symbol 入力時にシ ン ボル名のエ ン ト リ を補完 し ます。 名前全体を入力す る 時 間を節約で き ます。 自動補完が有効な場合、 [Complete Symbol] コ マ ン ド を実行す る と 自動 補完機能が起動 さ れ、 自動補完 ウ ィ ン ド ウ がポ ッ プア ッ プ し ます。 図 5.1 入力後に自動補完ウ ィ ン ド ウが表示 さ れます。 自動補完が無効で コ ン テ キ ス ト ウ ィ ン ド ウ が表示 さ れてい る 場合、 シ ン ボル名を入力す る と 、 コ ン テ キ ス ト ウ ィ ン ド ウ に入力 し た内容 と 部 分的に一致す る シ ン ボルの名前が表示 さ れ ます。 [Complete Symbol] コ マ ン ド を実行す る と 、 入力 し てい る 単語がシ ン ボ ルの完全な名前に置換 さ れ ます。 た と えば、 InitWindowState と い う 名前の関数があ る と し ます。 「InitWi」 と 入力す る と 、 自動補完 ウ ィ ン ド ウ ま たは コ ン テ キ ス ト ウ ィ 170 Source Insight ユーザー マニ ュ アル 第5章 Context Window ン ド ウ に該当す る 関数 (InitWindowState) が表示 さ れ ます。 [Complete Symbol] コ マ ン ド を実行す る と 、 「InitWi」 が 「InitWindowState」 に置換 さ れ ます。 自動補完設定は補完機能の動作に影響 し ます。 関数名が挿入 さ れた と き に関数呼び出 し パ ラ メ ー タ を挿入す る オプシ ョ ン が用意 さ れてい ま す。 [Preferences] コ マ ン ド を使用 し て自動補完オプシ ョ ン を変更で き ます。 Context Window コ ン テ キ ス ト ウ ィ ン ド ウ の表示を切 り 替え ます。 [Activate Context Window] コ マ ン ド を使用 し た場合 も 、 コ ン テ キ ス ト ウ ィ ン ド ウ が表示 さ れ、 コ ン テ キ ス ト ウ ィ ン ド ウ に フ ォ ーカ ス が変更 さ れます。 Context Window Properties コ ン テ キ ス ト ウ ィ ン ド ウ のプ ロ パテ ィ を指定す る ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 コ ン テ キ ス ト ウ ィ ン ド ウ はテ キ ス ト ウ ィ ン ド ウ で選択 ま たは入力 し た内容に加え て、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ 、 リ レーシ ョ ン ウ ィ ン ド ウ 、 ク リ ッ プ ウ ィ ン ド ウ で選択 し た フ ァ イ ルを追跡 し ま す。 [Show all matches on the current symbol] コ ン テ キ ス ト ウ ィ ン ド ウ に、 一致 し たすべてのシ ン ボルの完全な リ ス ト を表示す る には、 こ のオプ シ ョ ン を選択 し ます。 同 じ 名前の複数の定義があ る 場合、 リ ス ト にす べて表示 さ れます。 [Show only the first symbol match] 最初に一致 し たシ ン ボルの定義のみ を表示す る には、 こ のオプシ ョ ン を選択 し ます。 複数の場所で定義 さ れてい る 本質的に同 じ シ ン ボルを使用 し てい る 場合、 こ のオプシ ョ ン を オ ンに し ます。 Source Insight ユーザー マニ ュ アル 171 第5章 コマン ド リ フ ァ レンス [Show base types for data structure variables] 変数宣言をデ コ ー ド し て ベース構造 タ イ プ定義 (structs、 unions、 classes、 その他 ) を表示す る に は、 こ のオプシ ョ ン を オ ンに し ます。 例: struct S { int x; }; struct S *psvar; psvar->... psvar の内部を選択す る と 、 Source Insight は psvar の宣言を確認 し て、 struct S のポ イ ン タ であ る こ と を理解 し 、 struct S の宣言を表示 し ます。 宣言の階層構造を確認 し ないで、 各変数の宣言を表示す る には、 こ の オプシ ョ ン を オ フ に し ます。 [Show line numbers] コ ン テ キ ス ト ウ ィ ン ド ウ に行番号を表示 し ます。 [Tracking Options…] コ ン テ キ ス ト ウ ィ ン ド ウ で追跡す る 表示オプ シ ョ ン を設定す る [Symbol Tracking Options] ダ イ ア ロ グ ボ ッ ク ス を表 示 し ます。 [Font…] コ ン テ キ ス ト ウ ィ ン ド ウ でシ ン ボル リ ス ト と ソ ース コ ー ド の表示に使用す る フ ォ ン ト を指定 し ます。 コ ン テ キ ス ト ウ ィ ン ド ウ で リ ス ト が表示 さ れてい る 場合、 リ ス ト の フ ォ ン ト が設定 さ れます。 コ ン テ キ ス ト ウ ィ ン ド ウ で ソ ース フ ァ イ ルが表示 さ れてい る 場合、 ソ ー ス コ ー ド の フ ォ ン ト が設定 さ れ ます。 [Text Color…] コ ン テ キ ス ト ウ ィ ン ド ウ の リ ス ト 項目のテ キ ス ト の色 を指定 し ます。 ソ ース コ ー ド の色は [Preferences] ダ イ ア ロ グ ボ ッ ク ス の [Syntax Formatting] オプシ ョ ン で指定 し ます。 [Back Color…] コ ン テ キ ス ト ウ ィ ン ド ウ の リ ス ト 項目の背景色を指定 し ます。 ソ ース コ ー ド の色は [Preferences] ダ イ ア ロ グ ボ ッ ク ス の [Syntax Formatting] オプシ ョ ン で指定 し ます。 172 Source Insight ユーザー マニ ュ アル 第5章 Copy [Symbol Tracking Options] コ ン テ キ ス ト ウ ィ ン ド ウ で追跡す る 表示オプシ ョ ン を設定 し ます。 [Automatic ソ ース フ ァ イ ルでカー ソ ルを移動す る と 、 コ ン テ キ ス ト ウ ィ ン ド ウ Symbol Tracking] で、 カー ソ ルの下、 ま たはカー ソ ルの周 り にあ る シ ン ボルが自動的に 追跡 さ れ ます。 コ ン テ キ ス ト ウ ィ ン ド ウ で追跡す る 項目を指定 し ま す。 [Off] 自動シ ン ボル追跡を無効に し ます。 [Track selected symbol] (i.e. under cursor) 入力カー ソ ルの下にあ る シ ン ボルの定義を調べます。 [Track the enclosing function or class] 入力カー ソ ルを含む関数ま たは ク ラ ス の定義を表示 し ます。 関数を編集す る と き に コ ン テ キ ス ト ウ ィ ン ド ウ で関数の定義 と パ ラ メ ー タ を確認す る のに便利です。 [Activate Tracking] グルー プ 自動追跡が行われ る 条件を指定 し ます。 [Inside of comments] カー ソ ルが コ メ ン ト の内部にあ る と き にシ ン ボル を調べます。 [Inside of string constants] カー ソ ルが引用文字列定数の内部にあ る と き にシ ン ボルを調べます。 [Inside all file types] カー ソ ルが ( ソ ース コ ー ド フ ァ イ ルだけでな く ) 任意の フ ァ イ ルの内部にあ る と き にシ ン ボルを調べます。 Copy 現在の選択範囲の内容を ク リ ッ プボー ド に コ ピー し ます。 ク リ ッ プ ボー ド に コ ピー し た後は、 [Paste] コ マ ン ド を使用 し て他の場所に貼 り 付け る こ と がで き ます。 こ の コ マ ン ド は、 現在の選択範囲が拡張 さ れ てい る 場合にのみ使用で き ます。 Source Insight ユーザー マニ ュ アル 173 コマン ド リ フ ァ レンス 第5章 Copy Line 行全体を含む よ う に現在の選択範囲を拡張 し て、 選択範囲を ク リ ッ プ ボー ド に コ ピー し ます。 [Copy Line] コ マ ン ド を使用す る たびに、 選択 範囲が 1 行下に拡張 さ れ ます。 Copy Line Right 挿入ポ イ ン ト か ら カ レ ン ト 行の行末ま でのテ キ ス ト を ク リ ッ プボー ド に コ ピー し ます。 Copy List こ の コ マ ン ド は、 リ ス ト を右 ク リ ッ ク す る と 表示 さ れます。 [Copy List] コ マ ン ド は、 リ ス ト の内容を ク リ ッ プボー ド に コ ピー し ます。 任 意の リ ス ト の コ ピー、 フ ァ イ ルへの貼 り 付け、 印刷に使用で き ます。 Copy Symbol こ の コ マ ン ド は、 シ ン ボル ウ ィ ン ド ウ を右 ク リ ッ ク す る と 表示 さ れま す。 [Copy Symbol] コ マ ン ド は、 選択 し てい る シ ン ボル と 定義のボデ ィ を ク リ ッ プボー ド に コ ピー し ます。 た と えば、 関数名を ク リ ッ ク し て [Copy Symbol] コ マ ン ド を選択す る と 、 関数全体が ク リ ッ プボー ド に コ ピー さ れ ます。 174 Source Insight ユーザー マニ ュ アル 第5章 Copy To Clip Copy To Clip 現在の選択範囲の内容を指定 し た ク リ ッ プ バ ッ フ ァ に コ ピー し ます。 こ の コ マ ン ド を使用す る と 、 ク リ ッ プ ウ ィ ン ド ウ が表示 さ れ ます。 リ ス ト の ク リ ッ プ項目を選択す る か、 ク リ ッ プ名を入力 し た後、 Enter を押 し て コ ピー操作を完了 し ます。 Create Key List すべての コ マ ン ド と 各 コ マ ン ド に割 り 当て ら れてい る キース ト ロ ー ク シ ョ ー ト カ ッ ト の リ ス ト を含む Keylist.txt フ ァ イ ルを生成 し ます。 Keylist.txt フ ァ イ ルは通常のテ キ ス ト フ ァ イ ルです。 こ の フ ァ イ ルは 編集で き ます。 独自のキーボー ド ク イ ッ ク リ フ ァ レ ン ス ガ イ ド を作成 す る 場合に便利です。 Create Command List すべての コ マ ン ド と 説明の リ ス ト を含む CommandList.txt フ ァ イ ルを生 成 し ます。 CommandList.txt フ ァ イ ルは通常のテ キ ス ト フ ァ イ ルです。 こ の フ ァ イ ルは編集で き ます。 独自の コ マ ン ド ク イ ッ ク リ フ ァ レ ン ス ガ イ ド を作成す る 場合に便利です。 Cursor Down 挿入ポ イ ン ト を 1 行下に移動 し ます。 Cursor Left 挿入ポ イ ン ト を 1 文字左に移動 し ます。 Cursor Right 挿入ポ イ ン ト を 1 文字右に移動 し ます。 Source Insight ユーザー マニ ュ アル 175 第5章 コマン ド リ フ ァ レンス Cursor Up 挿入ポ イ ン ト を 1 行上に移動 し ます。 Custom Commands カ ス タ ム コ マ ン ド は、 コ マ ン ド シ ェ ル バ ッ チ フ ァ イ ルに似てい ます。 カ ス タ ム コ マ ン ド を使用す る と 、 Source Insight か ら コ マ ン ド ラ イ ン ツールを起動 し て、 その出力を キ ャ プチ ャ で き ます。 Windows プ ロ グ ラ ム も 実行で き ます。 カ ス タ ム コ マ ン ド を実行 し た後、 Source Insight に戻 る こ と がで き ま す。 シ ェ ル カ ス タ ム コ マ ン ド の出力は、 フ ァ イ ルに保存す る か、 貼 り 付け る こ と がで き ます。 カ ス タ ム コ マ ン ド は、 現在の設定の一部 と し て格納 さ れます。 カ ス タ ム コ マ ン ド を使用 し て、 コ ンパ イ ラ 、 ソ ース管理プ ロ グ ラ ム、 お よ び sort の よ う な フ ァ イ ル フ ィ ル タ を起動で き ます。 ヒ ン ト : カ ス タ ム コ マ ン ド 編集のシ ョ ー ト カ ッ ト は、 コ マ ン ド を選択す る 間 Ctrl キーを押 し た ま ま に し ます。 その コ マ ン ド の [Custom Commands] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 [Custom Commands] ダ イ ア ログ ボ ッ ク ス 176 Source Insight ユーザー マニ ュ アル 第5章 Custom Commands [Command] 現在選択 し てい る コ マ ン ド の名前を表示 し ます。 こ のプル ダ ウ ン リ ス ト には、 定義済みのすべてのカ ス タ ム コ マ ン ド の リ ス ト が 含ま れ ます。 [Run] カ ス タ ム コ マ ン ド が起動 さ れた と き に実行す る コ マ ン ド ラ イ ン です。 [Run] テ キ ス ト ボ ッ ク ス には特殊な メ タ 文字を入力で き ます。 179 ページの 「Run フ ィ ール ド の フ ォーマ ッ ト 」 も 参照 し て く だ さ い。 [Dir] [Run] テ キ ス ト ボ ッ ク ス で指定 さ れた ス ク リ プ ト を実行す る と き に使用す る 作業デ ィ レ ク ト リ です。 Source Insight は、 コ マ ン ド を実行 す る 前に こ の場所を作業デ ィ レ ク ト リ に設定 し ます。 何 も 指定 し ない 場合、 プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ が作業デ ィ レ ク ト リ に設定 さ れ ます。 [Output] グループ コ マ ン ド の出力を制御 し ます。 [Iconic Window] オ ン の場合、 プ ロ グ ラ ムは最小化 し て起動 さ れ ます。 オ フ の場合、 プ ロ グ ラ ムは通常通 り 起動 さ れます。 [Capture Output] オ ン の場合、 コ マ ン ド の標準出力がキ ャ プチ ャ さ れ、 コ マ ン ド が完了 し た と き に新規 コ マ ン ド 出力 ウ ィ ン ド ウ に表示 さ れ ま す。 コ マ ン ド 出力 ウ ィ ン ド ウ の タ イ ト ルは、 カ ス タ ム コ マ ン ド の名前 にな り ます。 オ フ の場合、 標準出力はキ ャ プチ ャ さ れません。 [Paste Output] オ ン の場合、 コ マ ン ド の標準出力が現在の選択範囲に 貼 り 付け ら れ ます。 [Control] グルー プ コ マ ン ド 実行の前後に行 う 操作を指定 し ます。 [Save Files First] オ ン の場合、 Source Insight はカ ス タ ム コ マ ン ド を実 行す る 前に [Save All] コ マ ン ド を実行 し ます。 [Save All] コ マ ン ド を実 行す る と 、 編集後に保存 し ていない フ ァ イ ルを保存す る か ど う か確認 す る メ ッ セージが表示 さ れ ます。 オ フ の場合、 変更 し た フ ァ イ ルを保存 し ないで コ マ ン ド が実行 さ れ ま す。 コ マ ン ド が完了 し た と き 変更は保存 さ れない ま ま で Source Insight に戻 り ます。 コ マ ン ド を実行 し て ク ラ ッ シ ュ が発生 し た場合、 Source Insight は リ カバ リ を行い ます。 変更は失われ ません。 128 ページの 「 ク ラ ッ シ ュ か ら の リ カバ リ 」 も 参照 し て く だ さ い。 [Pause When Done] オ ンの場合、 Source Insight は コ マ ン ド が完了 し た と き 次の メ ッ セージ を表示 し ます。 [Press any key to return to Source Insight...] オ フ の場合、 コ マ ン ド が完了 し た後 DOS ボ ッ ク ス が閉 じ ら れます。 [Beep When Done] オ ンの場合、 Source Insight は コ マ ン ド が完了 し た と き ビープ を出力 し ます。 Source Insight ユーザー マニ ュ アル 177 第5章 コマン ド リ フ ァ レンス [Wait Until Done] オ ン の場合、 Source Insight は コ マ ン ド が完了す る ま で待ち ます。 オ フ の場合、 Source Insight は コ マ ン ド の完了を待たずに処理を続行 し ます。 Source Insight ウ ィ ン ド ウ に戻っ た後、 コ マ ン ド はバ ッ ク グ ラ ウ ン ド で処理 さ れます。 [Exit to Windows] プ ロ グ ラ ムの起動後 Source Insight を終了 し ます。 [Source Links in Output] コ マ ン ド が完了 し た後、 出力を ど の よ う に扱 う か指定 し ます。 Source Insight が出力を解析す る 際に特定の警告ま たはエ ラ ー メ ッ セージ を検 索す る よ う 指定で き ます。 [Parse Links in Output] コ マ ン ド 出力が ソ ース リ ン ク パ タ ーン で検索 さ れ ます。 パ タ ーンは通常、 警告お よ びエ ラ ー メ ッ セージ と 一致 し ま す。 パ タ ーンが一致す る と 、 Source Insight はその行に ソ ース リ ン ク を 挿入 し ます。 ソ ース リ ン ク は、 警告ま たはエ ラ ー メ ッ セージか ら タ ー ゲ ッ ト の ソ ース行への リ ン ク に使用 さ れ ます。 [Parse Links in Output] オプシ ョ ンがオ ン の場合、 [Pattern] テ キ ス ト ボ ッ ク ス に有効な検索表 現を指定す る 必要があ り ます。 [Pattern Contains] [File, then Line] お よ び [Line, then File]。 パ タ ーン表 現でのグループの順序を示 し ます。 パ タ ーン表現の最初のグループが フ ァ イ ル名で 2 番目のグループが行 番号の場合、 [File, then Line] を選択 し ます。 こ の設定では、 2 番目のグ ループ ( た と えば、 行番号 ) はオプシ ョ ン です。 パ タ ーン表現の最初のグループが行番号で 2 番目のグループが フ ァ イ ル名の場合、 [Line, then File] を選択 し ます。 [Pattern] コ マ ン ド 出力の フ ァ イ ル名 と 行番号の検索に使用 さ れ る 正規 表現です。 [Parse Links in Output] オプシ ョ ンが無効な場合は無視 さ れ ます。 オプシ ョ ン がオ ン の場合、 こ のテ キ ス ト ボ ッ ク ス にはフ ァ イ ル 名 と 行番号の 「グループ」 を含む有効な正規表現が含まれてい る 必要 があ り ます。 113 ページの 「正規表現」 も 参照 し て く だ さ い。 [Add…] [Command] テ キ ス ト ボ ッ ク ス の コ マ ン ド を定義 し ます。 コ マ ン ド が既に存在す る 場合、 再定義 さ れ ます。 [Remove] コ マ ン ド を削除 し ます。 [Run] コ マ ン ド を定義 し て実行 し ます。 [Close] ダ イ ア ロ グ ボ ッ ク ス を閉 じ ます。 ダ イ ア ロ グ ボ ッ ク ス で行わ れた変更はその ま ま残 り ます。 [Menu…] 現在の コ マ ン ド を定義 し て [Menu Assignments] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 178 Source Insight ユーザー マニ ュ アル 第5章 Custom Commands [Keys…] 現在の コ マ ン ド を定義 し て [Key Assignments] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 Run フ ィ ール ド の フ ォ ーマ ッ ト [Run] テ キ ス ト ボ ッ ク ス には、 カ ス タ ム コ マ ン ド が起動 さ れた と き に 実行す る コ マ ン ド を指定 し ます。 [Run] テ キ ス ト ボ ッ ク ス には、 複数 の コ マ ン ド を指定で き ます。 コ マ ン ド はセ ミ コ ロ ン で区切 り ます。 た と えば、 cat make.log;echotime 「cat make.log」 を実行 し た後、 「echotime」 を実行 し ます。 コ マ ン ド シ ェ ルの実行 「type」 や 「dir」 の よ う な シ ェ ル コ マ ン ド を実行す る 場合や、 バ ッ チ フ ァ イ ルを実行す る 場合は、 最初に cmd.exe を実行す る 必要があ り ま す。 た と えば、 cmd /c mybat.bat または cmd /c type foo.txt メモ : Windows 9x/Me を使用 し てい る 場合、 cmd.exe の代わ り に command.com を使用 し て く だ さ い。 [Run] テ キ ス ト ボ ッ ク ス に ( セ ミ コ ロ ン で区切っ て ) 複数の コ マ ン ド を 指定 し た場合、 cmd.exe を指定す る 必要はあ り ません。 Source Insight がバ ッ チ フ ァ イ ルを作成 し て、 cmd.exe を自動的に実行 し ます。 た と えば、 cat readme.txt;dir cmd.exe が既にシ ェ ル内部のバ ッ チ フ ァ イ ルで実行 さ れてい る ため、 問題な く 動作 し ます。 cmd.exe で起動 さ れたシ ェ ルの環境スペース が不足す る 場合があ り ま す。 こ の場合、 /e ス イ ッ チを使用 し て cmd.exe を起動 し ます。 た と え ば、 cmd /e:1024 /c mybat.bat cmd.exe で起動 さ れ る 新 し いサブシ ェ ルに 1K バ イ ト の環境スペース が 割 り 当て ら れ ます。 Source Insight ユーザー マニ ュ アル 179 第5章 コマン ド リ フ ァ レンス コ マ ン ド ラ イ ン置換 [Run] テ キ ス ト ボ ッ ク ス には、 メ タ 文字を指定で き ます。 メ タ 文字は、 次の項目に置換 さ れ ます。 表 5.2: カ ス タ ム コ マ ン ド の メ タ 文字 180 文字 置換後 例 %f カ レ ン ト フ ァ イ ルの フル パ ス名 * c:\myproj\file.c %r プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ に対す る カ レ ン ト フ ァ イ ルの相対パ ス名 * file.c %n カ レ ン ト フ ァ イ ルの リ ーフ名 * file.c %d カ レ ン ト フ ァ イ ルのデ ィ レ ク ト リ パス c:\myproj %h カ レ ン ト フ ァ イ ルのデ ィ レ ク ト リ パ ス ( ド ラ イ ブ名な し ) \myproj %b カ レ ン ト フ ァ イ ルの リ ーフ名 ( 拡張子な し ) * file %e カ レ ン ト フ ァ イ ルの拡張子 c %c カ レ ン ト フ ァ イ ルの ド ラ イ ブ 名 c: %p カレン ト プロジェ ク ト 名 c:\myproj\myproj %j カレン ト プロジェ ク ト のソー ス ディ レク ト リ c:\myproj %J カ レ ン ト プ ロ ジ ェ ク ト のデー タ ディ レク ト リ C:\Documents and Settings\Jim Smith\My Documents\Source Insight\Projects\Base %v カレン ト プロジェ ク ト のソー ス デ ィ レ ク ト リ の ド ラ イ ブ名 c: %o プ ロ ジ ェ ク ト の リ ーフ名 ( パ スなし ) myproj %l カ レ ン ト 行の番号 任意の番号 %w 選択範囲の最初の単語、 ま た はカー ソ ルの下の単語 任意の単語 %s カ ス タ ム コ マ ン ド の実行中に 現在の選択範囲が保存 さ れ る 一時フ ァ イ ルの名前 d:\tmp\vt0004 Source Insight ユーザー マニ ュ アル 第5章 Custom Commands 表 5.2: カ ス タ ム コ マ ン ド の メ タ 文字 文字 置換後 例 %a 現在の日付 05-12-02 %t 現在の時間 08:23 %1 - %9 カ ス タ ム コ マ ン ド の引数 任意の文字列 置換後の説明の最後に * があ る メ タ 文字には、 以下の修飾子文字のい ずれか を続けて指定で き ます。 文字 置換後 例 %o すべての開いてい る フ ァ イル %f%o %m すべての変更 し た フ ァ イル %f%m ShellExecute コ マ ン ド ShellExecute コ マ ン ド は、 Windows シ ェル コマン ド を 起動 し ます。 カ ス タ ム コ マ ン ド は、 指定 さ れた フ ァ イ ルに対 し て Windows シ ェ ルが 操作を実行す る 「ShellExecute」 関数を サポー ト し てい ます。 ShellExecute を使用す る 場合、 フ ァ イ ルの特定の種類を処理す る ために 登録 さ れてい る アプ リ ケーシ ョ ン を知っ てお く 必要はあ り ません。 技 術的なバ ッ ク グ ラ ウ ン ド 情報については、 Windows シ ェ ル API ド キ ュ メ ン ト で 「ShellExecute」 関数を参照 し て く だ さ い。 こ の機能を使用す る には、 カ ス タ ム コ マ ン ド の [Run] 文字列で 「ShellExecute」 を起動 し ます。 フ ォ ーマ ッ ト は次の よ う にな り ます。 ShellExecute <verb> <filespec> <optional parameters> た と えば、 Web サ イ ト を ブ ラ ウ ズす る 場合、 ShellExecute open http://www.somedomain.com verb には以下のいずれかの単語を指定 し ます。 • edit フ ァ イ ルのエデ ィ タ を開 き ます。 • explore 指定 さ れた フ ォ ルダ を表示 し ます。 • open 指定 さ れた フ ァ イ ルを開 き ます。 実行形式フ ァ イ ルま たは ド キ ュ メ ン ト フ ァ イ ルを指定で き ます。 フ ォ ルダや URL も 指定 で き ます。 • print 指定 さ れた ド キ ュ メ ン ト フ ァ イ ルを印刷 し ます。 filespec が ド キ ュ メ ン ト フ ァ イ ルでない場合、 関数は動作 し ません。 • properties フ ァ イ ル ま たはフ ォ ルダのプ ロ パテ ィ を表示 し ます。 • find [ ス タ ー ト ] - [ 検索 ] - [ フ ァ イ ルやフ ォ ルダ ] を起動 し ます。 • "" ( 空の文字列 ) ShellExecute に verb パ ラ メ ー タ を渡 し ません。 Source Insight ユーザー マニ ュ アル 181 第5章 コマン ド リ フ ァ レンス filespec パ ラ メ ー タ には有効なパ ス を指定 し ます。 スペース を含むパ ス 名は二重引用符で囲んで く だ さ い。 %f ( カ レ ン ト フ ァ イ ル ) の よ う な メ タ 文字 も 使用で き ます。 実行フ ァ イ ルの名前 も 指定で き ます。 optional parameters リ ス ト は filespec の後に指定す る すべての項目です。 実行す る アプ リ ケーシ ョ ンに渡 さ れ る パ ラ メ ー タ を指定 し ます。 フ ォ ーマ ッ ト は起動す る verb、 お よ び実行す る アプ リ ケーシ ョ ン に よ っ て決定 さ れ ます。 こ こ で も カ ス タ ム コ マ ン ド の メ タ 文字を使用で き ます。 カ ス タ ム コ マ ン ド の作業デ ィ レ ク ト リ は、 ShellExecute が起動 さ れ る 前に適用 さ れます。 し か し 、 ShellExecute を使用す る 場合、 出力はキ ャ プチ ャ ま たは解析で き ません。 ShellExecute の例 ShellExecute の使用方法を示すい く つかの例を紹介 し ます。 動作 カ ス タ ム コ マ ン ド の Run 文字列 Web サ イ ト をブ ラ ウ ズす る ShellExecute open http:// www.example.com Windows 2000 の ド キ ュ メ ン ト フ ァ イ ル フ ォ ルダ を 表示す る ShellExecute explore "C:\Documents and Settings" Windows 98 の ド キ ュ メ ン ト フ ァ イ ル フ ォ ルダ を表 示す る ShellExecute explore "C:\My Documents" Internet Explorer を起動す る ShellExecute "" iexplore Internet Explorer で フ ァ イ ルを表示す る ShellExecute "" iexplore %f カレン ト プロジェ ク ト フ ォ ルダの フ ァ イ ルを検 索す る ShellExecute find %j カ ス タ ム コ マ ン ド のバ ッ ク グ ラ ウン ド での実行 Source Insight でカ ス タ ム コ マ ン ド シ ェ ル プ ロ グ ラ ム を起動す る と 、 Sihook3.exe と い う プ ロ グ ラ ムが実行 さ れます。 Sihook3.exe は、 コ マ ン ド を起動 し て出力を キ ャ プチ ャ し ます。 カ ス タ ム コ マ ン ド を実行 し て Source Insight ウ ィ ン ド ウ に戻 る と 、 カ ス タ ム コ マ ン ド をバ ッ ク グ ラ ウ ン ド で実行 し なが ら Source Insight で編集を続行で き ます。 182 Source Insight ユーザー マニ ュ アル 第5章 Custom Commands コ ンパイル コ マ ン ド と ビル ド コ マ ン ド の作成 カ ス タ ム コ マ ン ド を使用 し て Source Insight か ら コ ンパ イ ラ を起動 し 、 エ ラ ー メ ッ セージ を キ ャ プチ ャ し て解析で き ます。 次に、 [Go To First Link] お よ び [Go To Next Link] を使用 し て、 ソ ース フ ァ イ ル中のエ ラ ーを表示で き ます。 単純な コ ンパイル コ マ ン ド を作成するには Microsoft® C++ コ ンパ イ ラ を使用す る 単純な コ ンパ イ ラ コ マ ン ド を作 成す る には 1. [Custom Command] コ マ ン ド を実行 し ます。 2. [Command] ド ロ ッ プダ ウ ン リ ス ト で [Compile File] コ マ ン ド を選択 し ます。 3. [Run] テ キ ス ト ボ ッ ク ス に、 「cl %f」 と 入力 し ます。 こ の場合、 カ レ ン ト フ ァ イ ルが コ ンパ イ ル さ れます。 代わ り に 「make」 プ ロ グ ラ ムやバ ッ チ フ ァ イ ルを起動す る こ と も で き ます。 バ ッ チ フ ァ イ ルを使用す る 場合、 「cmd /c mybatch.bat」 の よ う に、 コ マ ン ド プ ロ セ ッ サ を最初に実行 し て く だ さ い。 4. [Parse Links in Output] オプシ ョ ン を オ ンに し ます。 デフ ォ ル ト の 解析パ タ ーンは、 コ ンパ イ ラ の出力か ら コ ンパ イ ラ のエ ラ ー メ ッ セージ を解析す る よ う に設定 さ れます。 5. [Save Files First] オプシ ョ ン を オ ンに し ます。 コ ンパ イ ラ を実行す る 前に フ ァ イ ルが保存 さ れ ます。 6. [Add…] ボ タ ン を ク リ ッ ク し て新規 コ マ ン ド を保存 し ます。 [Menu…] ま たは [Keys…] ボ タ ン を ク リ ッ ク す る と 、 新規 コ マ ン ド が定義 さ れ、 [Menu Assignments] ま たは [Keyboard Assignments] ダ イ ア ロ グ ボ ッ ク ス で コ マ ン ド に メ ニ ュ ーま たはキース ト ロ ー ク を 割 り 当て る こ と がで き ます。 [Parse Links in Output] オプシ ョ ン を オ ンにす る と 、 Source Insight は コ ンパ イ ラ の出力を検索 し て、 各エ ラ ー メ ッ セージに ソ ース リ ン ク を設 定 し ます。 こ の場合、 「 リ ン ク ソ ース」 は コ ンパ イ ラ 出力フ ァ イ ルの 各エ ラ ー メ ッ セージです。 各 リ ン ク の 「 リ ン ク タ ーゲ ッ ト 」 は、 各エ ラ ー メ ッ セージで指定 さ れた フ ァ イ ル と 行番号です。 Source Insight ユーザー マニ ュ アル 183 第5章 コマン ド リ フ ァ レンス Microsoft® Developer Studio を使用 し て プ ロ ジ ェ ク ト を ビル ド するには 1. [Custom Command] コ マ ン ド を実行 し ます。 2. [Command] ド ロ ッ プダ ウ ン リ ス ト で [Build Project] コ マ ン ド を選 択 し ます。 [Build Project] カ ス タ ム コ マ ン ド は、 Source Insight を イ ン ス ト ール し た と き に定義 さ れます。 3. [Run] テ キ ス ト ボ ッ ク ス に、 次の よ う に入力 し ます。 C:\MsDevPath\msdev project.dsp /make /rebuild こ こ で、 「MsDevPath」 は msdev.exe プ ロ グ ラ ム のパ ス で、 「project.dsp」 は Developer Studio プ ロ ジ ェ ク ト の名前です。 msdev.exe が起動 さ れ、 指定 し たプ ロ ジ ェ ク ト がビル ド さ れます。 4. [Parse Links in Output] オプシ ョ ン を オ ンに し ます。 デフ ォ ル ト の 解析パ タ ーンは、 コ ンパ イ ラ の出力か ら コ ンパ イ ラ のエ ラ ー メ ッ セージ を解析す る よ う に設定 さ れます。 5. [Save Files First] オプシ ョ ン を オ ン に し ます。 プ ロ ジ ェ ク ト を ビル ド す る 前に フ ァ イ ルが保存 さ れます。 コ ンパイ ラ エ ラ ーの表示 エ ラ ー と ソ ース行を表示す る には 1. 上記で定義 し た [Compile File] カ ス タ ム コ マ ン ド を実行 し ます。 2. エ ラ ーがあ る 場合、 コ ンパ イ ラ を終了 し た と き にエ ラ ー メ ッ セー ジが 「Compile File」 ウ ィ ン ド ウ に表示 さ れ ます。 Source Insight は ソ ース リ ン ク を自動的に設定 し て [Go To First Link] コ マ ン ド を実 行 し ます。 最初のエ ラ ー メ ッ セージ と ソ ース行が選択 さ れ表示 さ れ ます。 3. [Go To Next Link] コ マ ン ド を実行 し ます。 「Compile File」 ウ ィ ン ド ウ の次のエ ラ ー メ ッ セージが選択 さ れ、 最初のエ ラ ー と 同様に、 リ ン ク の タ ーゲ ッ ト が表示 さ れます。 4. リ ン ク ( エ ラ ー メ ッ セージ ) がすべて表示 さ れ る ま で、[Go To Next Link] コ マ ン ド を使用 し て続行 し ます。 リ ン ク がそれ以上ない場 合、 Source Insight はビープ を出力 し て、 「No links.」 メ ッ セージ を ス テー タ ス バーに表示 し ます。 Cut 現在の選択範囲の内容を ク リ ッ プボー ド に コ ピー し て、 選択範囲を削 除 し ます。 [Cut] コ マ ン ド は選択範囲を削除 し ますが、 テ キ ス ト は ク リ ッ プボー ド に存在 し てい る こ と に注意 し て く だ さ い。 [Cut] コ マ ン ド に続いて [Paste] コ マ ン ド を実行す る と 、 削除を元に戻す こ と がで き ま す。 184 Source Insight ユーザー マニ ュ アル 第5章 Cut Line Cut Line カ レ ン ト 行を ク リ ッ プボー ド に コ ピー し て、 行を削除 し ます。 こ の コ マ ン ド を使用す る 場合、 カー ソ ルは行の ど の位置にあ っ て も か ま い ま せん。 Cut Line Left カ レ ン ト 行の挿入ポ イ ン ト の左にあ る テ キ ス ト をすべて切 り 取 り ます。 Cut Line Right カ レ ン ト 行の挿入ポ イ ン ト の右にあ る テ キ ス ト をすべて切 り 取 り ます。 Cut Selection] or Paste 現在の拡張範囲が拡張 さ れてい る 場合は [Cut] コ マ ン ド を実行 し 、 選 択範囲が挿入ポ イ ン ト の場合は [Paste] コ マ ン ド を実行 し ます。 こ の コ マ ン ド にキーま たはマ ウ ス のボ タ ン を割 り 当てた場合、 キーま たはマ ウ ス のボ タ ン を押すだけでテ キ ス ト を簡単に操作で き ます。 こ の コ マ ン ド を使用する には : 1. マ ウ ス のボ タ ン を ク リ ッ ク お よ び ド ラ ッ グ し て移動す る テ キ ス ト を選択 し ます。 2. テ キ ス ト を切 り 取 る マ ウ ス のボ タ ン ま たはキーを押 し ます。 3. マ ウ ス のボ タ ン を ポ イ ン ト お よ び ク リ ッ ク し て新 し い場所を選択 し ます。 4. テ キ ス ト を貼 り 付け る マ ウ ス のボ タ ン ま たはキーを押 し ます。 Cut Symbol ( シ ン ボル ウ ィ ン ド ウ の右 ク リ ッ ク メ ニ ュ ー ) 選択 し てい る シ ン ボルを切 り 取 り ます。 Cut To Clip 現在の選択範囲の内容を指定 し た ク リ ッ プ バ ッ フ ァ に コ ピー し て、 選 択範囲を削除 し ます。 こ の コ マ ン ド を使用す る と 、 ク リ ッ プ ウ ィ ン ド ウ が表示 さ れ ます。 Cut Word 挿入ポ イ ン ト か ら 単語の最後ま で ( お よ びその後の スペース ) を切 り 取 り ます。 Source Insight ユーザー マニ ュ アル 185 第5章 コマン ド リ フ ァ レンス Cut Word Left 挿入ポ イ ン ト か ら 単語の先頭ま で を切 り 取 り ます。 Delete 現在開いてい る フ ァ イ ルを含む、 デ ィ ス ク 上の フ ァ イ ルを削除 し ます。 Delete All Clips ク リ ッ プ ウ ィ ン ド ウ か ら すべてのユーザー ク リ ッ プ を削除 し ます。 「Clipboard」 は削除で き ない特殊な ク リ ッ プです。 Delete Character 挿入ポ イ ン ト の文字を削除 し ます。 現在の選択範囲が拡張 さ れてい る 場合、 選択範囲全体を削除 し ます。 Delete Clip ( ク リ ッ プ ウ ィ ン ド ウ ツール バーの右 ク リ ッ ク メ ニ ュ ー ) ク リ ッ プ ウ ィ ン ド ウ お よ びデ ィ ス ク か ら ク リ ッ プ フ ァ イ ルを削除 し ま す。 Delete File デ ィ ス ク か ら フ ァ イ ルを削除 し 、 その フ ァ イ ルがプ ロ ジ ェ ク ト の一部 であ っ た場合はカ レ ン ト プ ロ ジ ェ ク ト か ら 削除 し ます。 カ レ ン ト フ ァ イ ルを指定 し た場合、 フ ァ イ ルは閉 じ ら れた後、 削除 さ れ ます。 Delete Line カ レ ン ト 行を削除 し ます。 [Cut Line] コ マ ン ド と 異な り 、 ク リ ッ プボー ド の内容は変更 さ れません。 186 Source Insight ユーザー マニ ュ アル 第5章 Display Options Display Options [Preferences] ダ イ ア ロ グ ボ ッ ク ス の [Display] タ ブ を表示 し ます。 こ れ ら のオプシ ョ ンは、 現在の設定の一部です。 [Display Elements] グループ ユーザー イ ン タ ーフ ェ イ ス の表示を切 り 替え ます。 [Status Bar] Source Insight アプ リ ケーシ ョ ン ウ ィ ン ド ウ の下部にあ る ス テー タ ス バーの表示を切 り 替え ます。 [Tool Bar] Source Insight アプ リ ケーシ ョ ン ウ ィ ン ド ウ の上部にあ る メ イ ン ツール バーの表示を切 り 替え ます。 [Clip Window] ク リ ッ プ ウ ィ ン ド ウ の表示を切 り 替え ます。 [Project Window] プ ロ ジ ェ ク ト ウ ィ ン ド ウ の表示を切 り 替え ます。 Source Insight ユーザー マニ ュ アル 187 第5章 コマン ド リ フ ァ レンス [Context Window] コ ン テ キ ス ト ウ ィ ン ド ウ の表示を切 り 替え ます。 [Relation Window(s)] リ レーシ ョ ン ウ ィ ン ド ウ の表示を切 り 替え ます。 [Reset] すべての補助 ウ ィ ン ド ウ の位置を リ セ ッ ト し て メ イ ン モニ タ に移動 し ます。 [Options] グルー プ プ ロ グ ラ ムの異な る 表示要素の一般的なオプシ ョ ン を制御 し ます。 [Page Number in status bar] オ ンの場合、 現在の選択範囲を含むページ の番号が ス テー タ ス バーに表示 さ れ ます。 ページ番号は [Document Options] コ マ ン ド で選択 さ れたプ リ ン タ フ ォ ン ト のサ イ ズ、 構文 フ ォ ーマ ッ ト オプシ ョ ン、 お よ び [Page Setup] の設定か ら 計算 さ れ ま す。 [Cascade new windows] オ ン の場合、 Source Insight は新規 ウ ィ ン ド ウ を他の ウ ィ ン ド ウ に重ねて表示 し ます。 オ フ の場合、 Source Insight は 新規 ウ ィ ン ド ウ を現在の ウ ィ ン ド ウ と 同 じ 場所に表示 し ます。 現在の ウ ィ ン ド ウ は新規 ウ ィ ン ド ウ に隠 さ れます。 [Maximize new windows] オ ン の場合、 Source Insight は新 し く 開いた ウ ィ ン ド ウ を自動的に最大表示 し ます。 オ フ の場合、 Source Insight は 通常の MDI 形式で ウ ィ ン ド ウ を開 き ます。 [Horizontal scroll bars for each new window] オ ンの場合、 新規 ソ ース フ ァ イ ル ウ ィ ン ド ウ に水平ス ク ロ ール バーが表示 さ れます。 [Vertical scroll bars for each new window] オ ンの場合、 新規 ソ ース フ ァ イ ル ウ ィ ン ド ウ に垂直ス ク ロ ール バーが表示 さ れます。 [Smooth scrolling windows] オ ンの場合、 ウ ィ ン ド ウ は 1 行ご と にジ ャ ンプす る 代わ り に、 ス ムース に ス ク ロ ール さ れます。 ス ムース ス ク ロ ールは ス ク ロ ールを連続に行 う のではな く 、 一度に 1 行ま たは 2 行 ス ク ロ ールす る 場合に有効にな り ます。 編集を開始す る か、 素早 く ス ク ロ ールす る と 、 ス ムース ス ク ロ ール も ス ピー ド ア ッ プ し ます。 オ フ の場合、 ウ ィ ン ド ウ は一度に 1 行ス ク ロ ール し ます。 使用 し てい る ビ デオ カー ド で ス ク ロ ール処理が遅い場合、 こ のオプシ ョ ン を オ フ に し て く だ さ い。 [Show line revision marks in left margin] オ ン の場合、 Source Insight は フ ァ イ ルが保存ま たは開かれた後、 変更ま たは削除 さ れた行の左余白 をハ イ ラ イ ト 表示 し ます。 編集 し た行を素早 く 確認す る のに便利です。 [Go To Next Change] お よ び [Go To Previous Change] コ マ ン ド (Alt+ キー パ ッ ド の + お よ び Alt+ キーパ ッ ド の -) を使用す る と 、 カ レ ン ト フ ァ イ ルの変更を移動で き ます。 [Show book marks in left margin] オ ン の場合、 Source Insight は [Bookmark] コ マ ン ド でマー ク を追加 し た行の左余白にブ ッ ク マー ク ア イ コ ン を表示 し ます。 188 Source Insight ユーザー マニ ュ アル 第5章 Display Options [Show exact case of file names] オ ン の場合、 Source Insight はフ ァ イ ル 名を その ま ま表示 し ます。 オ フ の場合、 Source Insight はフ ァ イ ル名の 最初の文字を大文字、 その他の文字を小文字で表示 し ます。 フ ァ イ ル 名に大文字 と 小文字が含まれてい る 場合、 Source Insight はフ ァ イ ル名 を変換 し ません。 こ のオプシ ョ ンは、 Source Insight が表示す る フ ァ イ ル名にのみ影響 し ます。 フ ァ イ ル名は、 フ ァ イ ル シ ス テ ム で示 さ れた と お り にデー タ ベース に格納 さ れ ます。 [Show read-only file names with ! mark] オ ンの場合、 Source Insight は ウ ィ ン ド ウ タ イ ト ルで フ ァ イ ル名の先頭に感嘆符 (!) を追加 し て読み 取 り 専用フ ァ イ ルを表示 し さ れ ます。 こ のオプシ ョ ンは、 ウ ィ ン ド ウ タ イ ト ルでの フ ァ イ ル名の表示方法にのみ影響 し ます。 [Show current project name in application background] オ ン の場合、 カ レ ン ト プ ロ ジ ェ ク ト の名前が Source Insight アプ リ ケーシ ョ ン ウ ィ ン ド ウ の複数の ド キ ュ メ ン ト バ ッ ク グ ラ ウ ン ド 領域に表示 さ れ ます。 [Tile source and destination windows for Source Link commands] オ ン の場合、 [Go To First Link]、 [Go To Next Link] の よ う な ソ ース リ ン ク コ マ ン ド を使用す る と 、 Source Insight は ソ ース リ ン ク の ソ ース と タ ー ゲ ッ ト を並べて表示 し ます。 ソ ース リ ン ク コ マ ン ド は、 ソ ース リ ン ク の出力を解析す る カ ス タ ム コ マ ン ド ( 「 コ ンパ イ ル」 コ マ ン ド な ど ) を実行 し た と き に も 使用 さ れ ます。 オ フ の場合、 Source Insight は ソ ー ス リ ン ク コ マ ン ド を使用 し た と き に ウ ィ ン ド ウ を並べて表示 し ません が、 ソ ース リ ン ク の タ ーゲ ッ ト を含む ウ ィ ン ド ウ を ア ク テ ィ ブに し ま す。 カ レ ン ト ウ ィ ン ド ウ が最大表示 さ れてい る 場合、 ウ ィ ン ド ウ は並べて 表示 さ れ ません。 [Use background textures] ツール バーやダ イ ア ロ グ ボ ッ ク ス の よ う な ユーザー イ ン タ ーフ ェ イ ス要素の背景に灰色のテ ク ス チ ャ を使用 し ま す。 [Use flat style toolbars] 新 し い Windows プ ロ グ ラ ムの よ う に、 新 し い 「フ ラ ッ ト 」 形式の ツール バー ボ タ ン を使用 し ます。 オ フ の場合、 ツール バー ボ タ ンは従来の形式で表示 さ れ ます。 [Enable Theming] Windows XP お よ びそれ以降で、 XP テーマの使用 と ダ イ ア ロ グ ボ ッ ク ス、 メ ニ ュ ー、 ウ ィ ン ド ウ フ レーム、 その他のユー ザー イ ン タ ーフ ェ イ ス要素の ビ ジ ュ アル ス タ イ ルを有効に し ます。 設 定の変更を有効にす る には、 Source Insight を再起動す る 必要があ り ま す。 [Enable Animations] 入力フ ォ ーカ ス が フ ロ ーテ ィ ン グ ツール ウ ィ ン ド ウ に変更 さ れた と き 、 お よ びフ ロ ーテ ィ ン グ ウ ィ ン ド ウ が 「拡大」 ま たは 「縮小」 さ れた と き に表示す る ア ニ メ ーシ ョ ン を有効に し ます。 Source Insight ユーザー マニ ュ アル 189 第5章 コマン ド リ フ ァ レンス ビデオ カー ド のパフ ォ ーマ ン ス が低い場合はア ニ メ ーシ ョ ン を オ フ に し て く だ さ い。 [Sort Window menu by usage] および [Sort Window menu by title] [Window] メ ニ ュ ーに表示 さ れ る ウ ィ ン ド ウ 名を ど の よ う に並べ替え る か を指定 し ます。 [Sort Window menu by usage] が選択 さ れてい る 場合、 最近使用 し た ウ ィ ン ド ウ か ら 順に表示 さ れ ます。 [Sort Window menu by title] が選択 さ れてい る 場合、 アルフ ァ ベ ッ ト 順に表示 さ れます。 [Styles…] ス タ イ ル プ ロ パテ ィ を編集 し ます。 311 ページの 「Style Properties」 も 参照 し て く だ さ い。 [Spacing…] 文字の間隔オプシ ョ ン を変更 し ます。 190 ページの 「[Character Spacing Options] ダ イ ア ロ グ ボ ッ ク ス」 も 参照 し て く だ さ い。 [Character Spacing Options] ダ イ ア ログ ボ ッ ク ス 文字の水平間隔オ プ シ ョ ンはプ ロ ポーシ ョ ナル フ ォ ン ト で便利です。 190 文字の間隔オプシ ョ ンは、 文字の水平間隔お よ び垂直間隔の制御に使 用 し ます。 こ のダ イ ア ロ グ ボ ッ ク ス では、 Source Insight が空白、 タ ブ、 お よ び一般的な区切 り 文字の幅を ど の よ う に計算す る か調整で き ます。 [Document Options] ダ イ ア ロ グ ボ ッ ク ス の [Line up white space] オプシ ョ ンがオ フ の場合、 最初の 2 つの設定は効果があ り ません。 Source Insight ユーザー マニ ュ アル 第5章 Display Options [Horizontal Spacing] オプ シ ョ ン プ ロ ポーシ ョ ナル フ ォ ン ト が使用 さ れ、 [Document Options] ダ イ ア ロ グ ボ ッ ク ス の [Line up white space] オプシ ョ ン がオ ン の場合、 表示す る 文字の幅を調整 し ます。 オ ン の場合、 Source Insight は スペース と タ ブに固定の幅を使用 し ます。 スペース と タ ブは固定ピ ッ チの フ ォ ン ト を使用 し た場合 と 同 じ 方法で表示 さ れ ます。 プ ロ ポーシ ョ ナル フ ォ ン ト を使用 し てい る 場合、 こ のオプシ ョ ン を オ ンにす る と プ ロ グ ラ ムが よ り 見やす く な り ます。 スペース幅文字 スペース幅文字は単一スペース の幅を制御 し ます。 こ の結果、 タ ブ ( スペース数文字分 ) の幅 も 制御 さ れます。 Source Insight は、 表示に使 用 さ れ る すべての フ ォ ン ト で、 こ の文字 と 同 じ 幅にな る よ う に スペー ス を計算 し ます。 た と えば、 こ のダ イ ア ロ グ ボ ッ ク ス で文字 「1」 が 指定 さ れてい る 場合、 スペース文字の幅は文字 「1」 と 同 じ 幅にな り ま す。 ( 文字 と その数値を混同 し ないで く だ さ い。 Source Insight が文字 の数値に干渉す る こ と はあ り ません。 ) Source Insight は スペース の幅を スペース幅文字に基づいて計算す る た め、 スペース は使用 さ れてい る フ ォ ン ト やフ ォ ン ト サ イ ズに関係な く 正確に計測 さ れ ます。 幅広フ ォ ン ト での作業 通常の文字幅でない フ ォ ン ト を使用 し てい る 場合、 ま たは空白 と イ ン デン ト の量を調整す る 場合は、 こ の設定を変更 し ます。 幅の狭い文字 では空白が縮小 さ れ、 幅の広い文字では空白が拡大 さ れます。 こ の幅 は [Document Options] ダ イ ア ロ グ ボ ッ ク ス で指定 さ れた タ ブ幅の設定 には依存 し ません。 タ ブ幅は固定幅文字カ ラ ムの数 と し て指定 さ れ ま す。 一般的な区切 り 文字の幅 も スペース に似た方法で制御で き ます。 影響 を受け る 区切 り 文字は、 ほ と ん ど の フ ォ ン ト で狭い文字であ る - | \ / お よ び ! です。 [Layout tabstops using monospaced calculations] タ ブの幅を制御 し ま す。 オ ン の場合、 等幅フ ォ ン ト を使用 し てい る と 仮定 し て タ ブの幅が 計算 さ れ ます。 ソ ース コ ー ド の表示に可変ピ ッ チの フ ォ ン ト を使用 し てい る 場合で も 、 テ キ ス ト のカ ラ ム を タ ブ付 き に し ます。 [Layout spaces using monospaced calculations] スペース文字を モ ノ ス ペース の フ ォ ン ト が使用 さ れた場合 と 同 じ よ う に表示 し ます。 た と え ば、 4 つの スペース は タ ブ ス ト ッ プ と 同 じ 幅にな り ます ( タ ブの幅が 4 文字の場合 )。 Source Insight は各行を確認 し て、 スペース文字にいつ こ のルールを適用す る か決定 し ます。 スペース を使用 し て手動でカ ラ ム を並べ る 場合は、 こ のルールが適用 さ れ ます。 ルールは 2 つ以上の 連続す る スペース にのみ適用 さ れます。 その他の場合、 指定 さ れた Source Insight ユーザー マニ ュ アル 191 第5章 コマン ド リ フ ァ レンス フ ォ ン ト で自然な幅の スペース にな る よ う に スペース の幅が計算 さ れ ます。 こ のオプシ ョ ンは、 デフ ォ ル ト でオ ン です。 こ のオプシ ョ ン を使用す る と 、 タ ブ と スペース を使用 し て カ ラ ム を並 べ る 場合を除いて、 スペース のサ イ ズは自然なサ イ ズにな り ます。 こ れは精密化学ではあ り ません ! Source Insight は、 構文フ ォ ーマ ッ ト を使用 し てい る 場合で も 、 単純に 表示 さ れ る よ う にテ キ ス ト を並べて表示 し ます。 [Draft View] コ マ ン ド を使用 し てテ キ ス ト のア ラ イ メ ン ト を確認す る こ と も で き ます。 [Vertical Spacing] オプ シ ョ ン こ れ ら のオプシ ョ ンは行間隔を制御 し ます。 [Smaller line heights (reduces font leading)] 行の高 さ を圧縮 し て画面に 多 く のテ キ ス ト 行を表示す る には、 こ のオプシ ョ ン を オ ン に し ます。 こ のオプシ ョ ン を オ ン にす る と 、 にオペレーテ ィ ン グ シ ス テ ム に よ っ て フ ォ ン ト に追加 さ れ る 「行間隔」 が少な く な り ます。 行間隔が追加 さ れ る と 印刷 さ れた ド キ ュ メ ン ト は見やす く な り ます。 し か し 、 ソ ー ス コ ー ド の編集には必要あ り ません。 間隔が問題 と な る理由 「なぜ間隔が問題にな る ので し ょ う ? タ ブ ス ト ッ プ を 1/2 イ ンチの よ う に設定すればいいだけでは ?」 と 思われ る か も し れ ません。 答えは少 し 複雑です。 問題は、 ワー ド プ ロ セ ッ サ と 異な り 、 Source Insight は単 純なテ キ ス ト エデ ィ タ と 同 じ よ う にテ キ ス ト フ ァ イ ルを表示 し よ う と す る 点にあ り ます。 た と えば、 Source Insight を使用 し ていない人や ソ ース コ ー ド に常に固 定ピ ッ チの フ ォ ン ト を使用す る 人が同 じ ワ ー ク グループにい る と し ま す。 その人が コ ー ド を見 る と き に単純な固定幅の タ ブ ス ト ッ プで表示 さ れな く な る よ う に Source Insight で コ ー ド を編集 し よ う と は思わない でし ょ う 。 ワ ー ド プ ロ セ ッ サ プ ロ グ ラ ムは、 プ リ ン タ に印刷す る イ メ ージでテ キ ス ト を表示 し ます。 Source Insight は、 別のエデ ィ タ で固定ピ ッ チの フ ォ ン ト を使用 し て表示 し た場合 と 同 じ よ う にテ キ ス ト を表示 し ます。 ワ ー ド プ ロ セ ッ サ プ ロ グ ラ ム では、 テ キ ス ト のサ イ ズは、 イ ンチやセ ンチ メ ー ト ルの よ う に物理的な単位で測定 さ れます。 た と えば、 タ ブ ス ト ッ プ を 1/2 イ ンチに設定 し ます。 テ キ ス ト を印刷す る と き 、 ワ ー ド プ ロ セ ッ サは タ ブ ス ト ッ プがプ リ ン タ 上で 1/2 イ ンチ幅にな る こ と を確認 し ます。 Source Insight では、 タ ブ ス ト ッ プは固定サ イ ズの文字カ ラ ム で計測 さ れます。 Source Insight は タ ブ付 き のカ ラ ム を固定ピ ッ チの フ ォ ン ト が 使用 さ れた場合 と 同 じ よ う に整列 し ます。 192 Source Insight ユーザー マニ ュ アル 第5章 Display Options Source Insight が水平の ピ ク セル位置に基づいて次の タ ブ位置に単純に 移動 し た場合、 固定ピ ッ チの フ ォ ン ト で コ ー ド を見 る と 、 異な る 数の タ ブが画面に表示 さ れます。 次に例を示 し ます。 メ モ帳で Courier New ( 固定ピ ッ チの フ ォ ン ト ) を 使用 し 、 X と Y、 お よ び Q と R を タ ブで区切っ て カ ラ ム を揃え た と し ます。 単語 「narrow」 と 「wide」 は、 ど ち ら も カ ラ ム 0 (1 タ ブ ス ト ッ プ ) に収ま っ てい ます。 タブ スト ッ プ: 0 1 2 行 1: narrow X Q 行 2: wide Y R 3 次に、 Source Insight で リ ッ チ フ ォ ーマ ッ ト を使用 し た場合、 「narrow」 は タ ブの幅に収ま り ますが、 「wide」 は収ま り ません。 Y は 1 つ以上の タ ブ ス ト ッ プ分移動 さ れ、 次の よ う にな り ます。 タブ ス ト ップ : 0 1 2 行 1: narrow X Q 行 2: w i d e 3 Y R Y は Q と 整列 さ れ ま し た。 残 り のカ ラ ムは整列 さ れ ません。 実際、 [Document Options] で [Line up white space] オプシ ョ ン を オ フ にす る と こ の よ う にな り ます。 [Line up white space] オプシ ョ ンがオ ンにな っ てい る と 、 Source Insight は タ ブの位置を揃え て表示 し よ う と し ます。 タブ ス ト ップ : 0 1 2 行 1: narrow X Q 行 2: w i d e 3 R Y コ ー ド が上記の よ う に表示 さ れ る 場合、 「M」 や 「W」 の よ う に多 く の フ ォ ン ト で幅広で表示 さ れ る 文字に異な る スペース幅を指定 し ます。 すべての タ ブ ス ト ッ プの幅が広 く な り 、 次の よ う に表示 さ れ ます。 タブ ス ト ップ : 0 1 2 行 1: narrow X Q 行 2: w i d e Y R Source Insight ユーザー マニ ュ アル 193 第5章 コマン ド リ フ ァ レンス こ の処理は、 固定ピ ッ チの フ ォ ン ト で表示 し た と き よ り も テ キ ス ト が 非常に狭 く な る 場合に も 有効です。 Document Options [Document Options] コ マ ン ド では、 現在編集 し てい る フ ァ イ ルの名前ま たは拡張子に基づいて編集お よ び表示オプシ ョ ン を定義 し ます。 ド キュ メ ン ト タ イプ ド キュ メ ン ト タ イ プは、 フ ァ イル タ イ プの言語 と 編集 オプシ ョ ン を決定 し ます。 ド キ ュ メ ン ト タ イ プは [Document Options] コ マ ン ド で定義 さ れ る フ ァ イ ルの分類です。 Source Insight は、 フ ァ イ ルの名前を使用 し て ド キ ュ メ ン ト タ イ プ を決定 し ます。 ド キ ュ メ ン ト タ イ プ を使用 し て、 Source Insight で異な る 動作に異な る 種類の ソ ース フ ァ イ ルを関連付け ます。 [Document Options] ダ イ ア ログ ボ ッ ク ス [Document Type] こ れ ま で定義 し たすべての ド キ ュ メ ン ト タ イ プの リ ス ト です。 こ の リ ス ト か ら ド キ ュ メ ン ト タ イ プ を選択す る と 、 ダ イ ア ロ グ ボ ッ ク ス の他のテ キ ス ト ボ ッ ク ス はその ド キ ュ メ ン ト タ イ プの プ ロ パテ ィ を反映す る よ う に更新 さ れ ます。 リ ス ト の最初のエ ン ト リ は常に [Default] ド キ ュ メ ン ト タ イ プです。 エ ン ト リ の内容は変更で き ますが、 エ ン ト リ を削除す る こ と はで き ません。 [Document Options] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ る と き 、 カ レ ン ト フ ァ イ ルの ド キ ュ メ ン ト タ イ プが自動的に選択 さ れます。 194 Source Insight ユーザー マニ ュ アル 第5章 Document Options [Add Type…] 新規 ド キ ュ メ ン ト タ イ プ を追加 し ます。 ボ タ ン を ク リ ッ ク す る と 、 ド キ ュ メ ン ト タ イ プの名前を確認す る メ ッ セージが表示 さ れ ます。 [Remove Type] 選択 し てい る ド キ ュ メ ン ト タ イ プ を削除 し ます。 こ の 操作は元に戻せません。 [Auto Indent…] 選択 し てい る ド キ ュ メ ン ト タ イ プの自動 イ ンデン ト 設 定を変更 し ます。 199 ページの 「自動 イ ンデン ト 」 も 参照 し て く だ さ い。 [File Filter] フ ァ イ ル名の区切 り 付 き リ ス ト です。 リ ス ト のエ ン ト リ は スペース、 セ ミ コ ロ ン、 ま たはカ ン マで区切 り ます。 各エ ン ト リ は、 フ ァ イ ル名ま たは ワ イ ル ド カー ド のいずれかで指定 し ます。 バ ッ ク ス ラ ッ シ ュ を含む ド ラ イ ブ名ま たはフル パ ス は指定で き ません。 た と えば、 *.c;*.h ワ イル ド カー ド フ ィ ル タ を使用 し て フ ァ イル と ド キュ メ ン ト タ イ プ を一致 さ せます。 フ ァ イ ル名を指定す る と 、 Source Insight は [File Filter] テ キ ス ト ボ ッ ク ス の フ ァ イ ル と 一致す る すべての定義済みの ド キ ュ メ ン ト タ イ プ を検 索 し て、 フ ァ イ ルの ド キ ュ メ ン ト タ イ プ を識別 し ます。 実際に、 Source Insight は ド キ ュ メ ン ト タ イ プ レ コ ー ド のセ ッ ト 全体を 2 つのパ ス に分けて フ ァ イ ルの ド キ ュ メ ン ト タ イ プ を決定 し ます。 1. 最初に、 [File Filter] リ ス ト のすべての フ ァ イ ル名 と 一致す る フ ァ イ ルを検索 し ます。 2. 一致す る フ ァ イ ルがない場合、 [File Filter] リ ス ト のすべての ワ イ ル ド カー ド と 一致す る フ ァ イ ルを検索 し ます。 3. それで も 一致す る フ ァ イ ルがない場合、 Source Insight はその フ ァ イ ルが [Default] ド キ ュ メ ン ト タ イ プであ る と 仮定 し ます。 こ れは、 特殊な方法で一部の フ ァ イ ルを処理で き る こ と を意味 し ます。 た と えば、 「*.inc」 は通常 [x86 Asm Source File] ド キ ュ メ ン ト タ イ プに 含ま れ ますが、 「cmd.inc」 フ ァ イ ルを [C Source File] ド キ ュ メ ン ト タ イ プ と し て指定で き ます。 [C Source] ド キ ュ メ ン ト タ イ プの [File Filter] テ キ ス ト ボ ッ ク ス に、 「cmd.inc」 を追加 し ます。 *.c;*.h;cmd.inc ド キ ュ メ ン ト タ イ プの フ ァ イ ル フ ィ ル タ と し て * を追加す る と 、 「Default」 ド キ ュ メ ン ト タ イ プの代わ り にデフ ォ ル ト の catchall タ イ プ にな り ます。 catchall タ イ プはフ ァ イ ルが他の ド キ ュ メ ン ト タ イ プ と 一致 し ていない場合にのみ適用 さ れ ます。 新規フ ァ イル拡張子の追加 標準 ド キ ュ メ ン ト タ イ プの フ ァ イ ル フ ィ ル タ に新規エ ン ト リ を追加す る こ と も で き ます。 た と えば、 デフ ォ ル ト では、 [C Source File] ド キ ュ メ ン ト の拡張子は 「*.c」 お よ び 「*.h」 です。 拡張子が .h2 の C ソ ース Source Insight ユーザー マニ ュ アル 195 第5章 コマン ド リ フ ァ レンス フ ァ イ ルがあ る 場合、 「*.h2」 を [C Source File] ド キ ュ メ ン ト タ イ プの [File Filter] リ ス ト に追加 し ます。 *.c;*.h;*.h2 プ ロ ジ ェ ク ト に追 加 さ れる ド キ ュ メ ン ト タ イ プ を制御 で き ます。 [Add Files] ダ イ ア ロ グ ボ ッ ク ス の よ う に フ ァ イ ルの リ ス ト が表示 さ れ る 場合は常に、 Source Insight はすべての定義済み ド キ ュ メ ン ト タ イ プ のすべての [File Filter] テ キ ス ト ボ ッ ク ス に含ま れ る フ ァ イ ルを リ ス ト し ます。 つま り 、 新規 ド キ ュ メ ン ト タ イ プ を追加す る と 、 それ ら の フ ァ イ ルはフ ァ イ ル リ ス ト に も 表示 さ れます。 [Use options from Default type] オ ンの場合、 [Editing Options] お よ び [Status Bar Options] には [Default] ド キ ュ メ ン ト タ イ プの設定が使用 さ れます。 多 く の ド キ ュ メ ン ト タ イ プ を定義 し て、 1 つの場所 ([Default] ド キ ュ メ ン ト タ イ プ レ コ ー ド ) か ら オプシ ョ ン を制御で き ます。 パー サーの設定は影響を受け ません。 各 ド キ ュ メ ン ト タ イ プで一意の ま ま です。 オ フ の場合、 [Editing Options] お よ び [Status Bar Options] には各 ド キ ュ メ ン ト タ イ プ レ コ ー ド の設定が使用 さ れます。 [Include when adding to projects] オ ンの場合、 プ ロ ジ ェ ク ト に追加す る 新規フ ァ イ ルを検索す る と き に [Add File] コ マ ン ド お よ び自動フ ァ イ ル追加機能で選択 し てい る ド キ ュ メ ン ト タ イ プが追加 さ れ ます。 [Font Options] グ ループ [Emulate screen fonts when printing] オ ンの場合、 Source Insight は [Screen Fonts…] の フ ォ ン ト 設定を印刷時に使用 し ます。 TrueType フ ォ ン ト を使用 し てい る 場合に最適です。 オ フ の場合、 [Printer Fonts…] ボ タ ンの フ ォ ン ト 設定が印刷時に使用 さ れます。 [Line up white space] こ のオプシ ョ ンは、 プ ロ ポーシ ョ ナル フ ォ ン ト プ ロポーシ ョ ナル フ ォ ン ト を使用 し た場合で も正 し く イ ンデン ト で き ま す。 を選択 し てい る 場合にのみ適用 さ れ ます。 Courier New の よ う な固定 ピ ッ チの フ ォ ン ト を選択 し てい る 場合は影響を受け ません。 オ ンの場合、 Source Insight は スペース と タ ブに固定の幅を使用 し ます。 スペース と タ ブは固定ピ ッ チの フ ォ ン ト を使用 し た場合 と 同 じ 方法で 表示 さ れ ます。 プ ロ ポーシ ョ ナル フ ォ ン ト を使用 し てい る 場合、 こ の オプシ ョ ン を オ ン にす る と プ ロ グ ラ ム が よ り 見やす く な り ます。 コ ー ド の表示に Courier New ( ま たは他の固定ピ ッ チの フ ォ ン ト ) フ ォ ン ト を使用 し てい る 場合は、 こ のオプシ ョ ン を試 し てみて く だ さ い。 オ フ の場合、 Source Insight は文字の自然な幅を使用 し ます。 固定ピ ッ チの フ ォ ン ト を使用 し て ソ ース コ ー ド を表示す る ツールを使 用 し てい る 人がチーム にい る 場合に便利です。 プ ロ ポーシ ョ ナル フ ォ ン ト を使用 し なが ら 、 固定ピ ッ チの フ ォ ン ト の有効な表現を維持で き ます。 196 Source Insight ユーザー マニ ュ アル 第5章 Document Options [Preferences: Display] ダ イ ア ロ グ ボ ッ ク ス の [Spacing] ボ タ ン を ク リ ッ ク し て Source Insight が スペース の固定幅を計算す る 方法を制御で き ま す。 詳細は、 190 ページの 「[Character Spacing Options] ダ イ ア ロ グ ボ ッ ク ス」 を参照 し て く だ さ い。 [Screen Fonts…] 画面の表示に使用す る フ ォ ン ト を選択 し ます。 ボ タ ン の右に、 現在選択 し てい る フ ォ ン ト の名前が表示 さ れ ます。 [Printer Fonts…] 印刷に使用す る フ ォ ン ト を選択 し ます。 ボ タ ンの右 に、 現在選択 し てい る フ ォ ン ト の名前が表示 さ れ ます。 こ の設定は、 前述 し た [Emulate screen fonts when printing] オプシ ョ ンがオ フ の場合に のみ効果があ り ます。 [Parsing] グルー プ [Language] Source Insight で定義 さ れてい る すべての言語の リ ス ト で す。 現在の ド キ ュ メ ン ト タ イ プの解析 と 表示に使用す る 言語を リ ス ト か ら 選択 し ます。 た と えば、 ド キ ュ メ ン ト を Java ソ ース フ ァ イ ル と し て解析す る には、 リ ス ト か ら 「Java Language」 を選択 し ます。 解析を 行わない場合は、 「None」 を選択 し ます。 新規カ ス タ ム言語を追加す る には、 <New Language> を選択 し ます。 [Language…] [Language Options] ダ イ ア ロ グ ボ ッ ク ス を開 き ます。 こ のダ イ ア ロ グ ボ ッ ク ス で、 新規言語の追加や言語のプ ロ パテ ィ の編集 を行い ます。 た と えば、 各言語に関連付け ら れてい る 構文フ ォ ーマ ッ ト キー ワー ド リ ス ト を編集で き ます。 各言語 タ イ プには独自のキー ワ ー ド リ ス ト があ り ます。 228 ページの 「Language Options」 も 参照 し て く だ さ い。 [Custom Tag Type] [Custom pattern] テ キ ス ト ボ ッ ク ス のカ ス タ ム パー サー パ タ ーン を使用 し て検索す る シ ン ボルの タ イ プ を指定 し ます。 リ ス ト には、 すべての可能な シ ン ボル タ イ プが含ま れてい ます。 「No Custom Parser」 エ ン ト リ が選択 さ れた場合、 Source Insight はカ ス タ ム パ タ ーン を使用 し ません。 他のエ ン ト リ が選択 さ れた場合、 シ ン ボル 名の解析に使用す る 正規表現パ タ ーン を カ ス タ ム パ タ ーン と し て使用 し ます。 [Custom pattern] 1 つのグループ を含む有効な正規表現パ タ ーン を指定 し ます。 グループで、 マ ッ チン グ パ タ ーン の ど の部分がシ ン ボル タ グ と 見な さ れ る か説明 し ます。 こ のパ タ ーン を使用 し て解析 さ れたシ ン ボルが [Custom Tag Type] で示 さ れてい る タ イ プで使用 さ れます。 [Custom Tag Type] が 「No Custom Parser」 に設定 さ れてい る 場合、 こ の テ キ ス ト ボ ッ ク ス は無視 さ れます。 Source Insight ユーザー マニ ュ アル 197 第5章 コマン ド リ フ ァ レンス カ ス タ ム パ タ ーン を使用す る と 、 Source Insight にあ ら か じ め含まれて いない フ ァ イ ルのシ ン ボルを解析で き ます。 た と えば、 以下の文字列 は、 WIN.INI の よ う な INI フ ァ イ ルのセ ク シ ョ ン を解析 し ます。 ^\[\(.*\)\] こ のカ ス タ ム解析パ タ ーン を使用す る 新規 ド キ ュ メ ン ト タ イ プ 「INI File」 を定義 し て WIN.INI の よ う な フ ァ イ ルを開 く と 、 シ ン ボル ウ ィ ン ド ウ にセ ク シ ョ ン名が表示 さ れます。 [Status Bar Options] プ ロ グ ラ ム ウ ィ ン ド ウ の下部の ス テー タ ス バーの表示を制御 し ます。 [Line, Col, Symbol] ス テー タ ス バーに挿入ポ イ ン ト の行番号、 カ ラ ム 番号、 お よ びシ ン ボルの名前が表示 さ れ ます。 [Line, Col, Char, Byte] ス テー タ ス バーに挿入ポ イ ン ト の行番号、 カ ラ ム番号、 行の先頭か ら の文字数、 お よ びフ ァ イ ルの先頭か ら のバ イ ト 数が表示 さ れます。 [Editing Options] グループ ド キ ュ メ ン ト タ イ プが ど の よ う に編集 さ れ る か制御 し ます。 選択 し た ド キ ュ メ ン ト タ イ プのすべての フ ァ イ ルで、 次の編集オプシ ョ ンが有 効にな り ます。 [Word Wrap] オ ン の場合、 挿入ポ イ ン ト が余白の幅を超え る と 、 Source Insight は自動的に次の行に ワー ド ラ ッ プ し ます。 こ のオプシ ョ ンは、 新規テ キ ス ト を入力 し てい る と き にのみ適用 さ れ ます。 オ フ の 場合、 Source Insight は入力 し たテ キ ス ト を自動的に ワ ー ド ラ ッ プ し ま せん。 [Allow auto-complete] オ ンの場合、 [Options] > [Preferences: Typing] ダ イ ア ロ グ ボ ッ ク ス で自動補完がグ ロ ーバルで有効に設定 さ れてい る ド キ ュ メ ン ト タ イ プでシ ン ボルの自動補完が有効にな り ます。 [Allow intelligent paste] オ ン の場合、 [Options] > [Preferences: Typing] ダ イ ア ロ グ ボ ッ ク ス で拡張貼 り 付けがグ ロ ーバルで有効に設定 さ れてい る ド キ ュ メ ン ト タ イ プで拡張貼 り 付けが有効にな り ます。 [Tab width] 文字スペース の タ ブ文字の幅です。 [Margin width] 自動的に ワ ー ド ラ ッ プが行われ る 前の文字スペース の テ キ ス ト の幅です。 [Expand tabs] オ ン の場合、 タ ブ を入力 し た と き 、 Source Insight は タ ブ 文字 と 等価な数の スペース を挿入 し ます。 テ キ ス ト は タ ブが入力 さ れ た場合 と 同 じ よ う に見え ますが、 タ ブではな く スペース が挿入 さ れま す。 オ フ の場合、 タ ブ を入力 し た と き 、 Source Insight はその ま ま タ ブ 文字を挿入 し ます。 [Enter key -> new line] オ ン の場合、 入力中に Return ま たは Enter キー が押 さ れ る と 、 新 し い行を挿入 し ます。 オ フ の場合、 入力中に Return 198 Source Insight ユーザー マニ ュ アル 第5章 Document Options ま たは Enter キーが押 さ れ る と 、 次の行の先頭に挿入ポ イ ン ト を移動 し ます。 [Show line numbers] 左余白に行番号を表示 し ます。 [Show right margin] 右余白に薄い縦線を表示 し ます。 プ ロ ポーシ ョ ナ ル フ ォ ン ト を使用 し てい る 場合、 行の途中に縦線が表示 さ れ る こ と が あ り ます。 [Visible tabs] オ ンの場合、 タ ブ文字を空白ではな く 特殊なシ ン ボルで 表示 し ます。 [Symbol Window] オ ンの場合、 ソ ース ウ ィ ン ド ウ の左側にシ ン ボル ウ ィ ン ド ウ が表示 さ れます。 [Show page breaks] 改ページの位置に薄い横線を表示 し ます。 改ペー ジの位置は構文フ ォ ーマ ッ ト と 選択 さ れてい る プ リ ン タ フ ォ ン ト に基 づいて計算 さ れ ます。 自動イ ンデン ト 自動 イ ンデン ト 機能は入力 し たテ キ ス ト の イ ンデン ト の レベルを制御 し ます。 Source Insight は、 Simple と Smart の 2 種類の自動 イ ンデン ト をサポー ト し てい ます。 Smart はすべての言語ではサポー ト さ れてい ません。 [Auto Indent Type] 自動 イ ンデン ト の種類を指定 し ます。 自動 イ ンデン ト は新 し い行を挿入す る と き に行われ ます。 • [None] 特殊な イ ンデン ト は行われ ません。 Source Insight は、 新 し い行を挿入 し た と き ま たは ワー ド ラ ッ プ さ れた と き 、 挿入ポ イ ン ト を次の行の先頭に移動 し ます。 • [Simple] Source Insight は、 前ま たは次の行に合わせて テ キ ス ト を自動的に イ ンデン ト し ます。 • [Smart] Source Insight は、 新 し い行を挿入 し た と き イ ンデン ト の レベルを自動的に調整 し ます。 すべての言語ではサポー ト さ れ てい ません。 こ のオプシ ョ ン が選択 さ れてい る 場合、 [Smart Indent Options] が適用 さ れ ます。 Source Insight ユーザー マニ ュ アル 199 第5章 コマン ド リ フ ァ レンス [Smart Indent Options] ス マー ト イ ンデン ト が中括弧 と 閉 じ 中括弧に ど の よ う に影響す る か決定 し ます。 イ ンデン ト ス タ イル if (x) { チ ェ ッ ク ボ ッ ク スの設定 両方のチ ェ ッ ク ボ ッ ク ス をオ フ に し ます。 } if (x) { 両方のチ ェ ッ ク ボ ッ ク ス をオン に し ます。 } if (x) { } [Indent Open Brace] をオンに し ま す。 [Indent Close Brace] を オ フ に し ま す。 Draft View テキス ト を素早 く 表示するには、 [Draft View] コ マ ン ド を使用 し ます。 [Style Properties] で [Draft View] の フ ォ ン ト を編集で き ます。 ド ラ フ ト モー ド の表示を切 り 替え る には、 [View] メ ニ ュ ーで [Draft View] コ マ ン ド を選択 し ます。 ド ラ フ ト モー ド がオ ン の場合、 色の変 更を除 く 、 ほぼすべての構文フ ォ ーマ ッ ト がオ フ にな り ます。 すべてのテ キ ス ト は、 「Draft View」 ス タ イ ルを使用 し て表示 さ れます。 ス タ イ ルは [Style Properties] ダ イ ア ロ グ ボ ッ ク ス で編集で き ます。 「Draft View」 ス タ イ ルはモ ノ スペース フ ォ ン ト (Courier New) を使用す る よ う にあ ら か じ め設定 さ れてい ます。 311 ページの 「Style Properties」 も 参照 し て く だ さ い。 Source Insight の構文フ ォ ーマ ッ ト 機能は強力ですが、 単一フ ォ ン ト を 使用 し てい る と き にテ キ ス ト が別のエデ ィ タ や簡易表示モー ド で ど の よ う に表示 さ れ る か確認 し てお く 必要があ り ます。 ド ラ フ ト モー ド は デ ィ ス プ レ イ を基本的な等幅フ ォ ン ト に素早 く 切 り 替え る 際、 役に立 ち ます。 こ れは、 カ ラ ム を並べ る のに、 タ ブの代わ り に スペース を使 う 場合は特に、 役に立ち ます。 ド ラ フ ト モー ド が有効な場合、 [Preferences: Syntax Formatting] お よ び [Preferences: Syntax Decorations] ダ イ ア ロ グ ボ ッ ク ス の設定 よ り も 優先 さ れ ます。 Drag Line Down 選択 さ れてい る テ キ ス ト を 1 行下に移動 し ます。 選択範囲を フ ァ イ ル の別の場所に ド ラ ッ グす る と き に便利です。 Drag Line Down More 選択 さ れてい る テ キ ス ト を数行下に移動 し ます。 複数行移動す る こ と を除いて、 [Drag Line Down] コ マ ン ド と 同 じ です。 200 Source Insight ユーザー マニ ュ アル 第5章 Drag Line Up Drag Line Up 選択 さ れてい る テ キ ス ト を 1 行上に移動 し ます。 選択範囲を フ ァ イ ル の別の場所に ド ラ ッ グす る と き に便利です。 Drag Line Up More 選択 さ れてい る テ キ ス ト を数行上に移動 し ます。 複数行移動す る こ と を除いて、 [Drag Line Up] コ マ ン ド と 同 じ です。 Duplicate 選択 さ れてい る も のすべての複製を作成 し ます。 Duplicate Symbol ( シ ン ボル ウ ィ ン ド ウ の右 ク リ ッ ク メ ニ ュ ー ) 選択 し てい る シ ン ボルの複製を作成 し ます。 Edit Condition 選択 し てい る 解析条件変数の値を編集 し ます。 C、 C++、 お よ び リ ソ ー ス フ ァ イ ルの よ う な条件 コ ンパ イ ルを サポー ト し てい る 言語に使用 し ます。 条件付 き コ ー ド は #ifdef の よ う な # デ ィ レ ク テ ィ ブ間に配置 さ れ ます。 Source Insight は、 指定す る 条件変数の値に条件付 き で依存す る コ ー ド のセ ク シ ョ ン を解析で き ます。 [Edit Condition] コ マ ン ド を使用 し て、 条件変数の値ま たは条件変数の リ ス ト を編集で き ます。 こ の コ マ ン ド を使用す る には、 コ ー ド で条件変数であ る 識別子を右 ク リ ッ ク し ます。 次に、 [Edit Condition] を選択 し ます。 変数の値を指定 し ます。 た と えば、 MACOBJECTS の内部にカー ソ ルを配置 し て [Edit Condition] を選択 し ます。 #ifdef MACOBJECTS int jklm; #endif プ ロ ジ ェ ク ト 条件 と グ ローバル条件 2 つの条件変数セ ッ ト があ り ます。 1 つ目はプ ロ ジ ェ ク ト 固有のセ ッ ト で、 プ ロ ジ ェ ク ト に格納 さ れます。 2 つ目はグ ロ ーバルなセ ッ ト で、 すべてのプ ロ ジ ェ ク ト に適用 さ れ ます。 条件が両方の リ ス ト に含まれ る 場合、 プ ロ ジ ェ ク ト 固有の値が使用 さ れ ます。 Source Insight ユーザー マニ ュ アル 201 第5章 コマン ド リ フ ァ レンス [Conditional Parsing] ダ イ ア ログ ボ ッ ク ス [Edit Condition Set] 編集す る 条件セ ッ ト ( Project-Specific ま たは Global Contidions) を選択 し ます。 条件の値に加え る すべての変更が、 こ こ で 選択す る リ ス ト に追加 さ れ ます。 [Condition] 条件変数の名前です。 [Value] 条件の値です。 代表的な値は、 「False」 を示す 0 ( ゼ ロ )、 ま た は 「True」 を示す 1 です。 他の任意の値を変数に設定で き ます。 値が 空の場合、 Source Insight は こ の変数を参照す る 条件付 き プ リ プ ロ セ ッ サ デ ィ レ ク テ ィ ブ を無視 し ます。 [Set False] [Value] フ ィ ール ド を 0 ( ゼ ロ ) に設定 し ます。 [Set True] [Value] フ ィ ール ド を 1 に設定 し ます。 [Ignore] [Value] フ ィ ール ド を空に し ます。 [Value] フ ィ ール ド が空の場 合、 Source Insight は条件変数の値を指定 し ない と 仮定 し ます。 値を指 定 し ない場合、 変数を参照す る と き に #if の よ う なプ リ プ ロ セ ッ サ ス テー ト メ ン ト は無視 さ れ ます。 こ れは、 任意の条件付 き 変数のデフ ォ ル ト の動作です。 [Edit List…] 定義済みの条件をすべて表示す る [Conditional Parsing] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 編集す る リ ス ト は、 [Edit Condition Set] コ ン ト ロ ールで選択 さ れてい る セ ッ ト に依存 し ます。 Enable Event Handlers マ ク ロ イ ベン ト ハン ド ラ を有効ま たは無効に し ます。 詳細は、 395 ページの第 7 章 「マ ク ロ イ ベン ト ハン ド ラ 」 を参照 し て く だ さ い。 End of Line 挿入ポ イ ン ト を カ レ ン ト 行の行末に移動 し ます。 202 Source Insight ユーザー マニ ュ アル 第5章 End of Selection End of Selection 挿入ポ イ ン ト を選択範囲の最後に移動 し ます。 現在の選択範囲が拡張 さ れていない場合、 こ の コ マ ン ド は何 も 行い ません。 Exit Source Insight プ ロ グ ラ ム を終了 し ます。 変更後に保存 し ていない フ ァ イ ルがあ る 場合、 Source Insight は保存す る か ど う か確認 し ます。 Source Insight は終了時にカ レ ン ト ワー ク スペース フ ァ イ ルを保存す る ので、 Source Insight を次に実行す る と き 、 セ ッ シ ョ ンは終了前の状態 に戻 り ます。 Exit and Suspend リ カバ リ フ ァ イ ルに書 き 込んだ後、 フ ァ イ ルを保存 し ないで Source Insight を閉 じ ます。 フ ァ イ ルを保存す る こ と な く 、 編集内容を保存 し て Source Insight を終了で き ます。 Source Insight を次に実行す る と 、 編 集内容が回復 さ れ ます。 警告 ! 警告 ! こ の コ マ ン ド を使用 し た後、 Source Insight を実行 し て編集内容を回復す る 前に Source Insight で開いていた フ ァ イ ルを変更 し ないで く だ さ い。 Source Insight の リ カバ リ シ ス テ ムはオ リ ジナル フ ァ イ ルが変更 さ れていない こ と を 前提に し てい ます。 Expand Special ツ リ ー リ ス ト の内部で、 選択 し てい る 項目を展開す る レベルを指定 し ます。 [Number of levels to expand] 選択 し てい る ノ ー ド 以下の ツ リ ーを展開 す る レベルを入力 し ます。 た と えば、 「1」 と 入力す る と 、 選択 し てい る ノ ー ド の 1 レベル下が表示 さ れ ます。 File Options [Preferences] ダ イ ア ロ グ ボ ッ ク ス の [Files] タ ブ を表示 し ます。 こ の タ ブで、 フ ァ イ ルの ロ ー ド お よ び保存オプシ ョ ン を設定 し ます。 Source Insight ユーザー マニ ュ アル 203 第5章 コマン ド リ フ ァ レンス [Preferences] ダ イ ア ログ ボ ッ ク スの [Files] タ ブ [Sharing] Source Insight で開いてい る フ ァ イ ルを他のプ ロ グ ラ ム が修正 で き る よ う に し ます。 つま り 、 Source Insight で開いてい る フ ァ イ ルを 他のプ ロ グ ラ ム で上書 き で き る よ う にな り ます。 オ ンの場合、 フ ァ イ ルを開 く 操作 と 保存操作は少 し 遅 く な り ます。 ま た、 開いてい る フ ァ イ ルに対 し て使用す る デ ィ ス ク 容量 も 少 し 増え ます。 オ フ の場合、 Source Insight が開いてい る フ ァ イ ルに他のプ ロ グ ラ ム が 書 き 込む こ と はで き ません。 フ ァ イ ルは、 保存中を除いて、 読み取 り 専用モー ド で開かれます。 し か し 、 他のプ ロ グ ラ ム が同 じ フ ァ イ ルを 書 き 込み用に開 く こ と はで き ません。 操作は少 し 速 く な り ます。 [Reload externally modified files in background] オ ン の場合、 Source Insight はフ ァ イ ルが外部的に変更 さ れた こ と を検出 し ます。 その場合、 フ ァ イ ルは自動的に リ ロ ー ド さ れ ます。 フ ァ イ ルは、 数秒お き ま たは Source Insight アプ リ ケーシ ョ ンがア ク テ ィ ブにな っ た と き にチ ェ ッ ク 204 Source Insight ユーザー マニ ュ アル 第5章 File Options さ れ ます。 変更 さ れた フ ァ イ ルは、 [Ask before reloading modified files] オプシ ョ ン がオ ン の場合、 ま たはその フ ァ イ ルを Source Insight で編集 し た場合を除いて、 確認な し で自動的に リ ロ ー ド さ れ ます。 オ フ の場合で も 、 [Reload Modified Files] コ マ ン ド を使用 し て変更 さ れ た フ ァ イ ルを手動で リ ロ ー ド で き ます。 [Ask before reloading modified files] オ ン の場合、 Source Insight は外部 的に変更 さ れた フ ァ イ ルを リ ロ ー ド す る 前に確認 し ます。 オ フ の場合、 Source Insight は、 その フ ァ イ ルを Source Insight で編集 し た場合を除いて、 外部的に変更 さ れた フ ァ イ ルを確認 し ないで自動的 に リ ロ ー ド し ます。 既に フ ァ イ ルを編集 し てい る 場合、 リ ロ ー ド 操作 は行われ ません。 [Assume ^Z (ASCII 26) is End-Of-File] オ ン の場合、 Source Insight は EOF (ASCII 26) 文字が見つか る と フ ァ イ ルの ロ ー ド を停止 し ます。 フ ァ イ ルを保存す る と き 、 EOF 文字が フ ァ イ ルの最後に追加 さ れ ま す。 オ フ の場合、 Source Insight は EOF 文字を無視 し て フ ァ イ ルを ロ ー ド し ます。 [Customize the 'Open' Command…] [Open] コ マ ン ド で実行 さ れ る 動作 を指定 し ます。 [Open] コ マ ン ド のシ ョ ー ト カ ッ ト は Ctrl+O で、 ツール バーに も ボ タ ン があ り ます。 [Make backup files when saving] オ ンの場合、 Source Insight はフ ァ イ ル を保存す る と き に フ ァ イ ルの以前のバージ ョ ン をバ ッ ク ア ッ プ デ ィ レ ク ト リ に移動 し ます。 バ ッ ク ア ッ プ デ ィ レ ク ト リ は、 Source Insight プ ロ グ ラ ム デ ィ レ ク ト リ のサブデ ィ レ ク ト リ 「Backup」 にな り ます。 オ フ の場合、 Source Insight は以前のバージ ョ ン を移動 し ないで フ ァ イ ルを保存 し ます。 [Save All operation will query on each file separately] オ ンの場合、 Source Insight は [Save As] コ マ ン ド を実行 し た と き に変更 し た フ ァ イ ル を保存す る か ど う か確認 し ます。 各フ ァ イ ルについて、 保存す る 、 保 存 し ない、 ま たはキ ャ ン セルを選択で き ます。 オ フ の場合、 Source Insight は変更 し たすべての フ ァ イ ルを自動的に保 存 し ます。 Source Insight ユーザー マニ ュ アル 205 第5章 コマン ド リ フ ァ レンス [Save all files when Source Insight program is deactivated] オ ンの場合、 Source Insight は Source Insight アプ リ ケーシ ョ ン ウ ィ ン ド ウ がア ク テ ィ ブでな く な っ た と き ( 異な る アプ リ ケーシ ョ ンがア ク テ ィ ブにな っ た と き )、 [Save All] コ マ ン ド を自動的に実行 し ます。 別のエデ ィ タ や IDE で同 じ フ ァ イ ルを開いて作業す る 場合、 Source Insight で行っ た変 更が常に反映 さ れ ます。 た と えば、 IDE アプ リ ケーシ ョ ンに切 り 替え る と 、 Source Insight は編集 さ れたすべての フ ァ イ ルを自動的に保存 し ます。 オ フ の場合、 Source Insight はア ク テ ィ ブでな く な っ た と き に フ ァ イ ルを保存 し ません。 [Save over read-only files without prompting] オ ン の場合、 Source Insight はフ ァ イ ルが読み取 り 専用の場合で も 警告を表示 し ないで フ ァ イ ルを上書 き し ます。 実際には、 セ ッ シ ョ ン で読み取 り 専用フ ァ イ ル を最初に上書 き す る と き に警告が表示 さ れ ます。 オ フ の場合、 Source Insight は読み取 り 専用フ ァ イ ルを上書 き す る 前に 警告を表示 し ます。 フ ァ イ ル単位で読み取 り 専用フ ァ イ ルを上書 き す る か ど う か指定で き ます。 Source Insight が読み取 り 専用フ ァ イ ルに上書 き す る と 、 フ ァ イ ルの属 性は読み書 き 可能に変更 さ れ ます。 メモ : 何 ら かの理由に よ り 読み取 り 専用に設定 さ れてい る フ ァ イ ルに間違っ て上書 き す る こ と があ る ため、 通常は こ のオプシ ョ ンは使用 し ないで く だ さ い。 こ のオプシ ョ ンは、 ソ ース管理シ ス テ ムが読み書 き 可能な フ ァ イ ルを 「チ ェ ッ ク ア ウ ト さ れた フ ァ イ ル」 と し て扱 う 場合に役立 ち ます。 チ ェ ッ ク ア ウ ト す る 前に フ ァ イ ルを編集 し て保存で き ます。 [Preserve Undo data and revision marks after saving] オ ン の場合、 フ ァ イ ルを保存 し た後で も [Undo] を実行 し て改訂マー ク を確認で き ます。 [Allow editing read-only file buffers] 読み取 り 専用の場合で も フ ァ イ ル バ ッ フ ァ を編集で き る よ う に し ます。 フ ァ イ ルの属性を Source Insight の外部で読み書 き 可能に変更す る か、 保存中に 「Overwrite」 ボ タ ン を ク リ ッ ク し て読み取 り 専用フ ァ イ ルを明示的に上書 き し ない限 り 、 フ ァ イ ルに保存す る こ と はで き ません。 ソ ース管理シ ス テ ムに よ っ て は、 フ ァ イ ルのバージ ョ ン をチ ェ ッ ク ア ウ ト し てか ら 、 Source Insight に戻っ て フ ァ イ ルを保存で き ます。 Source Insight の内部で フ ァ イ ル バ ッ フ ァ を編集 し て も 、 [Save] コ マ ン ド を使用す る ま で フ ァ イ ルは保存 さ れない点に注意 し て く だ さ い。 た だ し 、 [Save all files when Source Insight program is deactivated] オプシ ョ ン がオ ン の場合は、 Source Insight か ら 別のプ ロ グ ラ ムへの切 り 替えの よ う な操作を行 う と フ ァ イ ルは保存 さ れます。 [Remove extra white space when saving] フ ァ イ ルを保存す る と き に行 末の空白を除去 し ます。 206 Source Insight ユーザー マニ ュ アル 第5章 Folder Options [Confirm all file deletions] ソ ース フ ァ イ ルを削除す る 前に確認 し ます。 Source Insight は、 プ ロ ジ ェ ク ト か ら ソ ース フ ァ イ ルを削除 し た と き 、 ま たはプ ロ ジ ェ ク ト を削除 し た と き に ソ ース フ ァ イ ルを削除 し ませ ん。 Source Insight が作成 し たプ ロ ジ ェ ク ト デー タ フ ァ イ ルのみ削除 し ます。 し か し 、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ で ソ ース フ ァ イ ルを選択 し て 削除す る こ と はで き ます。 [Default file format] Source Insight が新規 ソ ース フ ァ イ ルを保存す る と き にデフ ォ ル ト のテ キ ス ト フ ァ イ ル フ ォーマ ッ ト を使用 し ます。 フ ォ ーマ ッ ト は、 行末文字の種類 (CR お よ び LF) に よ っ て異な り ま す。 次の フ ォ ーマ ッ ト があ り ます。 • Windows (CR/LF) • • Unix (LF) Mac (CR) Source Insight が既存の フ ァ イ ルを開いて保存す る と き 、 オ リ ジナル フ ァ イ ルの フ ォ ーマ ッ ト を維持す る 点に注意 し て く だ さ い。 異な る フ ォ ーマ ッ ト で保存す る には、 [File] > [Save As] コ マ ン ド を使用 し ま す。 Folder Options [Preferences] ダ イ ア ロ グ ボ ッ ク ス の [Folders] タ ブ を表示 し ます。 こ の タ ブで、 Source Insight で使用 さ れ る 各種デー タ フ ォ ルダの場所を指定 し ます。 こ れ ら のオプシ ョ ンは、 現在の設定の一部 と し て保存 さ れ ま す。 Source Insight ユーザー マニ ュ アル 207 第5章 コマン ド リ フ ァ レンス [Preferences] ダ イ ア ログ ボ ッ ク スの [Folders] タ ブ [Main User Data Folder] Source Insight の情報が格納 さ れ る メ イ ン フ ォ ルダです。 Source Insight は、 こ の フ ォ ルダにい く つかのサブ フ ォ ルダ を作成 し ます。 こ の フ ォ ルダ を変更す る と 、 サブ フ ォ ルダ も 自動的に 更新 さ れ ます。 ユーザー デー タ フ ォルダの変更 デフ ォ ル ト では、 こ の フ ォ ルダは 「My Documents\Source Insight」 で す。 そのため、 ユーザーご と に別の フ ォ ルダが使用 さ れ ます。 こ の フ ォ ルダの場所を ネ ッ ト ワー ク ド ラ イ ブの 「My Documents」 フ ォ ルダに変更す る こ と も で き ます。 ただ し 、 ネ ッ ト ワー ク のデー タ にア ク セ スす る と 、 処理が遅 く な る こ と があ り ます。 こ の場合、 フ ォ ルダ の場所を ロ ーカル マシ ンの フ ォ ルダに変更 し て く だ さ い。 [Settings Folder] 設定フ ァ イ ルが格納 さ れ る フ ォ ルダです。 [Projects Folder] プ ロ ジ ェ ク ト デー タ フ ァ イ ルが格納 さ れ る フ ォ ルダ です。 プ ロ ジ ェ ク ト ご と に、 こ の フ ォ ルダにサブ フ ォ ルダが作成 さ れ ます。 [Backup Folder] バ ッ ク ア ッ プ ソ ース フ ァ イ ルが格納 さ れ る フ ォ ルダ です。 208 Source Insight ユーザー マニ ュ アル 第5章 Function Down [Clips Folder] ク リ ッ プ ウ ィ ン ド ウ か ら ア ク セ スす る ク リ ッ プが格納 さ れ る フ ォ ルダです。 Function Down 挿入ポ イ ン ト を カ レ ン ト フ ァ イ ルで定義 さ れてい る 次の関数ま たは メ ソ ッ ド に移動 し ます。 Function Up 挿入ポ イ ン ト を カ レ ン ト フ ァ イ ルで定義 さ れてい る 前の関数ま たは メ ソ ッ ド に移動 し ます。 General Options [Preferences] ダ イ ア ロ グ ボ ッ ク ス の [General] タ ブ を表示 し ます。 こ の タ ブで、 さ ま ざ ま な Source Insight のオプシ ョ ン を変更 し ます。 こ れ ら のオプシ ョ ンは、 現在の設定の一部です。 Source Insight ユーザー マニ ュ アル 209 第5章 コマン ド リ フ ァ レンス [Preferences] ダ イ ア ログ ボ ッ ク スの [General] タ ブ [Sleep when Source Insight is in background] オ ンの場合、 Source Insight アプ リ ケーシ ョ ン が最小化 さ れてい る と き 、 ま たはア ク テ ィ ブ でない と き ( カ ス タ ム コ マ ン ド を実行 し てい る と き な ど )、 Source Insight はバ ッ ク グ ラ ウ ン ド 処理を行い ません。 オ フ の場合、 通常通 り バ ッ ク グ ラ ウ ン ド 処理が行われ ます。 し か し 、 Source Insight アプ リ ケーシ ョ ンがア ク テ ィ ブでない と き 、 Source Insight は処理の優先度を標準 よ り も 下に し ます。 210 Source Insight ユーザー マニ ュ アル 第5章 General Options バ ッ ク グ ラ ウン ド タ ス ク Source Insight は、 次の タ ス ク を含む多 く の タ ス ク をバ ッ ク グ ラ ウ ン ド で実行 し ます。 • フ ァ イ ルを解析 し て開いてい る ソ ース ウ ィ ン ド ウ すべてについ て シ ン ボル ウ ィ ン ド ウ の内容を更新 し ます。 • カ ス タ ム コ マ ン ド の終了を確認 し ます。 • バ ッ ク グ ラ ウ ン ド 同期が有効な場合、 プ ロ ジ ェ ク ト の フ ァ イ ル ( プ ロ セ ス で新 し く 追加 さ れます ) をすべて同期 さ せます。 • コ ン テ キ ス ト ウ ィ ン ド ウ と 現在のテ キ ス ト 選択を同期 さ せます。 • リ レーシ ョ ン ウ ィ ン ド ウ と 現在のテ キ ス ト 選択を同期 さ せます。 • 開いてい る フ ァ イ ルが他のプ ロ グ ラ ム に よ っ て Source Insight の 外部で変更 さ れた場合は リ ロ ー ド し ます。 通常は、 行 う こ と は何 も あ り ません。 Source Insight はほ と ん ど、 ま た は ま っ た く プ ロ セ ッ サ サ イ ク ルを使用 し ません。 [Source Tips] ポ ッ プア ッ プ ソ ース ヒ ン ト ウ ィ ン ド ウ で提供 さ れ る 情 報の レベルを設定 し ます。 ソ ース ヒ ン ト ウ ィ ン ド ウ は、 マ ウ ス カー ソ ルを シ ン ボル識別子の上に移動 し た後、 数秒す る と 表示 さ れ ます。 ク ラ ッ シュ リ カ バリ オプシ ョ ン [Project File Synchronization] [Recovery: Update recovery file every NNN seconds] Source Insight が ク ラ ッ シ ュ リ カバ リ フ ァ イ ルを更新す る 間隔を指定 し ます。 デフ ォ ル ト 値は 15 秒です。 リ カバ リ フ ァ イ ルは最後に更新 さ れた後に編集 さ れ た場合のみ更新 さ れ ます。 リ カバ リ の更新は非常に高速です。 実行中 で も 気づ く こ と はほ と ん ど あ り ません。 通常、 リ カバ リ フ ァ イ ルの保 存に よ っ て処理が中断 さ れ る こ と はあ り ません。 こ のため、 こ の間隔 はあ ま り 長 く し ない こ と を推奨 し ます。 [Synchronize on start-up] こ のオプシ ョ ン と バ ッ ク グ ラ ウ ン ド 同期が ど ち ら も オ ン の場合、 Source Insight を開始す る と き 、 ま たは新規プ ロ ジ ェ ク ト を開 く と き に フ ァ イ ルの タ イ ム ス タ ン プが確認 さ れます。 プ ロ ジ ェ ク ト に関連す る フ ァ イ ルの日付が古い こ と がわか る と 、 Source Insight はフ ァ イ ルを再同期対象 と し てマー ク し ます。 後か ら 、 フ ァ イ ルは再ス キ ャ ン さ れ、 バ ッ ク グ ラ ウ ン ド で同期 さ れます。 [Add new files automatically] オ ンの場合、 フ ァ イ ルをすべて同期 さ せ る 前に、 Source Insight は、 プ ロ ジ ェ ク ト の ソ ース デ ィ レ ク ト リ と サブ デ ィ レ ク ト リ に、 新規フ ァ イ ルを再帰的に追加 し ます。 し か し 、 ス キ ャ ン さ れ る のは既にプ ロ ジ ェ ク ト フ ァ イ ルに含まれてい る デ ィ レ ク ト リ のみです。 プ ロ ジ ェ ク ト の ソ ース デ ィ レ ク ト リ の派生デ ィ レ ク ト リ でないデ ィ レ ク ト リ は ス キ ャ ン さ れ ません。 ソ ース管理シ ス テ ム な ど を使用 し てプ ロ ジ ェ ク ト デ ィ レ ク ト リ に新規フ ァ イ ルを追加す る Source Insight ユーザー マニ ュ アル 211 コマン ド リ フ ァ レンス 第5章 と 、 Source Insight プ ロ ジ ェ ク ト にそれ ら の新規フ ァ イ ルが自動的に追 加 さ れ ます。 [Background project synchronization every NNN minutes] オ ン の場合、 Source Insight は編集中に [Synchronize File] コ マ ン ド をバ ッ ク グ ラ ウ ン ド で実行 し ます。 こ のオプシ ョ ンがオ ンの場合、 通常は [Synchronize Files] コ マ ン ド を実行す る 必要はあ り ません。 NNN には、 フ ァ イ ルの再同期が必要か ど う か判断す る ためにプ ロ ジ ェ ク ト フ ァ イ ルを確認す る 間隔を指定 し ます。 こ の間隔が過ぎ る と 、 Source Insight はフ ァ イ ルの タ イ ム ス タ ン プ を確認 し て同期プ ロ セ ス を バ ッ ク グ ラ ウ ン ド で開始 し ます。 [Use stricter confirmation dialog] オ ンの場合、 Source Insight が操作を 確認す る と き 、 「yes」 と 入力す る 必要があ り ます。 [Keep dialogs on the same monitor as the main window] オ ン の場合、 メ イ ンの Source Insight アプ リ ケーシ ョ ン ウ ィ ン ド ウ と 同 じ モニ タ にダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 オ フ の場合、 Source Insight はダ イ ア ロ グ ボ ッ ク ス の位置を記憶 し ます。 [Enable event handlers] オ ン の場合、 マ ク ロ イ ベン ト ハン ド ラ が有効 にな り ます。 詳細は、 395 ページの第 7 章 「マ ク ロ イ ベン ト ハン ド ラ 」 を参照 し て く だ さ い。 Go Back 挿入ポ イ ン ト を選択履歴の前の場所に移動 し ます。 Source Insight は、 最近選択 し た場所 ( 最大 100) の循環 リ ス ト であ る 選択履歴を保存 し ま す。 選択履歴は、 カ レ ン ト フ ァ イ ルだけではな く 、 開いてい る フ ァ イ ルすべてに対 し て グ ロ ーバルです。 Source Insight の [Go Back] と [Go Forward] コ マ ン ド は、 イ ン タ ーネ ッ ト ブ ラ ウ ザの [ 戻 る ] と [ 進む ] ボ タ ンに似てい ます。 [Go Back] コ マ ン ド を使用 し て関数呼び出 し チ ェ ーン を表示す る [Go Back] コ マ ン ド は [Jump To Definition] コ マ ン ド と 一緒に使用す る と 便利です。 関数定義にジ ャ ン プす る 場合、 [Go Back] コ マ ン ド を使用 し て関数の呼び出 し 元に移動 し ます。 こ のプ ロ セ ス は何度で も 繰 り 返す こ と がで き ます。 [Go Back] お よ び [Go Forward] コ マ ン ド を使用 し て、 関数呼び出 し チ ェーン を前後に移動で き ます。 選択履歴は循環 リ ス ト なので、 結局、 始点で終了 し ます。 リ ス ト を表示す る には、 [Selection History] コ マ ン ド を使用 し ます。 コ マ ン ド を使用す る と 、 それぞれの位置 と 、 その場所の関数ま たはその 場所を囲むシ ン ボルを表示 し ます。 212 Source Insight ユーザー マニ ュ アル 第5章 Go Back Toggle Go Back Toggle [Go Back] お よ び [Go Forward] コ マ ン ド の実行を切 り 替え ます。 [Go Back Toggle] コ マ ン ド を繰 り 返 し て使用す る と 、 最後の 2 つの場所が 切 り 替え ら れます。 Go Forward 挿入ポ イ ン ト を選択履歴の次の場所に移動 し ます。 選択履歴は、 選択 履歴は、 最近選択 し た場所 ( 最大 100) の循環 リ ス ト です。 詳細は、 [Go Back] コ マ ン ド を参照 し て く だ さ い。 Go To First Link 最初の ソ ース リ ン ク を検索 し て次の操作を行い ます。 1. リ ン ク ソ ース フ ァ イ ルの リ ン ク 行を選択 し ます。 2. リ ン ク タ ーゲ ッ ト フ ァ イ ルの リ ン ク 行を選択 し ます。 3. 両方の フ ァ イ ルが ウ ィ ン ド ウ で表示 さ れ る こ と を保証 し ます。 こ の コ マ ン ド が使用 さ れた と き にカ レ ン ト ウ ィ ン ド ウ が最大化 さ れ ていた場合、 リ ン ク タ ーゲ ッ ト フ ァ イ ルのみ表示 さ れます。 [Go To Next Link] お よ び [Go To Previous Link] コ マ ン ド も 、 それぞれ、 ソ ース リ ン ク の次 と 前であ る こ と を除いて、 同 じ 操作を行い ます。 最初のソ ース リ ン ク 「最初の ソ ース リ ン ク 」 は、 [Go To Link Location] コ マ ン ド が使用 さ れ た リ ン ク ソ ース フ ァ イ ルの最初の リ ン ク です。 た と えば、 [Search Files] コ マ ン ド を使用 し て ソ ース リ ン ク を含む検索結果フ ァ イ ルを作 成 し た後、 検索結果 ウ ィ ン ド ウ の行で [Go To Link Location] コ マ ン ド を 使用す る と 、 最初の ソ ース リ ン ク が検索結果 ウ ィ ン ド ウ の最初の リ ン ク にな り ます。 [Go To First Link]、 [Go To Next Link]、 お よ び [Go To Previous Link] コ マ ン ド は リ ン ク か ら リ ン ク に素早 く ス キ ッ プす る ために使用 し ます。 特 に、 ソ ース リ ン ク と コ ンパ イ ラ エ ラ ー メ ッ セージお よ びプ ロ グ ラ ム ソ ース が接続 さ れてい る 場合に便利です。 リ ン ク と コ ンパイ ラ エ ラ ーの使用 カ ス タ ム コ マ ン ド を使用 し て Source Insight か ら コ ンパ イ ラ を起動 し 、 出力を キ ャ プチ ャ し てエ ラ ー メ ッ セージ を解析 し た場合、 [Go To First Link] お よ び [Go To Next Link] コ マ ン ド を使用 し て ソ ース フ ァ イ ルの エ ラ ーを表示で き ます。 「Compile File」 カ ス タ ム コ マ ン ド を定義す る と き 、 [Parse Links in Output] オプシ ョ ン を オ ンにす る と 、 Source Insight は コ ンパ イ ラ の出力 Source Insight ユーザー マニ ュ アル 213 第5章 コマン ド リ フ ァ レンス を検索 し て、 各エ ラ ー メ ッ セージに ソ ース リ ン ク を設定 し ます。 こ の 場合、 「 リ ン ク ソ ース」 は コ ンパ イ ラ 出力フ ァ イ ルの各エ ラ ー メ ッ セージです。 各 リ ン ク の 「 リ ン ク タ ーゲ ッ ト 」 は、 各エ ラ ー メ ッ セー ジで指定 さ れた フ ァ イ ル と 行番号です。 エ ラ ー と ソ ース行を表示するには ビル ド ま たは コ ンパ イ ル コ マ ン ド を実行 し て Source Insight がエ ラ ー メ ッ セージの場所を指す よ う にす る には : 1. 183 ページの 「 コ ンパ イ ル コ マ ン ド と ビル ド コ マ ン ド の作成」 の 説明で定義 し た 「Compile File」 ま たは 「Build Project」 カ ス タ ム コ マ ン ド を実行 し ます。 2. エ ラ ーがあ る 場合、 コ ンパ イ ラ を終了 し た と き にエ ラ ー メ ッ セー ジが コ マ ン ド 出力 ウ ィ ン ド ウ に表示 さ れます。 Source Insight は ソ ース リ ン ク を自動的に設定 し て [Go To First Link] コ マ ン ド を実 行 し ます。 最初のエ ラ ー メ ッ セージ と ソ ース行が選択 さ れ表示 さ れ ます。 3. [Go To Next Link] コ マ ン ド を実行 し ます。 コ マ ン ド 出力 ウ ィ ン ド ウ の次のエ ラ ー メ ッ セージが選択 さ れ、 最初のエ ラ ー と 同様に、 リ ン ク の タ ーゲ ッ ト が表示 さ れ ます。 4. リ ン ク ( エ ラ ー メ ッ セージ ) がすべて表示 さ れ る ま で、[Go To Next Link] コ マ ン ド を使用 し て続行 し ます。 リ ン ク がそれ以上ない場 合、 Source Insight はビープ を出力 し て、 「No links.」 メ ッ セージ を ス テー タ ス バーに表示 し ます。 リ ン ク と 検索出力の使用 [Search Files] コ マ ン ド は、 その出力を検索結果 ウ ィ ン ド ウ に表示 し ま す。 検索結果 ウ ィ ン ド ウ の各行のテ キ ス ト は ソ ース リ ン ク です。 こ の 場合、 「 リ ン ク ソ ース」 は検索結果 ウ ィ ン ド ウ の各行です。 各 リ ン ク の 「 リ ン ク タ ーゲ ッ ト 」 は、 検索パ タ ーン が見つか っ た フ ァ イ ル と 行 番号です。 パ タ ーンが見つか っ た場所を表示するには : 検索を実行 し てパ タ ーン が見つか っ た場所を表示す る には : 1. [Search Files] コ マ ン ド を実行 し ます。 2. [Go To First Link] コ マ ン ド を使用 し て最初の一致を表示 し ます。 3. [Go To Next Link] コ マ ン ド を使用 し て次の一致を表示 し ます。 4. 「No Links.」 メ ッ セージが表示 さ れ る ま で [Go To Next Link] コ マ ン ド を使用 し ます。 214 Source Insight ユーザー マニ ュ アル 第5章 Go To Line Go To Line 挿入ポ イ ン ト を フ ァ イ ルの指定 し た行に移動 し ます。 [Go to Line] 行番号を入力 し ます。 [OK] 入力 し た行番号に移動 し ます。 フ ァ イ ルの最後 よ り も 後の行番号 が入力 さ れた場合、 フ ァ イ ルの最後に移動 し ます。 [Cancel] [Go To Line] コ マ ン ド を キ ャ ン セル し ます。 Go To Next Change カー ソ ルを編集 し た行の次のブ ロ ッ ク に移動 し ます。 カー ソ ルは、 変 更マー ク の次のセ ッ ト に移動 さ れ ます。 Go To Previous Change カー ソ ルを編集 し た行の前のブ ロ ッ ク に移動 し ます。 カー ソ ルは、 変 更マー ク の最後のセ ッ ト に移動 さ れます。 Go To Next Link [Go To Next Link] コ マ ン ド の動作は、 次の リ ン ク が使用 さ れ る こ と を 除いて、 [Go To First Link] コ マ ン ド と 同 じ です。 [Go To First Link] コ マ ン ド も 参照 し て く だ さ い。 Go To Previous Link [Go To Previous Link] コ マ ン ド の動作は、 前の リ ン ク が使用 さ れ る こ と を除いて、 [Go To Next Link] コ マ ン ド と 同 じ です。 [Go To First Link] コ マ ン ド も 参照 し て く だ さ い。 Help Source Insight のヘルプ を表示 し ます。 ダ イ ア ロ グ ボ ッ ク ス で F1 キー を押す と 、 現在の コ マ ン ド のヘルプが表示 さ れ ます。 Source Insight ユーザー マニ ュ アル 215 コマン ド リ フ ァ レンス 第5章 Help Mode ヘルプ モー ド を オ ン に し ます。 ヘルプ モー ド がオ ン の と き に コ マ ン ド が起動 さ れ る と 、 Source Insight は、 コ マ ン ド を実行す る 代わ り に、 コ マ ン ド のヘルプ を表示 し てヘルプ モー ド を オ フ に し ます。 ヘルプ モー ド を キ ャ ン セルす る には、 [Help Mode] コ マ ン ド を再度実行 し ます。 た と えば、 [File] > [Open] コ マ ン ド のヘルプ を表示す る には、 Ctrl+F1 を押 し てヘルプ モー ド を オ ン に し ます。 ス テー タ ス バーにヘルプ モー ド がア ク テ ィ ブであ る こ と を示す メ ッ セージが表示 さ れます。 [File] メ ニ ュ ーか ら [Open] コ マ ン ド を選択 し ます。 ヘルプ ウ ィ ン ド ウ が開 き 、 [Open] コ マ ン ド のヘルプが表示 さ れ ます。 ダ イ ア ロ グ ボ ッ ク ス で F1 キーを押す と 、 現在の コ マ ン ド のヘルプが 表示 さ れ ます。 Highlight Word すべての ソ ース ウ ィ ン ド ウ で、 カー ソ ルの場所の単語をハ イ ラ イ ト 表 示 し ます。 紙面で蛍光ペン を使用す る のに似てい ます。 単語を選択 し て [Highlight Word] コ マ ン ド を使用す る と 、 ソ ース で単語が含まれ る す べての場所がハ イ ラ イ ト 表示 さ れます。 デフ ォ ル ト では、 背景は明 る い黄色、 テ キ ス ト は黒の太字で表示 さ れ ます。 ハ イ ラ イ ト 効果は、 [Highlight] ス タ イ ルを編集 し て設定で き ま す。 ス タ イ ルを編集す る には、 [Style Properties] コ マ ン ド を使用 し ま す。 Incremental Search [Increment Search] お よ び [Incremental Search Backward] コ マ ン ド は イ ン ク リ メ ン タ ル サーチ モー ド を起動 し ます。 デフ ォ ル ト では、 F12 が [Incremental Search] コ マ ン ド に割 り 当て ら れてい ます。 イ ン ク リ メ ン タ ル サーチ モー ド を開始す る と 、 Source Insight は現在の カー ソ ルの場所か ら 入力 し た文字の検索を開始 し ます。 多 く の文字を 入力す る ほ ど、 検索は よ り 明確にな り ます。 入力 し た文字は、 ス テー タ ス バーの下部に表示 さ れ ます。 イ ン ク リ メ ン タ ル サーチ モー ド を終了す る には、 任意の コ マ ン ド キー ( 矢印キーな ど ) ま たは Esc を押 し ます。 検索を再度実行す る に は、 F12 を 2 回押 し ます。 前回のパ タ ーンが ロ ー ド さ れ、 検索が実行 さ れ ます。 216 Source Insight ユーザー マニ ュ アル 第5章 Incremental Search Mode Incremental Search Mode F12 を押す と 、 イ ン ク リ メ ン タ ル サーチ モー ド が開始 し ます。 イ ン ク リ メ ン タ ル サーチ モー ド では次の こ と が行え ます。 • • F12 は現在の文字列で再度検索を実行 し ます。 現在の文字列が空 の場合、 前回の文字列を ロ ー ド し ます。 Shift+F12 は逆方向に検索を実行 し ます。 • Backspace は検索文字列を 1 文字削除 し ます。 • Esc は検索を キ ャ ン セル し て最初の場所に戻 り ます。 • Enter は検索を停止 し ます。 現在の場所の選択範囲はその ま ま で す。 • コ マ ン ド にマ ッ プ さ れてい る 任意のキーが押 さ れ る と 、 イ ン ク リ メ ン タ ル サーチ モー ド は終了 し 、 現在の場所の選択範囲はそ の ま ま で、 コ マ ン ド が実行 さ れます。 • その他のキーが押 さ れ る と 、 現在の検索パ タ ーン に文字が追加 さ れ ます。 現在の検索パ タ ーンは ス テー タ ス バーの下部に表示 さ れ ます。 • 検索バ ッ フ ァ には、 最後に成功 し た検索パ タ ーン が残 さ れ ます。 イ ン ク リ メ ン タ ル サーチ パ タ ーンは、 大文字を入力 し た場合を除い て、 大文字 と 小文字を区別 し ません。 Incremental Search Backward カ レ ン ト フ ァ イ ルを イ ン ク リ メ ン タ ルに逆方向に検索 し ます。 216 ページの 「Incremental Search」 も 参照 し て く だ さ い。 Horizontal Scroll Bar ソ ース フ ァ イ ル ウ ィ ン ド ウ の水平ス ク ロ ール バーの表示を切 り 替え ます。 HTML Help HTML ヘルプ フ ァ イ ルで現在選択 し てい る 単語を キー ワー ド 検索 し ま す。 HTML ヘルプ フ ァ イ ルは、 [Setup HTML Help] コ マ ン ド を使用 し て指定 し ます。 306 ページの 「Setup HTML Help」 も 参照 し て く だ さ い。 Indent Left 現在の選択範囲の行を 1 タ ブ ス ト ッ プ分左にア ウ ト デン ト し ます。 # で始ま る 行は イ ンデン ト さ れ ません。 Source Insight ユーザー マニ ュ アル 217 第5章 コマン ド リ フ ァ レンス Indent Right 現在の選択範囲の行を 1 タ ブ ス ト ッ プ分右に イ ンデン ト し ます。 # で 始ま る 行は イ ンデン ト さ れ ません。 Source Insight は、 タ ブ文字を挿入 し て行を右に イ ンデン ト し ます。 現在の ド キ ュ メ ン ト タ イ プで [Expand tabs to spaces] オプシ ョ ン を有効に し てい る 場合、 タ ブ文字の 代わ り に タ ブ ス ト ッ プ と 等価な数の スペース が挿入 さ れます。 Insert ASCII 文字を ASCII コ ー ド で挿入 し ます。 [Radix] 入力す る 文字 コ ー ド の基数を選択 し ます。 [Auto] の場合、 基数 は入力 し た内容に よ っ て決定 さ れます。 た と えば、 0x20 と 入力す る と 、 基数は Hex であ る と 判断 さ れ、 ASCII 32 が挿入 さ れます。 [Character Code] 挿入す る 文字の ASCII コ ー ド です。 218 Source Insight ユーザー マニ ュ アル 第5章 Insert File Insert File 別の フ ァ イ ルのテ キ ス ト を現在の選択範囲に貼 り 付け ます。 [File Name] 挿入す る フ ァ イ ルの名前です。 ワ イ ル ド カー ド を入力 し て [Insert] ボ タ ン を ク リ ッ ク す る と 、 Source Insight は ワ イ ル ド カー ド 拡張 の結果を フ ァ イ ル リ ス ト に表示 し ます。 ワ イ ル ド カー ド はカ レ ン ト デ ィ レ ク ト リ で拡張 さ れます。 フ ァ イル リ ス ト [Project Wide] オプシ ョ ン がオ ン の場合、 カ レ ン ト プ ロ ジ ェ ク ト に含まれ る すべての フ ァ イ ルが表示 さ れます。 オ フ の場合、 現在の作業デ ィ レ ク ト リ に含ま れ る すべての フ ァ イ ルが表示 さ れます。 現在の作業デ ィ レ ク ト リ のパ ス が リ ス ト ボ ッ ク ス の上に表示 さ れ ま す。 [Insert] [File Name] テ キ ス ト ボ ッ ク ス の フ ァ イ ルの内容を挿入 し ます。 [File Name] テ キ ス ト ボ ッ ク ス に 1 つ以上の ワ イ ル ド カー ド が含まれて い る 場合、 Source Insight は ワ イ ル ド カー ド 拡張の結果を フ ァ イ ル リ ス ト に表示 し ます。 ワ イ ル ド カー ド はカ レ ン ト デ ィ レ ク ト リ で拡張 さ れ ます。 Source Insight ユーザー マニ ュ アル 219 第5章 コマン ド リ フ ァ レンス [Show Dirs/Show Files] リ ス ト ボ ッ ク ス に表示す る 内容 ( フ ァ イ ル名ま たはサブデ ィ レ ク ト リ 名 ) を切 り 替え ます。 [Browse] Windows の [ フ ァ イ ルを開 く ] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 [Project Wide] オ ンの場合、 フ ァ イ ル リ ス ト にカ レ ン ト プ ロ ジ ェ ク ト に追加 さ れてい る フ ァ イ ルがすべて表示 さ れます。 オ フ の場合、 フ ァ イ ル リ ス ト に現在の作業デ ィ レ ク ト リ にあ る フ ァ イ ルのみが表示 さ れ ます。 プ ロ ジ ェ ク ト が開かれていない場合、 こ のオプシ ョ ンは常にオ フ です。 Insert Line 選択 し てい る 行の前に、 空の新 し い行を挿入 し ます。 カー ソ ルが行の 先頭ま たは最後にあ る 必要はあ り ません。 [Auto Indent] がオ ンの場合、 新 し い行は下の行に合わせて イ ンデン ト さ れ ます。 Insert Line Before Next 選択 し てい る 行の後に、 空の新 し い行を挿入 し ます。 [Auto Indent] が オ ンの場合、 新 し い行は上の行に合わせて イ ンデン ト さ れます。 Insert New Line 挿入ポ イ ン ト に新 し い行を挿入 し ます。 カー ソ ルが次の行に移動 し な い こ と を除いて、 Enter を押す こ と と 同 じ です。 Join Lines 挿入ポ イ ン ト があ る 行 と 次の行を結合 し て 1 行に し ます。 選択範囲が 拡張 さ れてい る 場合、 選択範囲に含ま れてい る 行がすべて結合 さ れ ま す。 220 Source Insight ユーザー マニ ュ アル 第5章 Jump To Base Type Jump To Base Type 選択 し てい る 変数ま たは タ イ プの基本構造 タ イ プにカー ソ ルを移動 し ます。 た と えば、 以下の コ ー ド を考え てみます。 struct MyStruc { int afield; int anotherfield; }; // MS type is defined as struct MyStruct typedef struct MyStruct MS; MS ms;// declare ms with a type of “MS” x = ms.afield; 割 り 当て ス テー ト メ ン ト の ms ( ま たは ms 変数が表示 さ れ る 場所 ) に カー ソ ルを移動 し て [Jump To Base Type] コ マ ン ド を使用す る と 、 変数 の基本構造 タ イ プであ る struct MyStruc の定義にジ ャ ン プ し ます。 MS の typedef では停止 し ません。 Jump To Caller 選択 し てい る 関数があ る 場合、 その関数の呼び出 し 元にジ ャ ン プ し ま す。 た と えば、 関数名にカー ソ ルを移動 し て [Jump To Caller] コ マ ン ド を使用す る と 、 その関数を呼び出 し てい る 関数にジ ャ ン プ し ます。 複 数の関数がその関数を呼び出 し てい る 場合、 関数の リ ス ト が表示 さ れ ます。 Jump To Definition 現在の選択範囲の最初の単語か ら シ ン ボルを取得 し て、 その定義に ジ ャ ン プ し ます。 [Go Back] お よ び [Go Forward] コ マ ン ド はジ ャ ン プ ス ポ ッ ト を前後に移動す る のに便利です。 こ の コ マ ン ド を使用す る には : 5. ソ ース フ ァ イ ルでシ ン ボル名を選択 し ます。 6. Alt+= と 入力 し て実際のシ ン ボル定義にジ ャ ン プ し ます。 マウス シ ョ ー ト カ ッ ト デフ ォ ル ト 設定では、 マ ウ ス を使用 し て コ マ ン ド を起動す る こ と も で き ます。 フ ァ イ ルでシ ン ボルを ポ イ ン ト し て、 Ctrl を押 し なが ら マ ウ ス を ク リ ッ ク す る と 、 [Select Word] コ マ ン ド が実行 さ れ ます。 Ctrl を押 し なが ら マ ウ ス を ダブル ク リ ッ ク す る と 、 [Jump To Definition] コ マ ン ド が実行 さ れ ます。 マ ウ ス で こ の コ マ ン ド を使用す る には、 Ctrl キーを押 し た ま ま で、 シ ン ボルを ポ イ ン ト し てダブル ク リ ッ ク し ます。 Source Insight ユーザー マニ ュ アル 221 第5章 コマン ド リ フ ァ レンス ヘ ッ ダー フ ァ イルを開 く カー ソ ルが #include ス テー ト メ ン ト の よ う に フ ァ イ ル名を ポ イ ン ト し てい る と き に [Jump To Definition] コ マ ン ド を使用す る と 、 ヘ ッ ダー フ ァ イ ルを開 く こ と がで き ます。 Jump To Link ソ ース リ ン ク の リ ン ク 先へ移動 し ます。 213 ページの 「Go To First Link」 も 参照 し て く だ さ い。 Jump To Prototype 選択 し てい る 関数のプ ロ ト タ イ プの宣言にジ ャ ン プ し ます。 こ の コ マ ン ド は、 選択 し てい る シ ン ボルが関数の場合にのみ動作 し ます。 Key Assignments コ マ ン ド にキース ト ロ ー ク の組み合わせを割 り 当て ます。 ま たは、 割 り 当て を削除 し ます。 マ ウ ス ボ タ ン を コ マ ン ド に割 り 当て る こ と も で き ます。 キー割 り 当ては、 現在の設定の一部です。 [Key Assignments] ダ イ ア ログ ボ ッ ク ス [Command] コ マ ン ド 名を入力 し ます。 入力 し た内容に応 じ て該当す る コ マ ン ド のみが リ ス ト さ れ、 コ マ ン ド を簡単に見つけ る こ と がで き ま す。 シ ラ ブル マ ッ チン グが使用 さ れ る ため、 コ マ ン ド 名に含ま れてい る 単語の一部を入力す る だけでか ま い ません。 222 Source Insight ユーザー マニ ュ アル 第5章 Key Assignments コ マ ン ド リ ス ト ユーザーが定義 し たマ ク ロ と カ ス タ ム コ マ ン ド を含 む、 すべての Source Insight コ マ ン ド が リ ス ト さ れます。 こ こ で コ マ ン ド を選択す る と 、 その コ マ ン ド に現在割 り 当て ら れてい る すべての キース ト ロ ー ク を含むキース ト ロ ー ク リ ス ト が ロ ー ド さ れます。 [Keystrokes] リ ス ト 選択 し てい る コ マ ン ド に割 り 当て ら れてい る すべ てのキース ト ロ ー ク を リ ス ト し ます。 キース ト ロ ー ク を削除す る には、 キース ト ロ ー ク を選択 し てか ら 、 [Delete Assignment] ボ タ ン を ク リ ッ ク し ます。 [OK] 現在の設定に新 し いキー割 り 当て を保存 し ます。 [Cancel] コ マ ン ド を キ ャ ン セル し ます。 現在の設定は変更 さ れませ ん。 [Assign New Key…] 新 し いキース ト ロ ー ク ま たはマ ウ ス ク リ ッ ク を [Command] リ ス ト で選択 し てい る コ マ ン ド に割 り 当て ます。 キーの入 力を指示す る ウ ィ ン ド ウ がポ ッ プア ッ プ し ます。 [Delete Assignment] [Command] リ ス ト で選択 し てい る コ マ ン ド か ら [Keystrokes] リ ス ト で選択 し てい る キース ト ロ ー ク の割 り 当て を削除 し ます。 [Run] 選択 し てい る コ マ ン ド を実行 し ます。 行っ た変更 も 保存 し ます。 [Reset] キー割 り 当て を初期設定に戻 し ます。 Source Insight は確認を 表示 し ます。 [List] キー割 り 当て リ ス ト フ ァ イ ルを作成 し ます。 行っ た変更 も 保存 し ます。 リ ス ト フ ァ イ ルは、 コ マ ン ド の リ ス ト と キー割 り 当て を含む テ キ ス ト フ ァ イ ルです。 [Menu…] 現在の設定に新 し いキー割 り 当て を保存 し て、 [Menu Assignments] コ マ ン ド を実行 し ます。 248 ページの 「Menu Assignments」 も 参照 し て く だ さ い。 数値キーパ ッ ド キー 数値キーパ ッ ド キー / * - + にはデフ ォ ル ト で以下の コ マ ン ド が割 り 当て ら れてい ます。 キー コマン ド / Scroll Half Page Up * Scroll Half Page Down - Function Up + Function Down こ れ ら のキーを数値キー と し て使用す る には、 コ マ ン ド か ら キー割 り 当て を削除す る 必要があ り ます。 Source Insight ユーザー マニ ュ アル 223 第5章 コマン ド リ フ ァ レンス [Options] > [Key Assignments] ダ イ ア ロ グ ボ ッ ク ス を使用 し て、 こ れ ら の コ マ ン ド を検索 し 、 コ マ ン ド か ら キー割 り 当て を削除 し ます。 キー 割 り 当てが削除 さ れ る と 、 こ れ ら のキーは数値キー と し て動作 し ます。 キー と マウス ク リ ッ クの割 り 当て キー と マ ウ ス ク リ ッ ク の割 り 当ての手順を以下に説明 し ます。 キース ト ロー ク を割 り 当て るには マ ウ ス ボ タ ン を含む。 Alt、 Ctrl、 お よ び Shift キー と 任意のキーの組み 合わせを追加で き ます。 コ マ ン ド に新 し いキース ト ロ ー ク の組み合わせを割 り 当て る には : 1. [Command] リ ス ト で コ マ ン ド を選択 し ます。 2. [Assign New Key…] ボ タ ン を ク リ ッ ク し ます。 3. 割 り 当て る キース ト ロ ー ク を入力 し ます。 割 り 当て を キ ャ ン セル す る には、 Esc を押 し ます。 入力 し た キース ト ロ ー ク が異な る コ マ ン ド に既に割 り 当て ら れてい る 場合、 Source Insight は割 り 当て を 変更す る か ど う か確認 し ます。 マウス ク リ ッ ク を割 り 当て るには コ マ ン ド にマ ウ ス ク リ ッ ク を割 り 当て る には : 1. [Command] リ ス ト で コ マ ン ド を選択 し ます。 2. [Assign New Key…] ボ タ ン を ク リ ッ ク し ます。 3. 割 り 当て る マ ウ ス ボ タ ン を ク リ ッ ク し ます。 Alt、 Shift、 Ctrl の よ う な キーを追加す る 場合は、 マ ウ ス ボ タ ン を ク リ ッ ク す る 前に キーを押 し ます。 マ ウ ス の右ボ タ ン を変更す る ためにマ ウ ス の左 ボ タ ン を使用す る こ と も で き ます。 割 り 当て を キ ャ ン セルす る に は、 Esc を押 し ます。 キーの割 り 当て を削除する には コ マ ン ド か ら キース ト ロ ー ク の割 り 当て を削除す る には : 1. [Command] リ ス ト で コ マ ン ド を選択 し ます。 2. [Keystrokes] リ ス ト で削除す る キース ト ロ ー ク を選択 し ます。 3. [Delete Assignment] ボ タ ン を ク リ ッ ク し ます。 Keyword List 現在の言語の構文フ ォ ーマ ッ ト で使用 さ れ る 言語キー ワ ー ド を編集す る [Language Keywords] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 [Language Keywords] ダ イ ア ロ グ ボ ッ ク ス にはキー ワ ー ド と ス タ イ ルが リ ス ト さ れ ます。 ダ イ ア ロ グ ボ ッ ク ス の タ イ ト ルには、 作業 し てい る 224 Source Insight ユーザー マニ ュ アル 第5章 Keyword List 言語の種類が示 さ れ ます。 Source Insight は、 非常に高速なハ ッ シ ュ テ ク ニ ッ ク を使用 し て、 優れたパフ ォ ーマ ン ス を保ち なが ら 大規模な キーワ ー ド リ ス ト を管理 し ます。 Keyword および Style キーワ ー ド リ ス ト には、 構文フ ォ ーマ ッ ト でハ イ ラ イ ト 可能な言語 キーワ ー ド がすべて含ま れてい ます。 リ ス ト の各キー ワ ー ド は ス タ イ ル名 と 関連付け ら れてい ます。 各ス タ イ ルの フ ォ ーマ ッ ト オプシ ョ ン を設定す る には、 [Style Properties] コ マ ン ド を使用 し ます。 た と えば、 C 言語キー ワー ド リ ス ト では、 単語 「NULL」 は 「Null Value」 ス タ イ ル と 関連付け ら れてい ます。 指定 さ れた単語の フ ォ ーマ ッ ト を決定す る ため、 Source Insight は適切 な言語 タ イ プのキー ワ ー ド リ ス ト で単語を検索 し ます。 キー ワー ド リ ス ト には、 ス タ イ ル と 関連付け ら れてい る フ ォ ーマ ッ ト を示すス タ イ ル名が含ま れ ます。 つま り 、 フ ァ イ ル名お よ びフ ァ イ ル内の単語で始ま り ます。 Source Insight は、 こ の情報を使用 し て単語の ス タ イ ルを決定 し ます。 File Name Document Type Language Type Keyword List Style Used word in source 図 5.2 ソ ース テキス ト の単語に使用 さ れる ス タ イルは、 フ ァ イルの ド キ ュ メ ン ト タ イ プ で指定 さ れてい る言語のキーワー ド リ ス ト に よ り 決定 さ れます。 キーワ ー ド を フ ォーマ ッ ト ス タ イ ル と 関連付け る こ と で、 [Style Properties] コ マ ン ド を使用 し て ス タ イ ルを変更す る こ と で、 構文 フ ォ ーマ ッ ト を素早 く 変更で き ます。 変更 し た ス タ イ ル と 関連付け ら れてい る すべての言語キー ワ ー ド に、 新 し い ス タ イ ル フ ォ ーマ ッ ト が 反映 さ れ ます。 Source Insight ユーザー マニ ュ アル 225 第5章 コマン ド リ フ ァ レンス [Language Keywords] ダ イ ア ログ ボ ッ ク ス [Keyword] その言語のキーワ ー ド リ ス ト です。 リ ス ト か ら キー ワー ド を選択す る と 、 そのキー ワー ド に関連付け ら れてい る ス タ イ ルが [Style] リ ス ト で選択 さ れ ます。 [Style] すべての構文フ ォ ーマ ッ ト ス タ イ ルの リ ス ト です。 こ の リ ス ト か ら ス タ イ ルを選択す る と 、 [Keyword] リ ス ト で選択 し てい る キー ワ ー ド と 関連付け ら れてい る ス タ イ ルを編集 し ます。 ス タ イ ル名を ダ ブル ク リ ッ ク し て ス タ イ ルを編集す る こ と も で き ます。 [OK] 変更を保存 し ます。 [Cancel] コ マ ン ド を キ ャ ン セル し ます。 変更は保存 さ れ ません。 [Add Word…] 新 し い単語を キー ワ ー ド リ ス ト に追加 し ます。 スペース を含ま ない単一の単語を入力で き ます。 Source Insight は、 入力 さ れた 単語を キーワ ー ド リ ス ト に追加 し ます。 単語を追加 し た後、 関連付け る ス タ イ ルを選択 し て く だ さ い。 [Delete Word…] 現在キー ワー ド リ ス ト で選択 し てい る 単語を削除 し ま す。 [Import…] 外部テ キ ス ト フ ァ イ ルか ら 新規キー ワー ド リ ス ト エ ン ト リ を イ ン ポー ト し ます。 詳細は、 こ の後のセ ク シ ョ ン を参照 し て く だ さ い。 [Export…] キー ワー ド リ ス ト を テ キ ス ト フ ァ イ ルにエ ク ス ポー ト し ま す。 226 Source Insight ユーザー マニ ュ アル 第5章 Keyword List [Reset…] 言語キー ワー ド リ ス ト を初期設定に戻 し ます。 キーワー ド リ ス ト のイ ンポー ト と エ ク スポー ト キーワ ー ド と ス タ イ ルの関連付け を テ キ ス ト フ ァ イ ルにエ ク ス ポー ト 、 ま たはテ キ ス ト フ ァ イ ルか ら イ ン ポー ト す る には、 [Language Keyword] ダ イ ア ロ グ ボ ッ ク ス の [Import] と [Export] ボ タ ン を使用 し ま す。 テ キ ス ト フ ァ イ ルには、 次の よ う に、 行ご と にキー ワ ー ド 、 ス タ イ ル 名のペアが記録 さ れます。 <keyword> , <style-name> “<keyword>”, “<style-name>” または 各キー ワ ー ド は、 空白を含ま ない単一の単語です。 ス タ イ ル名は、 [Language Keywords] ダ イ ア ロ グ ボ ッ ク ス の [Sylye] リ ス ト ま たは [Style Properties] ダ イ ア ロ グ ボ ッ ク ス の [Style Name] リ ス ト に リ ス ト さ れて い る 定義済みス タ イ ル名の 1 つです。 キー ワー ド ま たは ス タ イ ル名は 二重引用符で囲んで も か ま い ません。 イ ン ポー ト の際、 重複キー ワ ー ド は無視 さ れ ます。 [Import Options] [Language Keywords] ダ イ ア ロ グ ボ ッ ク ス で [Import] ボ タ ン を ク リ ッ ク し た と き 、 キー ワー ド リ ス ト を置換す る かマージす る か、 いずれかの オプシ ョ ン を選択 し ます。 [Replace current keyword list with imported list] 現在のキー ワー ド リ ス ト を イ ン ポー ト す る リ ス ト で完全に置換す る には、 こ のオプシ ョ ン を 選択 し ます。 リ ス ト を イ ン ポー ト し た後で も 、 [Language Keywords] ダ イ ア ロ グ ボ ッ ク ス で [Cancel] ボ タ ン を ク リ ッ ク す る こ と で、 キー ワ ー ド リ ス ト に対 し て行っ た変更を無効にで き ます。 [Merge current keyword list with imported list] 現在のキー ワー ド リ ス ト と イ ン ポー ト す る リ ス ト を マージす る には、 こ のオプシ ョ ン を選択 し ます。 マージは、 イ ン ポー ト し た リ ス ト を既存の リ ス ト に追加 し ます。 イ ン ポー ト し た キー ワ ー ド は現在の リ ス ト のキー ワー ド と 置換 さ れ ま す。 Source Insight ユーザー マニ ュ アル 227 コマン ド リ フ ァ レンス 第5章 Language Options [Preferences] ダ イ ア ロ グ ボ ッ ク ス の [Languages] タ ブ を表示 し ます。 こ の タ ブで、 言語キー ワ ー ド リ ス ト の よ う な言語固有のオプシ ョ ン を編 集 し ます。 Source Insight は、 ビル ト イ ン と カ ス タ ム の 2 種類の言語を サポー ト し ます。 ビル ト イ ン言語のい く つかのオプシ ョ ンは変更で き ます。 カ ス タ ム言語については、 汎用言語のパ ラ メ ー タ をすべて制御で き ます。 [Language] イ ン ス ト ール さ れてい る すべての言語の リ ス ト です。 カ ス タ ム言語はア イ コ ンに赤のア ス タ リ ス ク が表示 さ れ ます。 [Document Options] コ マ ン ド を使用 し て言語 と 特定の ド キ ュ メ ン ト タ イ プ を関連付け る こ と がで き ます。 194 ページの 「Document Options」 も 参照 し て く だ さ い。 228 Source Insight ユーザー マニ ュ アル 第5章 Language Options [Add…] 新規カ ス タ ム言語を追加 し ます。 231 ページの 「Language Properties」 も 参照 し て く だ さ い。 [Delete] 選択 し てい る カ ス タ ム言語を削除 し ます。 カ ス タ ム言語のみ 削除で き ます。 ビル ト イ ン言語は削除で き ません。 [Import…] カ ス タ ム言語フ ァ イ ル (.CLF) か ら カ ス タ ム言語を リ ス ト に イ ン ポー ト し ます。 カ ス タ ム言語フ ァ イ ルには、 単一カ ス タ ム言語の プ ロ パテ ィ がすべて含ま れ ます。 [Export…] 選択 し てい る カ ス タ ム言語を カ ス タ ム言語フ ァ イ ル (.CLF) にエ ク ス ポー ト し ます。 カ ス タ ム言語フ ァ イ ルには、 単一カ ス タ ム言 語のプ ロ パテ ィ がすべて含まれ ます。 他のユーザーは、 こ のカ ス タ ム 言語フ ァ イ ルを各自の Source Insight 設定に イ ン ポー ト で き ます。 [Properties…] [Language Properties] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 こ のダ イ ア ロ グ ボ ッ ク ス を使用 し て カ ス タ ム言語プ ロ パテ ィ を制御 し ます。 231 ページの 「Language Properties」 も 参照 し て く だ さ い。 [Keywords…] 選択 し てい る 言語 タ イ プ と 関連付け ら れてい る キー ワ ー ド リ ス ト を編集 し ます。 [Language Keywords] ダ イ ア ロ グ ボ ッ ク ス を 表示 し ます。 [Doc Types…] [Document Options] ダ イ ア ロ グ ボ ッ ク ス を開 き ます。 [Special…] 選択 し てい る 言語固有の特殊なオプシ ョ ン を表示 し ます。 特殊なオプシ ョ ン がない言語 も あ り ます。 [Conditional Parsing] [Project Specific Conditions…] カ レ ン ト プ ロ ジ ェ ク ト のみに固有な定 義済みの条件を編集 し ます。 こ れ ら の条件はカ レ ン ト プ ロ ジ ェ ク ト が 開かれてい る 場合にのみ ( プ ロ ジ ェ ク ト に属 し てい る フ ァ イ ルに対 し てのみ ) 有効です。 [Global Conditions…] グ ロ ーバル条件セ ッ ト を編集 し ます。 グ ロ ーバ ル条件は、 すべてのプ ロ ジ ェ ク ト に対 し て定義 さ れます。 プ ロ ジ ェ ク ト 固有の条件セ ッ ト と グ ロ ーバル条件セ ッ ト の両方を組み合わせた セ ッ ト が、 指定 し たプ ロ ジ ェ ク ト の定義済み条件の合計セ ッ ト にな り ます。 プ ロ ジ ェ ク ト 固有の条件は、 同 じ 名前のグ ロ ーバル条件 よ り も 優先 さ れ ます。 201 ページの 「Edit Condition」 も 参照 し て く だ さ い。 [Special Language Options] [Preferences: Languages] ダ イ ア ロ グ ボ ッ ク ス で [Special…] ボ タ ン を ク リ ッ ク す る と 、 [Special Language Options] ダ イ ア ロ グ ボ ッ ク ス が表示 Source Insight ユーザー マニ ュ アル 229 コマン ド リ フ ァ レンス 第5章 さ れ ます。 こ のダ イ ア ロ グ ボ ッ ク ス で、 ビル ト イ ン言語の特殊なオプ シ ョ ン を制御 し ます。 [C/C++ Options] [Ignore namespace declarations] オ ン の場合、 C++ コ ー ド の名前空間宣 言は無視 さ れ ます。 名前空間で宣言 さ れたすべてのシ ン ボルは、 名前 空間宣言を記述 し ていない も の と し て、 フ ァ イ ル ス コ ープにあ る と 見 な さ れ ます。 オ フ の場合 ( デフ ォ ル ト )、 名前空間で宣言 さ れたすべてのシ ン ボル は、 名前空間ス コ ープにあ る と 見な さ れ ます。 [Parse standard COM macros] オ ンの場合、 STDMETHOD の よ う な標 準 COM ヘルパー プ リ プ ロ セ ッ サ マ ク ロ が認識 さ れ解析 さ れます。 c.tom ト ー ク ン マ ク ロ フ ァ イ ルに こ れ ら のマ ク ロ のエ ン ト リ が既に含 まれてい る 場合、 こ のオプシ ョ ンは効果がない こ と に注意 し て く だ さ い。 [Java Options] [Ignore package declarations] オ ンの場合、 Java フ ァ イ ルのパ ッ ケージ 宣言は無視 さ れ ます。 パ ッ ケージ ス テー ト メ ン ト の後に宣言 さ れたす べてのシ ン ボルは、 「global」 パ ッ ケージ ス コ ープにあ る と 見な さ れ ま す。 つま り 、 同 じ 仮想パ ッ ケージにあ る と 見な さ れ ます。 オ フ の場合 ( デフ ォ ル ト )、 パ ッ ケージ ス テー ト メ ン ト の後に宣言 さ れたすべてのシ ン ボルは、 パ ッ ケージ ス コ ープにあ る と 見な さ れ ま す。 [HTML and Scripts] オプシ ョ ン 230 [Default script language] こ の コ ン ト ロ ールを使用す る HTML ま たは ASP で使用す る デフ ォ ル ト の ス ク リ プ ト 言語を指定 し ます。 デフ ォ ル ト の ス ク リ プ ト 言語は、 ス ク リ プ ト で別の言語が指定 さ れていない場 合にのみ使用 さ れ ます。 Source Insight ユーザー マニ ュ アル 第5章 Language Properties Language Properties 現在選択 し てい る 言語のプ ロ パテ ィ を表示 し ます。 [Preferences: Language] ダ イ ア ロ グ ボ ッ ク ス で [Properties…] ボ タ ン を ク リ ッ ク す る と 、 [Language Properties] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 Source Insight は、 ビル ト イ ン と カ ス タ ム の 2 種類の言語を サポー ト し ます。 ビル ト イ ン言語のい く つかのオプシ ョ ンは変更で き ます。 カ ス タ ム言語については、 汎用言語のパ ラ メ ー タ をすべて制御で き ます。 Source Insight ユーザー マニ ュ アル 231 第5章 コマン ド リ フ ァ レンス [Options] タ ブ 各言語には、 Source Insight がその言語の フ ァ イ ルを処理す る 際に利用 す る 基本的なオプシ ョ ン があ り ます。 C/C++ の よ う な ビル ト イ ン言語 では、 カ ス タ ム言語 よ り も オプシ ョ ンは少な く な り ます。 [Contains program source code] オ ンの場合、 Source Insight は こ の言語 を プ ロ グ ラ ミ ン グ言語であ る と 見な し ます。 単純な テ キ ス ト 形式言語 ではな く 、 プ ロ グ ラ ミ ン グ言語が使用 さ れた場合、 特定の機能は変更 さ れ ます。 た と えば、 宣言済みシ ン ボルへの参照は、 「Ref to …」 ス タ イ ルで表示 さ れ ます。 [Case sensitive text] 言語で大文字 と 小文字を区別す る か ど う か示 し ま す。 キー ワー ド の一致 と シ ン ボル ル ッ ク ア ッ プ エ ン ジ ンにおけ る シ ン ボル名の解決に影響 し ます。 [Uses C preprocessor] オ ンの場合、 Source Insight は #if お よ び #ifdef プ リ プ ロ セ ッ サ デ ィ レ ク テ ィ ブ を認識 し ます。 [Allow smart tab] オ ン の場合、 こ の言語を編集す る と き に Smart Tab 機 能が有効にな り ます。 オ フ の場合、 Smart Tab は単純な タ ブの よ う に動 作 し ます。 232 Source Insight ユーザー マニ ュ アル 第5章 Language Properties [Use Syntax Formatting] オ ン の場合、 こ の言語の フ ァ イ ルを表示す る と き に構文フ ォ ーマ ッ ト が使用 さ れます。 [Detect comment styles] オ ンの場合、 特殊な コ メ ン ト ス タ イ ルが検出 さ れ ます。 107 ページの 「 コ メ ン ト ス タ イ ル」 も 参照 し て く だ さ い。 [Comments and Ranges] タ ブ コ メ ン ト と 他の複数行範囲要素の解析方法を指定 し ます。 引用文字列 は非 コ メ ン ト 複数行範囲要素の例です。 [Range Definition] ダ イ ア ロ グ ボ ッ ク ス で新規範囲要素を追加 し ます。 234 ページの 「[Range Definition]」 も 参照 し て く だ さ い。 [Add…] [Delete] 選択 し てい る ド キ ュ メ ン ト タ イ プ を削除 し ます。 [Edit…] [Range Definition] ダ イ ア ロ グ ボ ッ ク ス で範囲要素のプ ロ パ テ ィ を編集 し ます。 234 ページの 「[Range Definition]」 も 参照 し て く だ さ い。 [Delete All] すべての範囲要素を削除 し ます。 Source Insight ユーザー マニ ュ アル 233 第5章 コマン ド リ フ ァ レンス [Range Definition] [Language Properties] ダ イ ア ロ グ ボ ッ ク ス の [Comments and Ranges] タ ブで新規範囲要素を追加、 ま たは範囲要素を編集す る と 、 [Range Definition] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 こ のダ イ ア ロ グ ボ ッ ク ス で、 範囲のプ ロ パテ ィ をすべて制御で き ます。 範囲定義は、 コ メ ン ト と 他の複数行範囲要素の解析方法を指定 し ます。 引用文字列は非 コ メ ン ト 複数行範囲要素の例です。 [Type of range] リ ス ト か ら 範囲要素の種類を選択 し ます。 2 種類の範 囲要素があ り ます。 • [Line] 範囲は区切 り 文字で開始 し 、 行の最後で終了 し ます。 複 数行に分割で き ません。 • [Multiline] 範囲は区切 り 文字で開始 し 、 別の区切 り 文字で終了 し ます。 範囲は複数行に分割で き ますが、 単一行に含め る こ と も で き ます。 ( 引用符の よ う に ) 同 じ 区切 り 文字を開始 と 終了に指 定で き ます。 リ ス ト には、 引用文字列範囲 と 、 い く つかの コ メ ン ト ス タ イ ルのプ リ セ ッ ト が含まれてい ます。 プ リ セ ッ ト の 1 つを選択す る と 、 そのプ リ セ ッ ト のパ ラ メ ー タ がダ イ ア ロ グ ボ ッ ク ス の他のテ キ ス ト ボ ッ ク ス に ロ ー ド さ れ ます。 [Syntax Formatting Style] 範囲に適用す る 構文フ ォーマ ッ ト ス タ イ ル を指定 し ます。 通常は、 コ メ ン ト ス タ イ ルを選択 し ます。 し か し 、 任 234 Source Insight ユーザー マニ ュ アル 第5章 Language Properties 意の ス タ イ ルを選択 し てか ま い ません。 範囲要素で引用文字列を記述 し てい る 場合、 「String」 ス タ イ ルを選択 し ます。 311 ページの 「Style Properties」 も 参照 し て く だ さ い。 メモ : ス タ イ ルは範囲全体に適用 さ れます。 ス タ イ ルは、 「Reference To…」 ス タ イ ルの よ う な自動的に適用 さ れ る 他の ス タ イ ル よ り も 優先 さ れま す。 [Range begins/ends with] 範囲を開始お よ び終了す る 区切 り 文字 ト ー ク ン を指定 し ます。 ト ー ク ンは 15 文字ま で指定で き ます。 [Line] 範囲を 指定 し た場合、 1 つのテ キ ス ト ボ ッ ク ス のみ有効にな り ます。 [Multiline] 範囲を指定 し た場合、 開始 と 終了を同 じ にで き ます。 引用 文字列の場合は こ れに該当 し ます。 [Escape sequence] 開始ま たは終了区切 り 文字の前に こ のエ ス ケープ シーケ ン ス が記述 さ れてい る 場合、 区切 り 文字は無視 さ れます。 た と えば、 バ ッ ク ス ラ ッ シ ュ (\) を引用文字列のエ ス ケープ シーケ ン ス と し て指定す る と 、 「a string with \」 embedded\」 quotes」 の よ う に文字列 の内部に引用文字を記述で き ます。 [Allow nesting] [Multiline] 範囲が指定 さ れてい る 場合にのみ適用 さ れ ます。 こ のオプシ ョ ン がオ ン の場合、 範囲は入れ子にで き ます。 ただ し 、 開始 と 終了区切 り 文字が同 じ 場合は、 入れ子にで き ません。 [Skip symbol parsing] フ ァ イ ルがシ ン ボル定義用に解析 さ れた と き 、 範囲の内容を無視 し ます。 [Include delimiters in style] 開始 と 終了区切 り 文字を選択 し た ス タ イ ル で フ ォ ーマ ッ ト し ます。 こ のオプシ ョ ンがオ フ の場合、 区切 り 文字は 「Delimiter」 ス タ イ ルで フ ォ ーマ ッ ト さ れます。 [Columns] グルー プ 範囲要素が含まれ る 範囲を制御 し ます。 [Only valid in the following columns] オ ンの場合、 範囲は開始区切 り 文 字が [First column] で開始 し て [Last column] ま での範囲にあ る 場合に のみ認識 さ れ ます。 オ フ の場合、 カ ラ ムは無視 さ れ ます。 Source Insight ユーザー マニ ュ アル 235 第5章 コマン ド リ フ ァ レンス [Custom Parsing] タ ブ 正規表現のセ ッ ト を入力 し て、 言語 ソ ース フ ァ イ ルで単純な解析操作 を実行で き ます。 [Use regular expressions for parsing] オ ンの場合、 カ ス タ ム解析表現を 有効に し ます。 オ フ の場合、 カ ス タ ム解析の使用を無効に し ます。 [Expressions] 各解析表現 と シ ン ボルの タ イ プ を リ ス ト し ます。 Source Insight が フ ァ イ ルを解析す る と き 、 すべての表現が フ ァ イ ル全体に適 用 さ れます。 [Add…] 新 し い解析表現を リ ス ト に追加 し ます。 237 ページの 「Custom Parsing Expression」 も 参照 し て く だ さ い。 [Delete] 選択 し てい る 表現を削除 し ます。 [Edit…] 表現を編集 し ます。 237 ページの 「Custom Parsing Expression」 も 参照 し て く だ さ い。 [Delete All] リ ス ト か ら 表現をすべて削除 し ます。 236 Source Insight ユーザー マニ ュ アル 第5章 Line Numbers Custom Parsing Expression [Language Properties] ダ イ ア ロ グ ボ ッ ク ス の [Comments and Ranges] タ ブで [Add…] ま たは [Edit…] ボ タ ン を ク リ ッ ク す る と 、 [Custom Parsing Expression] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 [Regular expression pattern:] フ ァ イ ルのシ ン ボル定義の解析に使用す る 正規表現を指定 し ます。 表現には 1 つのグループが含ま れてい る 必 要があ り ます。 グループで、 マ ッ チン グ パ タ ーン の ど の部分がシ ン ボ ル名であ る か説明 し ます。 カ ス タ ム パ タ ーン を使用す る と 、 Source Insight にあ ら か じ め含まれていない フ ァ イ ルのシ ン ボルを解析で き ま す。 た と えば、 以下の文字列は、 WIN.INI の よ う な INI フ ァ イ ルのセ ク シ ョ ン を解析 し ます。 ^\[\(.*\)\] 詳細は、 113 ページの 「正規表現」 を参照 し て く だ さ い。 [Finds this symbol type:] ど の タ イ プのシ ン ボルがパ タ ーンの解析に よ っ て見つか る か指定 し ます。 リ ス ト には、 すべての可能なシ ン ボル タ イ プが含まれてい ます。 シ ン ボル タ イ プは固定で拡張で き ません。 シ ン ボル タ イ プは、 シ ン ボルの表示に使用す る 構文フ ォーマ ッ ト ス タ イ ル も 決定 し ます。 カ ス タ ム解析シ ンボルのス タ イル カ ス タ ム解析表現に指定す る シ ン ボル タ イ プは、 シ ン ボルの宣言 と 参 照に使用す る ス タ イ ルを決定 し ます。 各シ ン ボル タ イ プ X には、 対応 す る 「Ref to X」 お よ び 「Declare X」 ス タ イ ルがあ り ます。 シ ン ボル定義が解析 さ れ る と 、 シ ン ボル名を表示す る と き に対応す る 「Declare…」 ス タ イ ルが使用 さ れ ます。 た と えば、 シ ン ボル定義が [Function] の場合、 関数名は 「Declare Function」 ス タ イ ルで表示 さ れま す。 311 ページの 「Style Properties」 も 参照 し て く だ さ い。 Line Numbers 行番号の表示を切 り 替え ます。 行番号は、 各行の左に表示 さ れ ます。 行番号は、 「Line Number」 ス タ イ ルで表示 さ れ ます。 [Style Properties] コ マ ン ド を使用 し て、 こ の ス タ イ ルを編集で き ます。 Source Insight ユーザー マニ ュ アル 237 コマン ド リ フ ァ レンス 第5章 Link All Windows [Link All Windows] モー ド を切 り 替え ます。 [Link All Windows] モー ド がオ ンの場合、 任意の ウ ィ ン ド ウ を ス ク ロ ールす る と 、 他の ウ ィ ン ド ウ も すべて ス ク ロ ール し ます。 [Link All Windows] モー ド は、 [Link Window] コ マ ン ド でセ ッ ト ア ッ プ さ れ る 標準の ウ ィ ン ド ウ リ ン ク よ り も 優先 さ れ ます。 Link Window カ レ ン ト ウ ィ ン ド ウ と 別の ウ ィ ン ド ウ を リ ン ク し て、 同時に ス ク ロ ー ル し ます。 [Link All Windows] コ マ ン ド と 異な り 、 こ の コ マ ン ド では、 リ ン ク す る ウ ィ ン ド ウ を指定 し ます。 カ レ ン ト ウ ィ ン ド ウ と 別の ウ ィ ン ド ウ を リ ン ク し た ら 、 カ レ ン ト ウ ィ ン ド ウ を ス ク ロ ールす る と リ ン ク し た ウ ィ ン ド ウ も ス ク ロ ール し ます。 [Two Way] チ ェ ッ ク ボ ッ ク ス がオ ンの場合、 ウ ィ ン ド ウ は互いに リ ン ク さ れ る ので、 いずれかの ウ ィ ン ド ウ が ス ク ロ ールす る と 、 別の ウ ィ ン ド ウ も ス ク ロ ール し ます。 し か し 、 チ ェ ッ ク ボ ッ ク ス がオ フ の場 238 Source Insight ユーザー マニ ュ アル 第5章 Load Configuration 合、 片方向のみの リ ン ク にな り ます。 リ ン ク し た ウ ィ ン ド ウ を ス ク ロ ール し て も 、 別の ウ ィ ン ド ウ は ス ク ロ ール し ません。 リ ン ク内容 結果 A -> B に リ ン ク ウ ィ ン ド ウ A から ウ ィ ン ド ウ B に リ ン ク さ れます。 ウ ィ ン ド ウ A を ス ク ロ ールす る と 、 ウ ィ ン ド ウ A と ウ ィ ン ド ウ B が ス ク ロ ール し ます。 ウ ィ ン ド ウ B を ス ク ロ ール し て も ウ ィ ン ド ウ A は ス ク ロ ール し ません。 A -> B -> C に リ ン ク ウ ィ ン ド ウ か ら 他の ウ ィ ン ド ウ に順番に リ ン ク さ れます。 ウ ィ ン ド ウ A を ス ク ロ ールす る と 、 すべての ウ ィ ン ド ウ が ス ク ロ ール し ま す。 ウ ィ ン ド ウ B を ス ク ロ ールす る と 、 ウ ィ ン ド ウ B と ウ ィ ン ド ウ C が ス ク ロ ール し ます。 ウ ィ ン ド ウ リ ン ク は循環にで き ます。 つま り 、 ウ ィ ン ド ウ か ら 、 その ウ ィ ン ド ウ に間接的に リ ン ク さ れ る こ と があ り ます。 すべての ウ ィ ン ド ウ を ス ク ロ ールす る 際に便利です。 ス ク ロ ール し てい る ウ ィ ン ド ウ に関係な く 、 すべての ウ ィ ン ド ウ を ス ク ロ ールで き ます。 すべての ウ ィ ン ド ウ を ス ク ロ ールす る 別の方法は、 [Link All Windows] コ マ ン ド を使用 し て [Link All Windows] モー ド を オ ンにす る か、 [Two Way] チ ェ ッ ク ボ ッ ク ス を オ ンに し ます。 [Line Window To] カ レ ン ト ウ ィ ン ド ウ 以外のすべての ウ ィ ン ド ウ が リ ス ト さ れ ます。 こ こ で リ ン ク す る ウ ィ ン ド ウ を選択 し ます。 ウ ィ ン ド ウ を リ ン ク し ない場合は、 <none> を選択 し ます。 [Two Way] オ ンの場合、 両方向に リ ン ク し ます。 リ ン ク さ れてい る い ずれかの ウ ィ ン ド ウ を ス ク ロ ールす る と 、 他の ウ ィ ン ド ウ も ス ク ロ ー ル し ます。 オ フ の場合、 逆方向に リ ン ク し ません。 Load Configuration 新規設定フ ァ イ ルを現在の設定に ロ ー ド し ます。 設定フ ァ イ ル全体、 ま たは一部を ロ ー ド で き ます。 メモ : すべてのカ ス タ マ イ ズ設定を含むグ ロ ーバル設定フ ァ イ ルのバ ッ ク ア ッ プ を と る こ と を推奨 し ます。 [Load Configuration] コ マ ン ド を使用 す る か、 Source Insight 内のカ ス タ マ イ ズ設定を変更する と 、 設定フ ァ イ ルは自動的に変更 さ れます。 Source Insight ユーザー マニ ュ アル 239 第5章 コマン ド リ フ ァ レンス Source Insight を更新す る 場合、 あ ら か じ めバ ッ ク ア ッ プ を と る こ と を 推奨 し ます。 Source Insight の新 し いビル ド は以前の設定フ ァ イ ル と 互 換性があ り ますが、 以前のビル ド で新 し い設定フ ァ イ ルを開けない場 合があ り ます。 以前のビル ド に戻す場合は、 古い設定フ ァ イ ルを使用 し て く だ さ い。 グ ローバル設定 通常、 Source Insight は Global.cf3 と い う 名前の設定フ ァ イ ルを Source Insight プ ロ グ ラ ム デ ィ レ ク ト リ に保存 し て管理 し ます。 こ の フ ァ イ ル を手動で ロ ー ド ま たは保存す る 必要はあ り ません。 処理は自動的に行 われ ます。 設定に変更を加え る と 保存 さ れ、 プ ロ ジ ェ ク ト を開 く と き に ロ ー ド さ れ ます。 一部の設定 [Save Configuration] コ マ ン ド を使用 し て一部の設定を保存で き ます。 た と えば、 キーの組み合わせのみを保存 し ます。 一部の設定を含む設 定フ ァ イ ルを ロ ー ド す る と 、 フ ァ イ ルに存在す る 設定のみ ロ ー ド さ れ ます。 残 り の設定は変更 さ れ ません。 一部の設定を ロ ー ド お よ び保存 し て、 一部の設定を組み合わせ る こ と がで き ます。 [All Configuration Settings] オ ンの場合、 設定フ ァ イ ルのすべての部分 を ロ ー ド し ます。 オ フ の場合、 [Individual Settings] グループで定義 さ れ た部分のみを ロ ー ド し ます。 240 Source Insight ユーザー マニ ュ アル 第5章 Load File [Individual Settings] [All Configuration Settings] チ ェ ッ ク ボ ッ ク ス を オ フ にす る と 、 ロ ー ド す る 設定の部分を選択で き ます。 た と えば、 画面 の色や画面のサ イ ズ な ど の表示設定のみを ロ ー ド し て、 他の設定を変 更 し ない よ う にで き ます。 こ のグループには、 設定の各項目用のチ ェ ッ ク ボ ッ ク ス が含ま れま す。 こ こ で ロ ー ド す る 項目をチ ェ ッ ク し ます。 ド キ ュ メ ン ト タ イ プや カ ス タ ム コ マ ン ド の よ う な名前付 き の項目の リ ス ト か ら な る 設定部分 を、 ロ ー ド ま たはマージで き ます。 [Doc Options (Replace)] 現在の ド キ ュ メ ン ト オプシ ョ ン を設定フ ァ イ ルの ド キ ュ メ ン ト オプシ ョ ン に置換す る には、 こ のオプシ ョ ン を オ ン に し ます。 [Doc Options (Merge)] 現在の ド キ ュ メ ン ト オプシ ョ ンに設定フ ァ イ ル の ド キ ュ メ ン ト オプシ ョ ン を マージす る には、 こ のオプシ ョ ン を オ ン に し ます。 マージ と は、 ロ ー ド し た フ ァ イ ルの ド キ ュ メ ン ト タ イ プ と 同 じ 名前の ド キ ュ メ ン ト タ イ プ を置換 し て、 ロ ー ド し た フ ァ イ ルのみ に存在す る ド キ ュ メ ン ト タ イ プ を現在の ド キ ュ メ ン ト タ イ プの リ ス ト に追加す る こ と です。 他の既存の ド キ ュ メ ン ト タ イ プは変更 さ れ ませ ん。 [Custom Commands (Replace)] 現在のカ ス タ ム コ マ ン ド を設定フ ァ イ ルのカ ス タ ム コ マ ン ド に置換す る には、 こ のオプシ ョ ン を オ ン に し ま す。 [Custom Commands (Merge)] 現在のカ ス タ ム コ マ ン ド に設定フ ァ イ ル のカ ス タ ム コ マ ン ド を マージす る には、 こ のオプシ ョ ン を オ ン に し ま す。 マージ と は、 ロ ー ド し た フ ァ イ ルのカ ス タ ム コ マ ン ド と 同 じ 名前 のカ ス タ ム コ マ ン ド を置換 し て、 ロ ー ド し た フ ァ イ ルのみに存在す る カ ス タ ム コ マ ン ド を現在のカ ス タ ム コ マ ン ド の リ ス ト に追加す る こ と です。 他の既存のカ ス タ ム コ マ ン ド は変更 さ れ ません。 [Load] [File Open] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 こ のダ イ ア ロ グ ボ ッ ク ス を使用 し て、 ロ ー ド す る 設定フ ァ イ ルを選択 し ます。 Load File 編集す る フ ァ イ ルを開 き ます。 デ ィ レ ク ト リ に関係な く 、 プ ロ ジ ェ ク ト 内のすべての フ ァ イ ルの リ ス ト を含むダ イ ア ロ グ ボ ッ ク ス を開 き ま す。 Source Insight ユーザー マニ ュ アル 241 コマン ド リ フ ァ レンス 第5章 [Open] コ マ ン ド を使用 し て、 ま たは Windows エ ク ス プ ロ ー ラ か ら フ ァ イ ルを Source Insight ウ ィ ン ド ウ に ド ラ ッ グ し て フ ァ イ ルを開 く こ と も で き ます。 [File Name] 開 く フ ァ イ ルの名前、 ま たは名前の一部を入力 し ます。 ワ イ ル ド カー ド を入力 し て [Open] ボ タ ン を ク リ ッ ク す る と 、 Source Insight は ワ イ ル ド カー ド 拡張の結果を フ ァ イ ル リ ス ト に表示 し ます。 ワ イ ル ド カー ド はカ レ ン ト デ ィ レ ク ト リ で拡張 さ れます。 こ のテ キ ス ト ボ ッ ク ス に入力 し た内容に応 じ て、 フ ァ イ ル リ ス ト は更 新 さ れます。 フ ァ イル リ ス ト [Project Wide] オプシ ョ ン がオ ン の場合、 デ ィ レ ク ト リ に関係な く 、 カ レ ン ト プ ロ ジ ェ ク ト に含ま れ る すべての フ ァ イ ルが表 示 さ れます。 [Project Wide] オプシ ョ ン がオ フ の場合、 現在の作業デ ィ レ ク ト リ に含 まれ る すべての フ ァ イ ルが表示 さ れます。 現在の作業デ ィ レ ク ト リ の パ ス が リ ス ト ボ ッ ク ス の上に表示 さ れます。 現在の作業デ ィ レ ク ト リ に表示 さ れ る フ ァ イ ルは、 [Document Options] ダ イ ア ロ グ ボ ッ ク ス で 指定 さ れた ワ イ ル ド カー ド 文字列に よ り 拡張 さ れ ます。 242 Source Insight ユーザー マニ ュ アル 第5章 Load Search String [Open] フ ァ イ ル リ ス ト で選択 し てい る フ ァ イ ルを開 き ます。 フ ァ イ ル リ ス ト で選択 し てい る フ ァ イ ルがない場合、 Source Insight は [File Name] テ キ ス ト ボ ッ ク ス の フ ァ イ ルを開 き ます。 [File Name] テ キ ス ト ボ ッ ク ス に 1 つ以上の ワ イ ル ド カー ド が含ま れてい る 場合、 Source Insight は ワ イ ル ド カー ド 拡張の結果を フ ァ イ ル リ ス ト に表示 し ます。 [Project Wide] オプシ ョ ン がオ ン の場合、 カ レ ン ト プ ロ ジ ェ ク ト に含ま れ る フ ァ イ ルの リ ス ト 全体で拡張 さ れ ます。 オ フ の場合、 カ レ ン ト デ ィ レ ク ト リ で拡張 さ れます。 指定 し た フ ァ イ ルが存在 し ない場合、 Source Insight はその名前で新規フ ァ イ ルを作成 し ます。 [Select All] フ ァ イ ル リ ス ト に リ ス ト さ れてい る すべての フ ァ イ ルを選 択 し ます。 [Show Dirs/Show Files] リ ス ト ボ ッ ク ス に表示す る 内容 ( フ ァ イ ル名ま たはサブデ ィ レ ク ト リ 名 ) を切 り 替え ます。 [Project Wide] オ ン の場合、 デ ィ レ ク ト リ に関係な く 、 フ ァ イ ル リ ス ト にカ レ ン ト プ ロ ジ ェ ク ト に追加 さ れてい る すべての フ ァ イ ルが表示 さ れ ます。 オ フ の場合、 フ ァ イ ル リ ス ト に現在の作業デ ィ レ ク ト リ に あ る フ ァ イ ルのみが表示 さ れ ます。 プ ロ ジ ェ ク ト が開かれていない場 合、 こ のオプシ ョ ンは常にオ フ です。 [Browse] Windows の [ フ ァ イ ルを開 く ] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 Load Search String 現在の選択範囲の内容を現在の検索パ タ ーン に ロ ー ド し ます。 検索パ タ ーンは、 [Search] お よ び [Replace] コ マ ン ド の [Find] テ キ ス ト ボ ッ ク ス に表示 さ れ ます。 Lock Context Window コ ン テ キ ス ト ウ ィ ン ド ウ を ロ ッ ク し て、 ウ ィ ン ド ウ が変更 さ れない よ う に し ます。 コ ン テ キ ス ト ウ ィ ン ド ウ が ロ ッ ク さ れてい る 場合、 ア ク シ ョ ンは追跡 さ れ ません。 Lock Relation Window リ レーシ ョ ン ウ ィ ン ド ウ の ロ ッ ク を切 り 替え ます。 ロ ッ ク さ れてい る 場合、 ウ ィ ン ド ウ は自動的に更新 さ れ ません。 その場合で も 、 [Show Relations] コ マ ン ド を使用 し て リ レーシ ョ ン ウ ィ ン ド ウ を手動で更新 で き ます。 リ レーシ ョ ン ウ ィ ン ド ウ ツールバーの [Refresh Relation Window] ボ タ ン を ク リ ッ ク し て ウ ィ ン ド ウ を更新す る こ と も で き ます。 Source Insight ユーザー マニ ュ アル 243 第5章 コマン ド リ フ ァ レンス Lookup References カ レ ン ト プ ロ ジ ェ ク ト で選択 し たシ ン ボルへの参照を検索 し ます。 た と えば、 「BeginPaint」 を ク リ ッ ク し 、 [Lookup References] コ マ ン ド を 実行す る と 、 Source Insight は検索結果 ウ ィ ン ド ウ を開いて、 プ ロ ジ ェ ク ト で 「BeginPaint」 が使用 さ れてい る すべての場所を リ ス ト し ます。 Source Insight はシ ン ボル イ ンデ ッ ク ス を使用 し て検索を高速化 し ま す。 参照は、 コ メ ン ト 、 お よ び使用 さ れない #ifdef 分岐を含む、 すべての ソ ース コ ー ド テ キ ス ト に含まれます。 し か し 、 こ れ ら の場所を検索す る か ど う か制御で き ます。 メモ : [Search Project] コ マ ン ド は、 オプシ ョ ンの状態を除いて [Lookup References] と 同 じ です。 301 ページの 「Search Project」 も 参照 し て く だ さ い。 [Lookup References] ダ イ ア ログ ボ ッ ク ス こ の コ マ ン ド は、 [Search Project] コ マ ン ド に似てい ます。 唯一の違い は、 それぞれのダ イ ア ロ グ ボ ッ ク ス に独自の継続状態があ る こ と で す。 [Find References To] 検索す る シ ン ボル名を入力 し ます。 カー ソ ル位置 の単語が こ のテ キ ス ト ボ ッ ク ス に自動的に ロ ー ド さ れます。 Source Insight は、 正確な シ ン ボル イ ン ス タ ン ス を決定す る ため、 カー ソ ル位 置の コ ン テ キ ス ト を使用 し ます。 シ ン ボル ダ イ ア ロ グ ボ ッ ク ス ま たは ウ ィ ン ド ウ か ら [Lookup References] を起動す る と 、 Source Insight は、 こ のテ キ ス ト ボ ッ ク ス と と も に正確な シ ン ボル参照を維持 し ます。 244 Source Insight ユーザー マニ ュ アル 第5章 Lookup References 通常は、 プ ロ グ ラ ムの識別子の名前を入力 し ますが、 任意の文字列を 入力 し てプ ロ ジ ェ ク ト 全体を検索す る こ と も で き ます。 単一の単語の みを入力 し た場合、 検索は非常に高速です。 [Search In] ド キ ュ メ ン ト タ イ プの リ ス ト が含まれ ます。 こ の リ ス ト を 使用 し て、 特定の種類の フ ァ イ ルのみ、 ま たはカ レ ン ト フ ァ イ ルのみ を検索す る よ う に制限で き ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ が表示 さ れ てい る 場合、 こ の リ ス ト を使用 し てプ ロ ジ ェ ク ト ウ ィ ン ド ウ で選択す る フ ァ イ ルを指定す る こ と も で き ます。 [Search Method] 使用す る 検索 メ ソ ッ ド を選択 し ます。 4 種類の検索 メ ソ ッ ド が利用で き ます。 • • Simple String • [Keyword Expression] イ ン タ ーネ ッ ト 検索 ク エ リ に似てい ます。 • [Lookup Reference] シ ン ボル参照を検索 し ます。 [Regular Expression] パ タ ーン を正規表現 と し て解釈 し ます。 [Lines of Context] [Keyword Expression] 検索 メ ソ ッ ド を選択 し た場合に のみ適用 さ れ ます。 指定 し たすべてのキー ワー ド を検索す る 対象 と す る 行数を指定 し ます。 246 ページの 「キー ワー ド 表現」 も 参照 し て く だ さ い。 [Find word variations] オ ン の場合、 Source Insight は指定 し た キー ワー ド の最後の形式が異な る も の も 検索 し ます。 た と えば、 キー ワ ー ド 「open」 を指定 し た場合、 Source Insight は 「opens」、 「opened」、 「opening」 も 検索 し ます。 こ のオプシ ョ ンは、 [Keyword Expression] 検 索 メ ソ ッ ド を選択 し た場合にのみ利用で き ます。 検索オプシ ョ ン [Case Sensitive] 検索で大文字 と 小文字を区別す る か ど う か指定 し ま す。 [Whole Words Only] [Lookup References] モー ド の場合、 こ のオプシ ョ ンは常にオ ン です。 その他の検索 メ ソ ッ ド を選択 し た場合、 完全に一 致す る 単語のみを検索 し ます。 [Skip Inactive Code] オ ン の場合、 条件付 き コ ンパ イ ルでア ク テ ィ ブな コ ー ド のみを検索 し ます。 Source Insight がア ク テ ィ ブな条件を判断で き る よ う に、 最初に [Preferences: Languages] ダ イ ア ロ グ ボ ッ ク ス で条 件を指定す る 必要があ り ます。 条件付 き コ ンパ イ ルは、 一部の言語で のみ利用で き ます。 [Skip Comments] オ ンの場合、 コ メ ン ト を検索 し ません。 [Search Only Comments] オ ンの場合、 コ メ ン ト のみを検索 し ます。 [Skip Comments] オプシ ョ ン と 同時に指定で き ません。 こ れ ら の コ メ ン ト オプシ ョ ン を オ ン に し た場合、 検索は多少遅 く な り ます。 Source Insight ユーザー マニ ュ アル 245 第5章 コマン ド リ フ ァ レンス [Smart Reference Matching] Source Insight の ス マー ト 参照マ ッ チン グ機 正確な参照のマ ッ チ ング処理を行 う と 、 参照検索プ ロ セスは遅 く な り ま す。 能を有効に し ます。 Source Insight は、 見つか っ た参照が実際に検索 し てい る シ ン ボルを参照 し てい る か ど う か判断 し ます。 [Smart Reference Matching] オプシ ョ ンは、 検索結果に指定 し たシ ン ボ ルへの参照 と 一致す る も ののみが含ま れ る こ と を意味 し ます。 た と え ば、 構造体の メ ンバを選択 し てその参照を検索す る と 、 検索結果には、 単な る 等価な文字列ではな く 、 その特定の構造体の特定な メ ンバへの 参照のみが含まれ ます。 同 じ 文字列の検索を シ ン ボル ル ッ ク ア ッ プで 行 う 必要があ る ため、 こ のオプシ ョ ン を使用す る と 処理は遅 く な る 点 に注意 し て く だ さ い。 [Touch files and cause recompile] オ ン の場合、 各フ ァ イ ルの 「更新日時」 が現在の日時に設定 さ れ ます。 識別子を使用 し て コ ンパ イ ル時の依存 関係を確認 し てい る 場合に便利です。 こ のオプシ ョ ン を オ ンに し て、 こ の コ マ ン ド を使用 し て参照を検索す る だけで、 識別子が参照 さ れ る 場所が 「 タ ッ チ」 さ れ、 make プ ロ グ ラ ムや開発シ ス テ ムは次回プ ロ グ ラ ム を ビル ド す る と き に、 それ ら の フ ァ イ ルを再 コ ンパ イ ル し ます。 キーワー ド 表現 キーワ ー ド 表現検索は イ ン タ ーネ ッ ト 検索エ ン ジ ン ク エ リ に似てい ま す。 Source Insight は、 プ ロ ジ ェ ク ト で指定 さ れた行数内に含ま れ る キーワ ー ド のセ ッ ト を検索 し ます。 [Lines of Context] テ キ ス ト ボ ッ ク ス は、 互いのキー ワー ド を検索す る 最大の範囲を示 し ます。 た と えば、 「cat food」 と 入力す る と 、 Source Insight はそれぞれ X 行内 の 「cat」 お よ び 「food」 を検索 し ます。 キーワ ー ド 間には、 暗黙の論理 AND 演算子があ り ます。 つま り 、 複 数のキー ワー ド を入力す る と 、 両方のキー ワー ド が一致 し なければな り ません。 その他のブール演算 も 含め る こ と がで き ます。 以下の表は、 利用可能な演算子の一覧です。 表 5.3: キーワー ド 検索演算子 246 演算子 例 動作 AND ま たは + cat and dog 両方の用語を含む OR cat or dog いずれかの用語を含む NOT ま たは – ま たは ! -cat 用語を含ま ない = =Betty 大文字 と 小文字を区別す る ? 「regexp」 ? 「^Ich」 正規表現 Source Insight ユーザー マニ ュ アル 第5章 Make Column Selection 括弧を使用 し て表現を グループ化で き ます。 例 : (cat or kitty) and food (file or buffer) and (save or write) and !error キーワー ド バ リ エーシ ョ ン [Find word variations] オプシ ョ ンがオ ンの場合、 Source Insight は指定 し た キー ワ ー ド の最後の形式が異な る も の も 検索 し ます。 た と えば、 キーワ ー ド 「open」 を指定 し た場合、 Source Insight は 「opens」、 「opened」、 「opening」 も 検索 し ます。 以下の表現を入力 し た場合 と 同 じ 効果があ り ます。 (open or opens or opening) ワ ー ド バ リ エーシ ョ ンは、 各キー ワー ド に適用 さ れ ます。 た と えば、 以下のキー ワー ド を指定 し た場合 : save write 「save」 と 「write」 が含ま れ る 必要があ り ます。 ワ ー ド バ リ エーシ ョ ン が有効な場合、 以下の検索 と 同 じ にな り ます。 (save or saves or saving) and (write or writes or writing) キーワー ド 検索結果 キーワ ー ド 検索を実行す る と 、 検索結果にキー ワ ー ド を含む行のブ ロ ッ ク が リ ス ト さ れます。 一致の周 り の コ ン テ キ ス ト が少 し わか り ま す。 Make Column Selection マ ウ ス を使用 し て カ ラ ム を選択 し ます。 Alt を押 し なが ら マ ウ ス を ク リ ッ ク し て ド ラ ッ グ し 、 長方形の選択範囲を作成 し ます。 選択範囲は、 切 り 取 り ま たは コ ピー し て貼 り 付け る こ と がで き ます。 Source Insight ユーザー マニ ュ アル 247 第5章 コマン ド リ フ ァ レンス Menu Assignments コ マ ン ド に メ ニ ュ ーを割 り 当て ます。 ま たは、 割 り 当て を削除 し ます。 メ ニ ュ ー割 り 当ては、 現在の設定の一部です。 [Command] コ マ ン ド 名を入力 し ます。 入力 し た内容に応 じ て該当す る コ マ ン ド のみが リ ス ト さ れ、 コ マ ン ド を簡単に見つけ る こ と がで き ま す。 コ マ ン ド リ ス ト ユーザーが定義 し たマ ク ロ と カ ス タ ム コ マ ン ド を含 む、 すべての Source Insight コ マ ン ド が リ ス ト さ れます。 コ マ ン ド はカ テ ゴ リ 別に分類 し て リ ス ト さ れます。 こ こ で コ マ ン ド を選択す る と 、 コ マ ン ド が既に メ ニ ュ ーに割 り 当て ら れてい る 場合、 その メ ニ ュ ーが [Menu] リ ス ト に表示 さ れ、 その メ ニ ュ ーの内容が [Menu Contents] に ロ ー ド さ れ ます。 リ ス ト に、 「--Menu Separator--」 と 呼ばれ る 特別な コ マ ン ド があ る こ と に注意 し て く だ さ い。 メ ニ ュ ーに区切 り 線を追加す る には、 こ の項目 を メ ニ ュ ーに挿入 し ます。 [Menu] リ ス ト すべての メ ニ ュ ーの タ イ ト ルが リ ス ト さ れます。 こ こ で メ ニ ュ ーを選択す る と 、 メ ニ ュ ーの内容が [Menu Contents] に ロ ー ド さ れます。 [Menu Contents] [Menu] リ ス ト で選択 し てい る メ ニ ュ ーの メ ニ ュ ー項 目が リ ス ト さ れ ます。 削除す る 項目、 ま たは新 し い項目を追加す る 場 所を指定す る には、 こ こ で メ ニ ュ ー項目を選択 し ます。 [OK] 現在の設定に新 し い メ ニ ュ ー割 り 当て を保存 し ます。 248 Source Insight ユーザー マニ ュ アル 第5章 New [Cancel] コ マ ン ド を キ ャ ン セル し ます。 それ ま でに行っ た変更は現在 の設定に保存 さ れません。 [Insert] 選択 し てい る メ ニ ュ ーに選択 し てい る 項目を挿入 し ます。 項 目は、 [Menu Contents] でハ イ ラ イ ト 表示 さ れてい る メ ニ ュ ー項目の前 に挿入 さ れ ます。 [Insert] を ク リ ッ ク す る 前に、 コ マ ン ド 、 メ ニ ュ ー、 メ ニ ュ ー項目を選択す る 必要があ り ます。 [Delete] 選択 し てい る メ ニ ュ ー項目を削除 し ます。 [Delete] を ク リ ッ ク す る 前に、 [Menu Contents] で メ ニ ュ ー項目を選択す る 必要があ り ます。 [Up] 選択 し てい る メ ニ ュ ー項目を メ ニ ュ ーで 1 つ上に移動 し ます。 [Down] 選択 し てい る メ ニ ュ ー項目を メ ニ ュ ーで 1 つ下に移動 し ます。 [Run] 現在の設定に新 し い メ ニ ュ ー割 り 当て を保存 し て、 選択 し てい る コ マ ン ド を実行 し ます。 [Reset] メ ニ ュ ー割 り 当て を初期設定に戻 し ます。 Source Insight は確 認を表示 し ます。 [Keys…] 現在の設定に新 し い メ ニ ュ ー割 り 当て を保存 し て、 [Key Assignments] コ マ ン ド を実行 し ます。 222 ページの 「Key Assignments」 も 参照 し て く だ さ い。 New 新規の未保存フ ァ イ ル バ ッ フ ァ を作成 し ます。 [Save] ま たは [Save As] コ マ ン ド を使用す る ま で、 作成 し た フ ァ イ ルはデ ィ ス ク に保存 さ れ ま せん。 [New] コ マ ン ド を実行す る と 、 フ ァ イ ル名を確認す る メ ッ セージが表 示 さ れます。 デフ ォ ル ト では、 新規フ ァ イ ルには New0001.ext 形式で 名前が設定 さ れ ます。 [New] コ マ ン ド を再度使用す る と 、 フ ァ イ ル名 は New0002.ext にな り ます。 拡張子には、 カ レ ン ト フ ァ イ ル と 同 じ 拡 張子が使用 さ れ ます。 入力 し た名前 と 拡張子に よ り 、 その フ ァ イ ルで 有効な ド キ ュ メ ン ト オプシ ョ ンが決定 さ れます。 新規フ ァ イ ルを最初に保存す る と 、 Source Insight は、 フ ァ イ ル名 と 、 フ ァ イ ルを カ レ ン ト プ ロ ジ ェ ク ト に追加す る か ど う か確認 し ます。 新規フ ァ イ ルを作成す る も う 1 つの方法は、 [Open] コ マ ン ド を使用 し て、 存在 し ない フ ァ イ ル名を指定す る 方法です。 Source Insight は、 そ の フ ァ イ ルを作成す る か ど う か確認 し ます。 Source Insight は、 指定 し た名前で新規の未保存フ ァ イ ルを作成 し ます。 Source Insight ユーザー マニ ュ アル 249 第5章 コマン ド リ フ ァ レンス New Clip 新規 ク リ ッ プ バ ッ フ ァ を作成 し ます。 ク リ ッ プの名前を確認す る メ ッ セージが表示 さ れ ます。 ク リ ッ プ名には拡張子を追加 し ないで く だ さ い。 New Relation Window 新規 リ レーシ ョ ン ウ ィ ン ド ウ を作成 し ます。 リ レーシ ョ ン ウ ィ ン ド ウ はい く つで も 作成で き ます。 各 ウ ィ ン ド ウ に、 独自のオプシ ョ ン を設 定で き ます。 た と えば、 関数名を選択 し て、 その関数が呼び出 し てい る 他の関数を 表示す る リ レーシ ョ ン ウ ィ ン ド ウ と 、 その関数を呼び出 し てい る 他の 関数を表示す る 別の リ レーシ ョ ン ウ ィ ン ド ウ を作成で き ます。 ま たは、 現在の選択範囲を追跡す る リ レーシ ョ ン ウ ィ ン ド ウ と 、 囲ま れてい る 関数を追跡す る 別の リ レーシ ョ ン ウ ィ ン ド ウ を作成す る こ と も で き ます。 New Project 新規プ ロ ジ ェ ク ト を作成 し て開 き ます。 Source Insight は一度に 1 つのプ ロ ジ ェ ク ト のみ開 く こ と がで き る ため、 カ レ ン ト プ ロ ジ ェ ク ト があ る 場合、 Source Insight は続行前にカ レ ン ト プ ロ ジ ェ ク ト を閉 じ る か ど う か確認 し ます。 カ レ ン ト プ ロ ジ ェ ク ト を 閉 じ ない場合、 [New Project] コ マ ン ド はキ ャ ン セル さ れます。 プ ロ ジ ェ ク ト を保存する場所 [New Project] ダ イ ア ロ グ ボ ッ ク ス で フ ァ イ ルを選択す る と き 、 プ ロ ジ ェ ク ト のデー タ フ ァ イ ルを保存す る 場所を指定 し ます。 ソ ース フ ァ イ ル と 同 じ デ ィ レ ク ト リ にす る こ と も 、 全 く 別の場所にす る こ と も で き ます。 マシ ンに ロ ーカルに格納 さ れてい る ソ ース フ ァ イ ル用のプ ロ ジ ェ ク ト を作成す る 場合、 ソ ース フ ァ イ ル と 同 じ デ ィ レ ク ト リ にプ ロ ジ ェ ク ト フ ァ イ ルを作成す る こ と に問題はあ り ません。 共有サーバー上、 ま たは書 き 込み許可がない場所の フ ァ イ ルを参照す る プ ロ ジ ェ ク ト を作成す る 場合、 ロ ーカル マシ ン にプ ロ ジ ェ ク ト を作 成 し て く だ さ い。 後で [Project Settings] ダ イ ア ロ グ ボ ッ ク ス を使用 し 250 Source Insight ユーザー マニ ュ アル 第5章 New Window てプ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ が指す ソ ース フ ァ イ ルの場所を 設定で き ます。 プ ロ ジ ェ ク ト を作成 し たデ ィ レ ク ト リ は、 プ ロ ジ ェ ク ト のデフ ォ ル ト ルー ト 、 ま たは 「ホーム」 デ ィ レ ク ト リ にな り ます。 [Project Settings] ダ イ ア ロ グ ボ ッ ク ス で、 プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ に異な る パ ス を指定で き ます。 プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ は通常、 ソ ー ス フ ァ イ ルを含む最上位のデ ィ レ ク ト リ のパ ス です。 Source Insight が フ ァ イ ル名を表示す る と き 、 フ ァ イ ルはプ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ への相対パ ス で表示 さ れます。 大部分の ソ ース フ ァ イ ルを含む デ ィ レ ク ト リ を プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ に設定す る と 、 冗長 なパ ス情報が表示 さ れない よ う にな り ます。 さ ら に、 「Add new files automatically」 機能 ([Preferences: General]) は、 フ ァ イ ルがプ ロ ジ ェ ク ト ソ ース フ ァ イ ル ま たはその派生デ ィ レ ク ト リ にあ る 場合にのみ、 新規フ ァ イ ルを プ ロ ジ ェ ク ト に自動的に追加 し ま す。 詳細は、 319 ページの 「Synchronize Files」 お よ び 263 ページの 「Project Settings」 を参照 し て く だ さ い。 New Window 新規 ウ ィ ン ド ウ を開 き ます。 カ レ ン ト ウ ィ ン ド ウ に表示 さ れてい る フ ァ イ ルが新規 ウ ィ ン ド ウ に も 表示 さ れます。 Next File [Close] コ マ ン ド を実行 し てか ら 、 [Open] コ マ ン ド を実行 し ます。 カ レ ン ト フ ァ イ ルを変更 し た場合、 [Preferences: General] ダ イ ア ロ グ ボ ッ ク ス で [Save Quietly] オプシ ョ ン を オ ンに し た場合を除いて、 カ レ ン ト フ ァ イ ルを保存す る か ど う か指定で き ます。 Next Relation Window View リ レーシ ョ ン ウ ィ ン ド ウ の表示モー ド ( ア ウ ト ラ イ ン ビ ュ ー と グ ラ フ ビ ュ ー ) を変更 し ます。 Open プ ロ ジ ェ ク ト ウ ィ ン ド ウ を ア ク テ ィ ブに し て、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ のテ キ ス ト ボ ッ ク ス に フ ォーカ ス を設定 し ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ が表示 さ れていない場合、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ を表示 し て、 開 く フ ァ イ ルを選択 し た後、 非表示に し ます。 [Open] コ マ ン ド の動作は [Preferences: Files] ダ イ ア ロ グ ボ ッ ク ス でカ ス タ マ イ ズで き ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ を ア ク テ ィ ブにす る 代わ り に、 別のダ イ ア ロ グ ボ ッ ク スや ウ ィ ン ド ウ を表示で き ます。 Source Insight ユーザー マニ ュ アル 251 コマン ド リ フ ァ レンス 第5章 開いてい る プ ロ ジ ェ ク ト がない場合、 こ の コ マ ン ド を実行す る と 、 Windows の [ フ ァ イ ルを開 く ] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 Source Insight のアプ リ ケーシ ョ ン ウ ィ ン ド ウ に フ ァ イ ルを ド ラ ッ グ ア ン ド ド ロ ッ プ し て フ ァ イ ルを開 く こ と も で き ます。 Open Project 新規カ レ ン ト プ ロ ジ ェ ク ト を開 き ます。 Source Insight は一度に 1 つの プ ロ ジ ェ ク ト のみ開 く こ と がで き る ため、 開いてい る カ レ ン ト プ ロ ジ ェ ク ト があ る 場合、 まず最初のそのプ ロ ジ ェ ク ト を閉 じ ます。 Windows エ ク ス プ ロ ー ラ か ら Source Insight ウ ィ ン ド ウ にプ ロ ジ ェ ク ト フ ァ イ ル (.PR) を ド ラ ッ グ し て、 ま たは [Open] ダ イ ア ロ グでプ ロ ジ ェ ク ト フ ァ イ ルを指定 し てプ ロ ジ ェ ク ト を開 く こ と も で き ます。 [Project Name] 選択す る プ ロ ジ ェ ク ト の名前、 ま たは名前の一部を入 力 し ます。 プ ロ ジ ェ ク ト リ ス ト マシ ン で作成 さ れた ま たは開かれたすべてのプ ロ ジ ェ ク ト が リ ス ト さ れ ます。 こ こ で開 く プ ロ ジ ェ ク ト を選択 し ます。 こ の リ ス ト は、 既知のプ ロ ジ ェ ク ト の記録です。 こ こ に リ ス ト さ れて いない他のプ ロ ジ ェ ク ト を開 く こ と も で き ます。 その場合、 [Browse…] ボ タ ン を ク リ ッ ク し てプ ロ ジ ェ ク ト フ ァ イ ルを選択 し ま す。 [Browse] Windows の [ フ ァ イ ルを開 く ] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 プ ロ ジ ェ ク ト フ ァ イ ル ( 拡張子 .PR) を選択 し ます。 フ ァ イ ルを 252 Source Insight ユーザー マニ ュ アル 第5章 Page Down 選択 し て [ フ ァ イ ルを開 く ] ダ イ ア ロ グ ボ ッ ク ス を閉 じ る と 、 選択 し た フ ァ イ ルが [Project Name] テ キ ス ト ボ ッ ク ス に ロ ー ド さ れます。 次 に、 [OK] を ク リ ッ ク し て フ ァ イ ルを開 き ます。 Page Down ア ク テ ィ ブな ウ ィ ン ド ウ を 1 画面下に ス ク ロ ール し ます。 ス ク ロ ール 前の最後の行が ス ク ロ ール後の最初の行にな り ます。 Page Setup [Print] コ マ ン ド で印刷す る ページのテ キ ス ト の レ イ ア ウ ト を制御 し ま す。 [Columns] 用紙の 1 シー ト に印刷す る カ ラ ム数を指定 し ます。 各カ ラ ムは、 独自のページ番号を使用 し ます。 た と えば、 カ ラ ム が 2 つあ る 場合、 用紙の各シー ト で 2 ページの ソ ース コ ー ド が印刷 さ れ ます。 横 向 き ( 用紙の幅が高 さ よ り も 長い ) モー ド で印刷す る 場合に便利です。 [Borders around page] オ ンの場合、 ページのテ キ ス ト の周 り に罫線が 印刷 さ れ ます。 [More…] シ ス テ ム の [ ページ設定 ] ダ イ ア ロ グ ボ ッ ク ス を開 き ます。 こ のダ イ ア ロ グ ボ ッ ク ス で、 用紙のサ イ ズ、 余白、 向 き ( 縦ま たは横 ) を設定で き ます。 こ のダ イ ア ロ グ ボ ッ ク ス か ら 現在のプ リ ン タ の設 定を変更す る こ と も で き ます。 [Title Strings] グ ループ こ のグループの項目は、 カバー ページ、 ページの上部 ( ヘ ッ ダー )、 お よ びページの下部 ( フ ッ タ ー ) に印刷 さ れ る タ イ ト ルに影響 し ます。 [Cover]、 [Header]、 [Footer] こ れ ら のテ キ ス ト ボ ッ ク ス で、 各ページ のカバー ページ、 ヘ ッ ダーお よ びフ ッ タ ーに使用 さ れ る フ ォ ーマ ッ ト コ ー ド を指定 し ます。 文字列の フ ォ ーマ ッ ト の詳細は、 254 ページの 「ヘ ッ ダー と フ ッ タ ー コ ー ド 」 を参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 253 第5章 コマン ド リ フ ァ レンス [Include cover page] オ ンの場合、 カバー ページがすべての他のページ の前に印刷 さ れ ます。 [Cover] テ キ ス ト ボ ッ ク ス に名前を設定すれば、 印刷 し た人を簡単に識別で き ます。 オ フ の場合、 カバー ページは印刷 さ れ ません。 [Header per column] オ ンの場合、 ヘ ッ ダーが各カ ラ ムの上に印刷 さ れ ます。 カ ラ ム数が 2 以上に設定 さ れてい る 場合にのみ有効です。 オ フ の場合、 単一のヘ ッ ダーがページの上部に印刷 さ れ ます。 [Footer per column] オ ン の場合、 フ ッ タ ーが各カ ラ ムの下に印刷 さ れ ます。 カ ラ ム数が 2 以上に設定 さ れてい る 場合にのみ有効です。 オ フ の場合、 単一の フ ッ タ ーがページの下部に印刷 さ れ ます。 フ ォーマ ッ ト オ プシ ョ ン フ ォ ーマ ッ ト オプシ ョ ンは、 構文フ ォ ーマ ッ ト を プ リ ン タ に出力す る 方法を制御 し ます。 こ れ ら のオプシ ョ ンは、 [Preferences: Syntax Formatting] ダ イ ア ロ グ ボ ッ ク ス で制御す る 画面の設定には依存 し ませ ん。 [Print Syntax Formatting] オ ンの場合、 画面に表示 さ れ る の と 同 じ よ う に、 すべての構文フ ォ ーマ ッ ト が印刷 さ れ ます。 [Print in color] オ ンの場合、 カ ラ ーで印刷 し ます。 プ リ ン タ がカ ラ ー プ リ ン タ でない場合、 灰色の濃淡で印刷 さ れ ます。 オ フ の場合、 すべ てのテ キ ス ト は、 画面の色に関係な く 、 白黒で印刷 さ れ ます。 灰色に 近いカ ラ ーは灰色で表示 さ れ ます。 ヘ ッ ダー と フ ッ タ ー コ ー ド ヘ ッ ダーは、 ページの上部に印刷 さ れ る タ イ ト ルです。 フ ッ タ ーは、 ページの下部に印刷 さ れ る タ イ ト ルです。 [Page Setup] コ マ ン ド を使用 し て、 印刷ページのヘ ッ ダー と フ ッ タ ーを カ ス タ マ イ ズで き ます。 カ ス タ マ イ ズす る には、 [Header] お よ び [Footer] テ キ ス ト ボ ッ ク ス で以下の コ ー ド を使用 し ます。 表 5.4: ヘ ッ ダー と フ ッ タ ー コ ー ド 254 コー ド 結果 &L 後に続 く 文字を左揃えに し ます。 デフ ォ ル ト の設定です。 &C 後に続 く 文字を中央揃えに し ます。 &R 後に続 く 文字を右揃えに し ます。 &/ 次の行に移動 し ます。 &B 後に続 く 文字を太字で印刷 し ます。 &I 後に続 く 文字を斜体で印刷 し ます。 &U 後に続 く 文字を下線付 き で印刷 し ます。 &D 現在の日付を印刷 し ます。 Source Insight ユーザー マニ ュ アル 第5章 Page Up 表 5.4: ヘ ッ ダー と フ ッ タ ー コ ー ド コー ド 結果 &T 現在の時間を印刷 し ます。 &F フ ァ イ ル名を印刷 し ます。 &P ページ番号を印刷 し ます。 &N ド キ ュ メ ン ト のページの総数を印刷 し ます。 た と えば、 ド キ ュ メ ン ト が 12 ページの場合、 Page &P of &N と 指定す る と 、 Page 1 of 12、 Page 2 of 12、 Page 3 of 12、 の よ う に印刷 さ れます。 && 単一ア ンパサン ド (&) を命令 と し てではな く リ テ ラ ル文字 と し て印刷 し ます。 た と えば、 左の余白に 「Confidential」、 中央にページ番号、 右の余白に 現在の日付を印刷す る には、 以下の よ う に入力 し ます。 &LConfidential&C&P&R&D Page Up ア ク テ ィ ブな ウ ィ ン ド ウ を 1 画面上に ス ク ロ ール し ます。 ス ク ロ ール 前の最初の行が ス ク ロ ール後の最後の行にな り ます。 Paren Left 挿入ポ イ ン ト を次の括弧の左に移動 し ます。 Paren Right 挿入ポ イ ン ト を次の括弧の右に移動 し ます。 Parse Source Links 指定 し たパ タ ーン でカ レ ン ト フ ァ イ ルを検索 し ます。 検索がマ ッ チす る と 、 その場所に ソ ース リ ン ク を作成 し ます。 ソ ース リ ン ク は、 カ レ ン ト フ ァ イ ルの ソ ース行 と パ タ ーン を使用 し て解析 し た フ ァ イ ルお よ び行番号を リ ン ク し ます。 Source Insight ユーザー マニ ュ アル 255 第5章 コマン ド リ フ ァ レンス [File, then Line] お よ び [Line, then File] パ タ ーン表現の最初のグループ が フ ァ イ ル名で 2 番目のグループが行番号の場合、 [File, then Line] を 選択 し ます。 こ の設定では、 2 番目のグループ ( た と えば、 行番号 ) は オプシ ョ ン です。 パ タ ーン表現の最初のグループが行番号で 2 番目のグループが フ ァ イ ル名の場合、 [Line, then File] を選択 し ます。 [Pattern] コ マ ン ド 出力の フ ァ イ ル名 と 行番号の検索に使用 さ れ る 正規 表現です。 こ のテ キ ス ト ボ ッ ク ス には、 フ ァ イ ル名 と 行番号の 「グ ループ」 を含む有効な正規表現が含ま れてい る 必要があ り ます。 こ の テ キ ス ト ボ ッ ク ス の内容は、 カ レ ン ト ワー ク スペース に保存 さ れ ま す。 [Parse Source Links] コ マ ン ド は、 コ ンパ イ ラ 出力お よ びエ ラ ー メ ッ セージ を含む ロ グ フ ァ イ ルがあ る 場合に便利です。 ロ グ フ ァ イ ルを開 いて、 [Parse Source Links] コ マ ン ド を実行す る だけです。 リ ン ク がエ ラ ー メ ッ セージ を含む ロ グ フ ァ イ ルの各行に設定 さ れます。 118 ペー ジの 「検索 と ソ ース リ ン ク 」 . 複数の解析パ タ ーンの管理 2 つ以上の解析パ タ ーン を使用す る 場合、 [Custom Commands] を使用 し て、 出力か ら ソ ース リ ン ク を解析す る 各 タ イ プ用のカ ス タ ム コ マ ン ド を定義で き ます。 各カ ス タ ム コ マ ン ド には独自の解析パ タ ーン を設定 で き る ので、 こ の方法で多 く の解析パ タ ーン を保存で き ます。 た と えば、 1. [Options] メ ニ ュ ーか ら 、 [Custom Commands] を選択 し ます。 2. [Add] ボ タ ン を ク リ ッ ク し て、 [Name] テ キ ス ト ボ ッ ク ス に 「Parse Type 1」 と 入力 し ます。 3. [Run] テ キ ス ト ボ ッ ク ス に、 「command /c type %f」 と 入力 し ま す。 こ の コ マ ン ド ラ イ ンは、 カ レ ン ト ソ ース フ ァ イ ルの内容を出 力 し ます。 4. [Parse Link in Output] チ ェ ッ ク ボ ッ ク ス を オ ン に し ます。 5. [Pattern] テ キ ス ト ボ ッ ク ス に解析パ タ ーン を入力 し ます。 こ の コ マ ン ド を実行す る と 、 Source Insight に よ っ て カ レ ン ト フ ァ イ ル がキ ャ プチ ャ さ れ、 カ ス タ ム コ マ ン ド を使用 し て格納 さ れた解析パ タ ーン を使用 し て ソ ース リ ン ク が解析 さ れます。 Paste ク リ ッ プボー ド の内容を現在の選択範囲に コ ピー し ます。 現在の選択 範囲が拡張 さ れてい る 場合、 貼 り 付けの前に削除 さ れ ます。 256 Source Insight ユーザー マニ ュ アル 第5章 Paste From Clip Paste From Clip ク リ ッ プ バ ッ フ ァ の内容を現在の選択範囲に コ ピー し ます。 こ の コ マ ン ド を使用す る と 、 ク リ ッ プ ウ ィ ン ド ウ が表示 さ れます。 ク リ ッ プ ウ ィ ン ド ウ で ク リ ッ プ を ダブル ク リ ッ ク し て、 こ の コ マ ン ド を実行す る こ と も で き ます。 Paste Line 挿入ポ イ ン ト を カ レ ン ト 行の行頭に移動 し て、 [Paste] コ マ ン ド を実行 し ます。 [Cut Line]、 [Copy Line]、 お よ び [Paste Line] と 一緒に使用す る こ と で、 フ ァ イ ルの行を素早 く 移動で き ます。 Paste Symbol ( シ ン ボル ウ ィ ン ド ウ の右 ク リ ッ ク メ ニ ュ ー ) ク リ ッ プボー ド の内容を、 シ ン ボル ウ ィ ン ド ウ で選択 し てい る シ ン ボ ルの直前に貼 り 付け ます。 Play Recording 記録 し た コ マ ン ド を再生 し ます。 コ マ ン ド は、 [Start Recording] コ マ ン ド を使用 し て記録 し ます。 [Play Recording] コ マ ン ド を使用 し た と き に レ コ ーダがオ ン だっ た場合、 レ コ ーダは自動的にオ フ にな り ます。 Preferences 各種ユーザー オプシ ョ ン を指定 し ます。 ダ イ ア ロ グ ボ ッ ク ス には、 [Display]、 [Files]、 お よ び [Syntax Formatting] の よ う な各種オプシ ョ ン 用の タ ブがあ り ます。 詳細は、 以下を参照 し て く だ さ い。 209 ページの 「General Options」 も 参照 し て く だ さ い。 327 ページの 「Typing Options」 も 参照 し て く だ さ い。 203 ページの 「File Options」 も 参照 し て く だ さ い。 228 ページの 「Language Options」 も 参照 し て く だ さ い。 315 ページの 「Symbol Lookup Options」 も 参照 し て く だ さ い。 187 ページの 「Display Options」 も 参照 し て く だ さ い。 169 ページの 「Color Options」 も 参照 し て く だ さ い。 320 ページの 「Syntax Decorations」 も 参照 し て く だ さ い。 322 ページの 「Syntax Formatting」 も 参照 し て く だ さ い。 301 ページの 「Searching Options」 も 参照 し て く だ さ い。 282 ページの 「Remote Options」 も 参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 257 コマン ド リ フ ァ レンス 第5章 Print カ レ ン ト フ ァ イ ルを印刷 し ます。 Windows の [ 印刷 ] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。 フ ァ イ ルの印刷に使用 さ れ る フ ォ ン ト を制御す る には、 [Document Options] コ マ ン ド を使用 し ます。 [Document Options] コ マ ン ド では、 印 刷に使用す る フ ォ ン ト と 画面の表示に使用す る フ ォ ン ト を指定で き ま す。 ま たは、 [Emulate screen fonts when printing] オプシ ョ ン を オ ン に し て、 印刷時に画面の表示に使用す る フ ォ ン ト を エ ミ ュ レー ト す る こ と も で き ます。 TrueType フ ォ ン ト を選択 し た場合、 フ ォ ン ト を エ ミ ュ レー ト し て も 問題あ り ません。 「MS Sans Serif」 や 「Courier」 の よ う な フ ォ ン ト を選択 し た場合、 フ ォ ン ト のエ ミ ュ レー ト が正 し く 行われな い こ と があ り ます。 プ リ ン タ ド ラ イ バに よ っ ては、 似た フ ォ ン ト に置 換 さ れ る こ と があ り ます。 カ ラ ー印刷 フ ァ イ ルを カ ラ ーで印刷す る には、 [Page Setup] ダ イ ア ロ グ ボ ッ ク ス で [Print in color] オプシ ョ ン を オ ン にす る 必要があ り ます。 Print Relation Window リ レーシ ョ ン ウ ィ ン ド ウ のグ ラ フ を印刷 し ます。 こ の コ マ ン ド は、 リ レーシ ョ ン ウ ィ ン ド ウ を右 ク リ ッ ク し て ア ク セ スす る こ と も で き ま す。 Source Insight は、 複数のページ グ ラ フ を印刷で き ます。 各ページの下 部には、 ページの座標が印刷 さ れます。 た と えば、 グ ラ フ が 4 x 3 ペー ジに分かれてい る 場合、 最初のページの下部に、 「Cell 1,1 of 4 x 3 square」 の よ う に印刷 さ れ ます。 258 Source Insight ユーザー マニ ュ アル 第5章 Project Document Types Project Document Types プ ロ ジ ェ ク ト ウ ィ ン ド ウ に、 プ ロ ジ ェ ク ト フ ァ イ ルの リ ス ト を ド キ ュ メ ン ト タ イ プ別に分類 し て表示 し ます。 Project File Browser プ ロ ジ ェ ク ト ウ ィ ン ド ウ に、 フ ァ イ ル ブ ラ ウ ザ ビ ュ ーを表示 し ます。 こ の ビ ュ ーで、 デ ィ ス ク に含ま れ る フ ァ イ ルを参照で き ます。 Source Insight ユーザー マニ ュ アル 259 コマン ド リ フ ァ レンス 第5章 Project File List プ ロ ジ ェ ク ト ウ ィ ン ド ウ に、 すべてのプ ロ ジ ェ ク ト フ ァ イ ルを表示 し ます。 デ ィ レ ク ト リ に関係な く 、 カ レ ン ト プ ロ ジ ェ ク ト のすべての フ ァ イ ルが リ ス ト さ れます。 260 Source Insight ユーザー マニ ュ アル 第5章 Project Symbol Classes Project Symbol Classes プ ロ ジ ェ ク ト ウ ィ ン ド ウ に、 カ テ ゴ リ 別にプ ロ ジ ェ ク ト シ ン ボルを表 示 し ます。 Project Symbol List プ ロ ジ ェ ク ト ウ ィ ン ド ウ に、 すべてのプ ロ ジ ェ ク ト シ ン ボルを表示 し ます。 こ の ビ ュ ーは、 モーダル ダ イ ア ロ グ ボ ッ ク ス が表示 さ れ る [Browse Project Symbols] コ マ ン ド (F7) よ り も 便利です。 プ ロ ジ ェ ク ト Source Insight ユーザー マニ ュ アル 261 第5章 コマン ド リ フ ァ レンス ウ ィ ン ド ウ はモー ド レ ス ダ イ ア ロ グ ボ ッ ク ス なので、 コ ン テ キ ス ト ウ ィ ン ド ウ や リ レーシ ョ ン ウ ィ ン ド ウ と 同時に使用で き ます。 Project Window Properties プ ロ ジ ェ ク ト ウ ィ ン ド ウ のプ ロ パテ ィ を編集 し ます。 262 Source Insight ユーザー マニ ュ アル 第5章 Project Settings [Current Display] プ ロ ジ ェ ク ト ウ ィ ン ド ウ の表示モー ド を選択 し ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ で Ctrl+Tab を使用 し て表示モー ド を選択す る こ と も で き ます。 ま た、 ツールバーのボ タ ン を使用 し て表示モー ド を 選択す る こ と も で き ます。 [Appearance Options] プ ロ ジ ェ ク ト ウ ィ ン ド ウ に表示す る 内容を制御 し ます。 [File Size]、 [File Date] フ ァ イ ルを表示す る モー ド で、 こ れ ら のオプ シ ョ ン を オ ンにす る と 、 各フ ァ イ ルのサ イ ズ、 日付が別々のカ ラ ムに 表示 さ れ ます。 選択 し た コ ー ド メ ト リ ッ ク カ ラ ム を表示 し ます。 右 の ド ロ ッ プダ ウ ン リ ス ト か ら 、 カ ラ ムに表示す る コ ー ド メ ト リ ッ ク 値 を選択 し ます。 [Code Metrics:] [Symbol Type Filter…] プ ロ ジ ェ ク ト ウ ィ ン ド ウ に表示 さ れ る シ ン ボル リ ス ト に表示す る シ ン ボルの タ イ プ を選択 し ます。 オ ンの場合、 ウ ィ ン ド ウ のサ イ ズ を変更す る と 、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ はカ ラ ムのサ イ ズ を自動的 に変更 し ます。 オ フ の場合、 カ ラ ム の幅を変更 し た場合を除いて、 カ ラ ムの幅は固定です。 [Automatically arrange when resizing] [Directory View Options] [Stack list vertically] オ ン の場合、 フ ァ イ ル ブ ラ ウ ザ ビ ュ ーで、 デ ィ レ ク ト リ リ ス ト を フ ァ イ ル リ ス ト の上に表示 し ます。 オ フ の場合、 リ ス ト を横に並べて表示 し ます。 [Automatically arrange when resizing] オ プシ ョ ン がオ ン の場合、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ の縦横比に応 じ て向 き が自動的に切 り 替え ら れ ます。 File Directory ビ ュ ーでのみ使用 さ れ ます。 オ ン の場合、 フ ァ イ ルのサ イ ズの よ う な詳細な情報が フ ァ イ ル リ ス ト に表示 さ れます。 [Show file details in directory display] [Font…]、 [Text Color…]、 [Back Color…] それぞれ、 フ ォ ン ト 、 テ キ ス ト の色、 背景色を選択 し ます。 Project Settings [Project Settings] コ マ ン ド を使用 し て、 カ レ ン ト プ ロ ジ ェ ク ト を管理す る さ ま ざ ま なオプシ ョ ン を設定で き ます。 開いてい る プ ロ ジ ェ ク ト が ない場合、 [Project Settings] コ マ ン ド はデフ ォ ル ト のオプシ ョ ン を設定 し ます。 次回以降作成 さ れ る 新規プ ロ ジ ェ ク ト では、 こ のオプシ ョ ン が使用 さ れ ます。 Source Insight ユーザー マニ ュ アル 263 第5章 コマン ド リ フ ァ レンス 設定は、 プ ロ ジ ェ ク ト デ ィ レ ク ト リ のプ ロ ジ ェ ク ト デー タ フ ァ イ ル に保存 さ れ ます。 こ れ ら の設定は、 設定フ ァ イ ルに依存 し ません。 [Configuration] オプシ ョ ン プ ロ ジ ェ ク ト を開 く と き に使用す る 設定を指定 し ます。 設定には、 キー バ イ ン ド の よ う な、 ユーザーがカ ス タ マ イ ズ し た項目のほ と ん ど が保存 さ れ ます。 [Project has its own configuration file] プ ロ ジ ェ ク ト は、 プ ロ ジ ェ ク ト デ ィ レ ク ト リ に保存 さ れた独自の設定フ ァ イ ルを使用 し ます。 プ ロ ジ ェ ク ト 設定フ ァ イ ルの名前は、 < プ ロ ジ ェ ク ト 名 >.CF3 です。 [Shares global configuration file] プ ロ ジ ェ ク ト は、 他のプ ロ ジ ェ ク ト と グ ロ ーバル設定フ ァ イ ルを共有 し ます。 グ ロ ーバル設定フ ァ イ ルは、 Source Insight プ ロ グ ラ ム デ ィ レ ク ト リ に保存 さ れます。 名前は Global.cf3 です。 [Conditional Parsing] 条件付 き コ ンパ イ ル値の設定を制御 し ます。 [Conditions…] カ レ ン ト プ ロ ジ ェ ク ト のみに固有な定義済みの条件を 編集 し ます。 こ れ ら の条件はカ レ ン ト プ ロ ジ ェ ク ト が開かれてい る 場 264 Source Insight ユーザー マニ ュ アル 第5章 Project Settings 合にのみ ( プ ロ ジ ェ ク ト に属 し てい る フ ァ イ ルに対 し てのみ ) 有効で す。 [Edit Condition] コ マ ン ド を使用 し て条件を編集す る こ と も で き ま す。 ソース デ ィ レ ク トリ プロジ ェ ク ト ソー ス ディ レク ト リ は、 ソ ース フ ァ イ ルのホーム デ ィ レ ク ト リ です。 [Project Source Directory] ソ ース フ ァ イ ルの メ イ ン の場所のパ ス を指 定 し ます。 こ のデ ィ レ ク ト リ は、 プ ロ ジ ェ ク ト の 「ホーム」 デ ィ レ ク ト リ です。 Source Insight が フ ァ イ ル名を表示す る と き 、 フ ァ イ ルは こ のデ ィ レ ク ト リ への相対パ ス で表示 さ れます。 こ のテ キ ス ト ボ ッ ク ス を空白に し た場合、 Source Insight は メ イ ン プ ロ ジ ェ ク ト フ ァ イ ル ( 拡 張子 .PR) が作成 さ れたプ ロ ジ ェ ク ト デー タ デ ィ レ ク ト リ を使用 し ま す。 プ ロ ジ ェ ク ト デー タ フ ァ イ ルを ソ ース フ ァ イ ル と 別のデ ィ レ ク ト リ に保存す る 場合は、 異な る プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ を指定 し ます。 プ ロ ジ ェ ク ト デー タ フ ァ イ ルは .PR フ ァ イ ルで指定 さ れた場所 に格納 さ れ ますが、 ソ ース フ ァ イ ルは別の場所に保存で き ます。 た と えば、 ワ ー ク ス テーシ ョ ン上に ロ ーカルに格納 さ れ る プ ロ ジ ェ ク ト を 作成 し て、 プ ロ ジ ェ ク ト に リ モー ト ネ ッ ト ワー ク ド ラ イ ブか ら フ ァ イ ルを追加で き ます。 ソ ース フ ァ イ ルへのネ ッ ト ワー ク ド ラ イ ブ パ ス を プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ と し て指定 し た場合、 フ ァ イ ル名 に追加のパ ス情報は含ま れません。 こ の機能は、 プ ロ ジ ェ ク ト デー タ フ ァ イ ルを ソ ース フ ァ イ ル と 同 じ デ ィ レ ク ト リ に作成で き ない場合に便利です。 プ ロ ジ ェ ク ト マネー ジ ャ に よ っ ては、 ソ ース コ ー ド の共有ポ イ ン ト への読み取 り 専用ア ク セ ス を許可 し 、 Source Insight フ ァ イ ルの保存を許可 し ない こ と があ り ます。 プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ 設定は、 プ ロ ジ ェ ク ト を作成 し た 後、 いつで も [Project Settings] ダ イ ア ロ グ ボ ッ ク ス で変更で き ます。 プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ パ ス は相対フ ォ ーマ ッ ト で格納 さ れ ます。 パ ス は .PR フ ァ イ ルを含むデ ィ レ ク ト リ への相対パ ス です。 相対パ ス を使用す る こ と に よ り 、 あ る マシ ン上で作成 さ れたプ ロ ジ ェ ク ト を、 論理 ド ラ イ ブ を混同す る こ と な く 、 別のマシ ン か ら リ モー ト に開 く こ と がで き ます。 プ ロ ジ ェ ク ト デ ィ レ ク ト リ ツ リ ー全体を新 し い場所に コ ピーす る こ と も で き ます。 一部のカ ス タ ム コ マ ン ド 文字列 メ タ 文字の置換 も 、 こ のパ ス設定に よ っ て影響を受け ます。 %j ( プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ ) お よ び %v ( プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ のボ リ ュ ーム文字 ) は、 .PR フ ァ イ ルを含む場所ではな く 、 こ のパ ス値を参照 し ます。 シ ンボル デー タ ベース オプシ ョ ン こ れ ら のオプシ ョ ンは、 プ ロ ジ ェ ク ト のシ ン ボル デー タ ベース に格納 さ れ る 内容に影響を与え ます。 プ ロ ジ ェ ク ト に フ ァ イ ルを追加す る 前 に、 こ れ ら のオプシ ョ ン を選択 し て く だ さ い。 プ ロ ジ ェ ク ト を構築 し Source Insight ユーザー マニ ュ アル 265 コマン ド リ フ ァ レンス 第5章 た後に こ れ ら のオプシ ョ ン を変更 し た場合、 プ ロ ジ ェ ク ト を再構築す る 必要があ り ます。 Source Insight を使用 し て再構築 し ます。 [Store function-local symbols in the database] 関数の本体内部で宣言 さ れた ロ ーカル変数を シ ン ボル デー タ ベース に格納 し ます。 デー タ ベー ス のサ イ ズは大 き く な り ますが、 フ ァ イ ルを開 く と 変数の構文フ ォ ー マ ッ ト が直ちに表示 さ れます。 [Quick browsing for member names] オ ンの場合、 構造体ま たは ク ラ ス 名を入力す る だけで名前の部分一致が実行 さ れ ます。 し か し 、 シ ン ボ ル イ ンデ ッ ク ス のサ イ ズ と メ モ リ の使用量は 2 倍以上増加 し ます。 オ ブジ ェ ク ト 指向言語を主に使用 し てい る 場合、 こ のオプシ ョ ン を推奨 し ます。 ク ラ ス名を入力す る こ と な く 、 メ ンバ関数 と 変数を検索で き ます。 [Quick browsing for symbol syllables] オ ンの場合、 シ ン ボルの 1 つま たは 2 つのシ ラ ブルを入力す る だけで名前の部分一致が実行 さ れ ます。 し か し 、 シ ン ボル イ ンデ ッ ク ス のサ イ ズ と メ モ リ の使用量は 4 倍以上 増加 し ます。 シ ラ ブル イ ンデ ッ ク ス を使用す る と 、 シ ン ボル名の最初 の文字がわか ら ない場合で も 、 シ ラ ブル マ ッ チン グ を使用 し て シ ン ボ ルを素早 く 検索で き ます。 こ のオプシ ョ ンは、 プ ロ ジ ェ ク ト シ ン ボル パ ス経由でのみ参照す る 外 部 コ モ ン プ ロ ジ ェ ク ト には推奨 し ません。 こ の場合、 シ ラ ブル イ ン デ ッ ク ス を使用す る 利点はな く 、 使用す る スペース が増加す る だけで す。 プ ロ ジ ェ ク ト が非常に大 き く 、 シ ス テ ムの RAM が少ない ( デ ィ ス ク の ス ワ ッ プ領域のサ イ ズが小 さ い ) 場合、 こ のオプシ ョ ンは推奨 し ませ ん。 イ ンデ ッ ク スのパフ ォ ーマ ン ス 上記の条件に当ては ま る 場合を除いて、 シ ラ ブル マ ッ チン グ を有効に す る こ と を推奨 し ま し た。 パフ ォ ーマ ン ス に影響を受けてい る と 感 じ 266 Source Insight ユーザー マニ ュ アル 第5章 Project Settings る 場合、 イ ンデ ッ ク ス が大 き すぎ る ために、 以下の よ う な現象が起 き てい ます。 • 大規模なプ ロ ジ ェ ク ト の ビル ド ま たは リ ビル ド 中にデ ィ ス ク ス ラ ッ シ ン グが発生 し ます。 • プ ロ ジ ェ ク ト を開 く ま たは閉 じ る のに時間がかか り ます。 • 個々の フ ァ イ ルの同期処理が遅 く な り ます。 • [Browse Project Symbols] ダ イ ア ロ グ ボ ッ ク ス (F7) の表示に時間 がかか り ます。 最初に使用す る と き の多少の遅延は正常です。 プ ロ ジ ェ ク ト に数百万の イ ンデ ッ ク ス エン ト リ が含まれます。 こ の制限は、 RAM の量に依存 し ます。 • • ハー ド ド ラ イ ブのア ク セ ス ラ ン プが点灯 し た ま ま にな り ます。 ま たはデ ィ ス ク が フ ラ ッ シ ュ さ れてい る 間シ ス テ ム が休止 し ま す。 大規模なプ ロ ジ ェ ク ト (200,000 シ ン ボル以上 ) でシ ス テ ムが遅い場合、 [Quick browsing for symbol syllables] を オ フ に し て く だ さ い。 [Project] > [Rebuild Project] を選択 し てダ イ ア ロ グ ボ ッ ク ス の下部に表示 さ れ る 情 報を確認す る こ と でデー タ ベース のサ イ ズが予測で き ます。 情報を確 認 し た ら 、 [Cancel] ボ タ ン を ク リ ッ ク し てダ イ ア ロ グ ボ ッ ク ス を閉 じ て く だ さ い。 イ ンデ ッ ク ス エ ン ト リ の数が百万を超え る と 、 シ ス テ ム は遅 く な り ます。 ただ し 、 メ モ リ 256MB の Pentium III ク ラ ス のマシ ン で も 、 こ のサ イ ズのプ ロ ジ ェ ク ト を問題な く 処理で き ます。 マシ ンに メ モ リ を追加す る と 、 パフ ォーマ ン ス が向上 し ます。 Source Insight ユーザー マニ ュ アル 267 第5章 コマン ド リ フ ァ レンス Project Report カ レ ン ト プ ロ ジ ェ ク ト の フ ァ イ ル と シ ン ボルの リ ス ト を含む出力レ ポー ト フ ァ イ ル (< プ ロ ジ ェ ク ト >.RPT) を生成 し ます。 [Files] 対応す る 情報を含め る には、 こ れ ら のチ ェ ッ ク ボ ッ ク ス を オ ン に し ます。 [Include Symbols] オ ン の場合、 シ ン ボルが各フ ァ イ ルの下に リ ス ト さ れます。 オ フ の場合、 プ ロ ジ ェ ク ト レ ポー ト にシ ン ボル情報は リ ス ト さ れ ません。 [Line Numbers] オ ンの場合、 シ ン ボルが定義 さ れた行番号がシ ン ボル 名順に リ ス ト さ れ ます。 [Sort by] [Occurrence] が選択 さ れた場合、 シ ン ボルは行番号順に リ ス ト さ れます。 [Name] が選択 さ れた場合、 シ ン ボルはシ ン ボル名順に リ ス ト さ れ ます。 [Symbol Types…] 含め る シ ン ボルの タ イ プ を指定 し ます。 Project Window コ マ ン ド プ ロ ジ ェ ク ト ウ ィ ン ド ウ は、 カ レ ン ト プ ロ ジ ェ ク ト の フ ァ イ ルの リ ス ト を表示す る フ ロ ーテ ィ ン グ / 結合可能な ウ ィ ン ド ウ です。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ のエ ン ト リ を ダブル N リ ッ ク す る と 、 フ ァ イ ルが開 き ます。 エ ク ス プ ロ ー ラ ま たはフ ァ イ ル マネージ ャ か ら フ ァ イ ルを プ ロ ジ ェ ク ト ウ ィ ン ド ウ に ド ラ ッ グす る と 、 フ ァ イ ルがプ ロ ジ ェ ク ト に追 268 Source Insight ユーザー マニ ュ アル 第5章 Rebuild Project 加 さ れます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ の下部には、 プ ロ ジ ェ ク ト に関 連す る 他の コ マ ン ド 用の ツールバーがあ り ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ は、 [Project Window] コ マ ン ド を実行 し て、 オ ン と オ フ を切 り 替え る こ と がで き ます。 プ ロ ジ ェ ク ト ウ ィ ン ド ウ に フ ォ ーカ ス を移すには、 [Activate Project Window] コ マ ン ド を実行 し ま す。 こ の コ マ ン ド は、 非表示のプ ロ ジ ェ ク ト ウ ィ ン ド ウ があ る と 、 ウ ィ ン ド ウ を表示 し ます。 プ ロ ジ ェ ク ト が開かれてい る 場合、 [Open] コ マ ン ド を実行す る と プ ロ ジ ェ ク ト ウ ィ ン ド ウ が表示 さ れます。 コ ン テ キ ス ト ウ ィ ン ド ウ が開かれてい る 場合、 プ ロ ジ ェ ク ト ウ ィ ン ド ウ で選択 さ れてい る フ ァ イ ルの内容が表示 さ れ ます。 Rebuild Project プ ロ ジ ェ ク ト デー タ ベース フ ァ イ ルを リ ビル ド し ます。 大規模な変更の後にすべての フ ァ イ ルを再解析す る 場合、 ま たはプ ロ ジ ェ ク ト デー タ が正 し く ない と 思われ る 場合は、 プ ロ ジ ェ ク ト を リ ビ ル ド し ます。 プ ロ ジ ェ ク ト を閉 じ ないで Source Insight が異常終了 し た場合、 プ ロ ジ ェ ク ト は壊れ る こ と があ り ます。 [Rebuild Project] ダ イ ア ロ グ ボ ッ ク ス は、 プ ロ ジ ェ ク ト に関す る い く つ かの統計 も リ ス ト し ます。 シ ン ボル デー タ ベース レ コ ー ド 、 シ ン ボル イ ンデ ッ ク ス エ ン ト リ 、 お よ びフ ァ イ ルの数が表示 さ れます。 こ の情 報は、 [Project Report] コ マ ン ド を実行 し た場合に も 出力 さ れ ます。 プ ロ ジ ェ ク ト を リ ビル ド す る メ ソ ッ ド は 3 つあ り ます。 最後の メ ソ ッ ド を推奨 し ます。 [Re-Parse all source files] プ ロ ジ ェ ク ト のすべての フ ァ イ ルを単純に ス キ ャ ン し て再解析 し 、 シ ン ボル デー タ ベース を更新 し ます。 最 も 遅い Source Insight ユーザー マニ ュ アル 269 第5章 コマン ド リ フ ァ レンス メ ソ ッ ド です。 し か し 、 操作を キ ャ ン セルす る と 、 シ ン ボル デー タ ベース は多少日付が古 く な り ますが、 完全な ま ま です。 キ ャ ン セル し て も 、 正常に編集を続行で き ます。 再解析はバ ッ ク グ ラ ウ ン ド で続行 さ れ ます。 シ ン ボル デー タ ベース は、 少な く と も リ ビル ド プ ロ セ ス を 開始 し た と き と 同程度に最新にな り ます。 [Fix database file corruption, if any] デー タ ベース を ス キ ャ ン し 、 デー タ ベース が正当で自己矛盾がない状態であ る こ と を保証 し ます。 し か し 、 最近プ ロ ジ ェ ク ト に フ ァ イ ルを追加 し た場合やプ ロ ジ ェ ク ト か ら フ ァ イ ルを削除 し た場合、 リ ビル ド が完了 し た後、 一部の フ ァ イ ル ま たはシ ン ボルが見つか ら ない こ と があ り ます。 高速な メ ソ ッ ド です。 プ ロ ジ ェ ク ト が壊れてい る と 思われ る 場合、 こ の コ マ ン ド を使用 し て く だ さ い。 通常、 Source Insight はプ ロ ジ ェ ク ト を開 く と き にプ ロ ジ ェ ク ト が適切に閉 じ ら れたか ど う か検出で き ます。 プ ロ ジ ェ ク ト が壊れ てい る こ と を検出す る と 、 Source Insight はプ ロ ジ ェ ク ト を リ ビル ド す る か ど う か確認 し ます。 Source Insight が、 壊れたプ ロ ジ ェ ク ト を故意 に開 く こ と はあ り ません。 [Re-Create the whole project from scratch] ( 推奨 ) プ ロ ジ ェ ク ト を リ ビ ル ド す る 最 も 安全な メ ソ ッ ド です。 こ の メ ソ ッ ド を使用す る こ と を推 奨 し ます。 プ ロ ジ ェ ク ト に関す る すべてのシ ン ボル情報を削除 し 、 す べての ソ ース フ ァ イ ルを再ス キ ャ ン し て、 シ ン ボル デー タ ベース を最 初か ら 再生成 し ます。 [Fix database file corruption, if any] メ ソ ッ ド よ り 時間がかか り ます。 途中でキ ャ ン セルす る と 、 シ ン ボル デー タ ベース の一部のみ再生成 さ れます。 こ の場合、 ス キ ャ ン し ていないシ ン ボル の情報はわか り ません。 バ ッ ク グ ラ ウ ン ド 同期に よ り 解析は完了 し ま す。 ま たは、 [Project] > [Synchronize Files] コ マ ン ド を使用 し てプ ロ セ ス を完了 し ます。 Record New Default Properties ( シ ン ボル ウ ィ ン ド ウ の右 ク リ ッ ク メ ニ ュ ー ) ウ ィ ン ド ウ の現在の設定を新規 ウ ィ ン ド ウ のデフ ォ ル ト 設定に し ます。 シ ン ボル ウ ィ ン ド ウ の場合、 ウ ィ ン ド ウ の幅、 シ ン ボルの ソ ー ト 、 シ ン ボルの タ イ プの フ ィ ル タ リ ン グが記録 さ れ、 以降に作成 さ れ る 新規 ウ ィ ン ド ウ のデフ ォ ル ト 値 と し て使用 さ れます。 Redo [Undo] コ マ ン ド の効果を逆に し ます。 フ ァ イ ルを編集す る と 、 Source Insight は各フ ァ イ ルに加え た変更の リ ス ト を作成 し ます。 [Undo] コ マ ン ド は リ ス ト を戻 し 、 [Redo] コ マ ン ド は リ ス ト を進め ます。 [Redo All] コ マ ン ド を使用 し てすべての [Undo] ア ク シ ョ ン を逆にす る こ と も で き ます。 Source Insight は、 開いてい る 各フ ァ イ ルについて、 [Undo]/[Redo] の履 歴を保存 し ます。 270 Source Insight ユーザー マニ ュ アル 第5章 Redo All Redo All すべての [Undo] ア ク シ ョ ン の影響を逆に し ます。 フ ァ イ ルは、 最後に 変更 さ れた状態にな り ます。 [Redo] で き な く な る ま で [Redo] コ マ ン ド を繰 り 返 し 実行す る こ と と 等価です。 Redraw Screen Source Insight の画面全体を再表示 し ます。 Reform Paragraph 段落内のすべての行が、 現在の ド キ ュ メ ン ト タ イ プの余白の幅に収ま る 範囲で、 で き る だけ多 く 表示 さ れ る よ う に、 選択 し てい る テ キ ス ト の段落を再フ ォ ーマ ッ ト し ます。 選択範囲が指定 さ れていない場合、 挿入ポ イ ン ト を含む一連の段落が 再フ ォ ーマ ッ ト さ れ ます。 複数の段落が選択 さ れてい る 場合、 選択範 囲のすべての段落が再フ ォ ーマ ッ ト さ れ ます。 段落の最初の行が イ ンデン ト さ れてい る 場合、 各段落の後の以降 も 同 じ よ う に イ ンデン ト さ れます。 テ キ ス ト の段落は、 黒線で囲ま れた行のグループであ る と 見な さ れ ま す。 余白の幅は、 カ レ ン ト フ ァ イ ルの ド キ ュ メ ン ト タ イ プの [Document Options] コ マ ン ド で指定で き ます。 た と えば、 [Reform Paragraph] を実行す る 前の段落が以下の場合 : The quick brown fox jumped over the lazy dog, and other mysterious sentences. [Reform Paragraph] を実行 し た後、 行が余白に収ま る 範囲で、 で き る だ け多 く 表示 さ れ る よ う に、 次の よ う に再フ ォーマ ッ ト さ れ ます。 The quick brown fox jumped over the lazy dog, and other mysterious sentences. Refresh Relation Window リ レーシ ョ ン ウ ィ ン ド ウ の内容を再計算 し て更新 し ます。 通常、 リ レーシ ョ ン ウ ィ ン ド ウ は選択範囲に基づいて自動的に更新 さ れ ます。 リ レーシ ョ ン ウ ィ ン ド ウ を自動的に更新 し ない場合、 [Lock Relation Window] コ マ ン ド を使用 し て ロ ッ ク す る か、 [Relation Window Properties] コ マ ン ド を使用 し て 「Automatic Symbol Tracking」 を 「None」 に設定 し ます。 その場合で も 、 [Refresh Relation Window] コ マ Source Insight ユーザー マニ ュ アル 271 第5章 コマン ド リ フ ァ レンス ン ド を使用 し て リ レーシ ョ ン ウ ィ ン ド ウ の内容を手動で計算で き ま す。 Relation Graph Properties プ ロ ジ ェ ク ト ウ ィ ン ド ウ のグ ラ フ プ ロ パテ ィ を表示 し ます。 グ ラ フ プ ロ パテ ィ は、 リ レーシ ョ ン ウ ィ ン ド ウ が ( ア ウ ト ラ イ ン モー ド では な く ) グ ラ フ モー ド の場合に適用 さ れ ます。 [Back Color…] グ ラ フ ウ ィ ン ド ウ の背景色を選択 し ます。 [Graph Layout] グ ラ フ の レ イ ア ウ ト モー ド を選択 し ます。 上か ら 下、 ま たは左か ら 右のいずれか を選択で き ます。 [Spacing] ノ ー ド 間グ ラ フ の間隔の割合をパーセ ン ト で入力 し ます。 値が大 き く な る と 、 ノ ー ド の間隔は広 く な り ます。 [Nodes] オプシ ョ ン グ ラ フ の ノ ー ド 要素の概観を制御 し ます。 [Type] ノ ー ド の影を選択 し ます。 [Font…] 各 ノ ー ド の内部で使用す る フ ォ ン ト を選択 し ます。 [Border Color…]、 [Text Color…]、 [Node Color…] ノ ー ド の罫線、 テ キ ス ト お よ び ノ ー ド に使用す る 色を選択 し ます。 [Drop Shadow] 各 ノ ー ド に ド ロ ッ プ シ ャ ド ウ を挿入 し ます。 272 Source Insight ユーザー マニ ュ アル 第5章 Relation Window [Connection Lines] オプシ ョ ン ノ ー ド を接続す る 線を制御 し ます。 [Type] ノ ー ド を接続す る 線の ス タ イ ルを選択 し ます。 • [Direct] ノ ー ド 間を直線で接続 し ます。 • [Orthogona]l ノ ー ド 間を直交線で接続 し ます。 • [Splined] ノ ー ド 間を曲線で接続 し ます。 [Line Color…] 接続線に使用す る 色を選択 し ます。 [Thick Line] 接続線を太 く し ます。 [Arrows] 接続線を矢印付 き に し ます。 [Spacing] の値が小 さ い場合、 内 部 ノ ー ド 空間が不足す る ため矢印は省略 さ れます。 [Unique backward line color] 逆の向 き の線を別の色に し ます。 色を選 択す る には、 [Backward Line Color] ボ タ ン を使用 し ます。 [Backward Line Color…] 逆の向 き の線に使用す る 色を選択 し ます。 Relation Window リ レーシ ョ ン ウ ィ ン ド ウ の表示を切 り 替え ます。 すべての リ レーシ ョ ン ウ ィ ン ド ウ の表示が切 り 替わ り ます。 Relation Window Properties [Relation Window Properties] コ マ ン ド は、 リ レーシ ョ ン ウ ィ ン ド ウ ツールバーま たは、 シ ョ ー ト カ ッ ト メ ニ ュ ーか ら ア ク セ ス で き ます。 こ のダ イ ア ロ グ ボ ッ ク ス か ら 、 表示す る リ レーシ ョ ン シ ッ プ、 お よ び ウ ィ ン ド ウ の表示方法を制御で き ます。 Source Insight ユーザー マニ ュ アル 273 第5章 コマン ド リ フ ァ レンス [Relation Window Properties] ダ イ ア ログ ボ ッ ク ス [Font…]、 [Text Color…]、 [Back Color…] それぞれ、 リ レーシ ョ ン ウ ィ ン ド ウ の フ ォ ン ト 、 テ キ ス ト の色、 背景色を選択 し ます。 ア ウ ト ラ イ ン ビ ュ ーにのみ適用 さ れます。 [Graph…] [Relation Graph Properties] ダ イ ア ロ グ ボ ッ ク ス を開 き ます。 こ のダ イ ア ロ グ ボ ッ ク ス か ら 、 リ レーシ ョ ン ウ ィ ン ド ウ のグ ラ フ ビ ュ ーのオプシ ョ ン を調整で き ます。 [Automatic リ レーシ ョ ン ウ ィ ン ド ウ の追跡オプシ ョ ン を制御す る には、 [Tracking Symbol Tracking] Options] ボ タ ン を ク リ ッ ク し ます。 カー ソ ル位置のシ ン ボル、 ま たは 選択範囲の囲まれた関数やデー タ 構造を追跡で き ます。 [Automatic Expansion Options] リ レーシ ョ ン ウ ィ ン ド ウ が自動的に展開す る レベルを指定 し ます。 リ レーシ ョ ン ウ ィ ン ド ウ で ノ ー ド を右 ク リ ッ ク し て [Expand Special] を 選択 し 、 個別の設定 よ り も 優先 さ せ る こ と がで き ます。 [Levels] ルー ト ノ ー ド 以下で展開す る レベルの数です。 274 Source Insight ユーザー マニ ュ アル 第5章 [Relation Window Properties] ダ イ ア ログ ボ ッ ク ス [Expand duplicate branches] 既に展開 さ れてい る 場合で も 、 重複す る 子の分岐を展開 し ます。 オ フ の場合、 重複す る 子は折 り 畳まれた状態 で挿入 さ れます。 [View Relationship] グ ループ リ レーシ ョ ン ウ ィ ン ド ウ が異な る タ イ プのシ ン ボルを追跡す る と き に 使用す る リ レーシ ョ ン シ ッ プ展開ルールを指定 し ます。 [View Relationship] 表示 さ れ る リ レーシ ョ ン シ ッ プはシ ン ボルの タ イ プに よ っ て決ま り ます。 異な る シ ン ボル タ イ プに表示す る リ レーシ ョ ン シ ッ プ を指定で き ます。 た と えば、 「Calls」 では関数の リ レーシ ョ ン シ ッ プ、 「Inheritance」 では ク ラ ス の リ レーシ ョ ン シ ッ プ を表示す る よ う に指定で き ます。 つま り 、 関数を選択す る と 、 リ レーシ ョ ン ウ ィ ン ド ウ は コ ール ツ リ ーを表示 し 、 ク ラ ス名を選択す る と 、 リ レーシ ョ ン ウ ィ ン ド ウ は ク ラ ス継承階層を表示 し ます。 276 ページの 「 リ レー シ ョ ン シ ッ プのルール」 も 参照 し て く だ さ い。 [Group multiple references into one item] オ ンの場合、 リ レーシ ョ ン ウ ィ ン ド ウ で リ レーシ ョ ン シ ッ プの 「参照」 タ イ プ を表示す る と き に、 同 じ オブジ ェ ク ト 内部か ら の重複す る 参照を抑制 し ます。 た と えば、 関数 B が関数 A の内部か ら 3 回呼び出 さ れてい る 場合、 関数 A か ら の 最初の参照のみ リ ス ト さ れ ます。 オ フ の場合、 3 つの参照がすべて、 3 つの ノ ー ド と し て リ ス ト さ れ ます。 オ フ の場合、 よ り 多 く の参照情報が提供 さ れます。 グ ラ フ ビ ュ ーで は、 複数の参照が単一グ ラ フ ノ ー ド の内部に表示 さ れ、 オブジ ェ ク ト 間で参照が ど の よ う に集中 し てい る か簡単に確認で き ます。 [Call Graph Filtering…] [Call Graph Filter] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 こ のダ イ ア ロ グ ボ ッ ク ス で、 コ ール ツ リ ー計算に関係す る シ ン ボルを制御で き ます。 277 ページの 「[Call Graph Filter]」 も 参照 し て く だ さ い。 [Symbol Types…] [Symbol Type Filter] ダ イ ア ロ グ ボ ッ ク ス を表示 し ま す。 リ レーシ ョ ン ウ ィ ン ド ウ か ら 特定の タ イ プのシ ン ボルを フ ィ ル タ し て出力 し ます。 278 ページの 「[Symbol Type Filter]」 も 参照 し て く だ さ い。 [Columns] グルー プ ア ウ ト ラ イ ン リ ス ト ビ ュ ーに表示す る カ ラ ム を指定 し ます。 リ レー シ ョ ン ウ ィ ン ド ウ は、 任意のカ ラ ム ヘ ッ ダーを ク リ ッ ク し て ソ ー ト で き ます。 [Show file names] フ ァ イ ル名カ ラ ム を表示 し ます。 [Show line numbers] 行番号カ ラ ム を表示 し ます。 ほ と ん ど の場合、 シ ン ボルは行番号で参照 さ れます。 [Show code metrics] 選択 し た コ ー ド メ ト リ ッ ク カ ラ ム を表示 し ます。 1 つの コ ー ド メ ト リ ッ ク カ ラ ムのみ表示で き ます。 Source Insight ユーザー マニ ュ アル 275 コマン ド リ フ ァ レンス 第5章 リ レーシ ョ ン シ ッ プのルール リ レーシ ョ ン ウ ィ ン ド ウ に表示 さ れ る リ レーシ ョ ン シ ッ プはシ ン ボル の タ イ プに よ っ て決ま り ます。 異な る シ ン ボル タ イ プに表示す る リ レーシ ョ ン シ ッ プ を指定で き ます。 た と えば、 「Calls」 では関数の リ レーシ ョ ン シ ッ プ、 「Inheritance」 では ク ラ ス の リ レーシ ョ ン シ ッ プ を 表示す る よ う に指定で き ます。 つま り 、 関数を選択す る と 、 リ レー シ ョ ン ウ ィ ン ド ウ は コ ール ツ リ ーを表示 し 、 ク ラ ス名を選択す る と 、 リ レーシ ョ ン ウ ィ ン ド ウ は ク ラ ス継承階層を表示 し ます。 リ レーシ ョ ン ウ ィ ン ド ウ がシ ン ボルを拡張 し て新規レベルを表示す る 場合、 拡張で表 さ れ る リ レーシ ョ ン シ ッ プは拡張す る シ ン ボルの タ イ プに基づ き ます。 こ れは、 各 リ レーシ ョ ン ウ ィ ン ド ウ が複数の リ レー シ ョ ン シ ッ プ を潜在的に表示で き る こ と を意味 し ます。 た と えば、 ク ラ ス は、 構成 さ れ る メ ンバ関数を表示 し ます。 各 メ ンバ関数は、 その 参照を表示 し ます。 「Type of」 リ レ ーシ ョ ン シ ッ プ 「Type of」 と い う 名前の変数 リ レーシ ョ ン シ ッ プがあ り ます。 「Type of」 リ レーシ ョ ン シ ッ プは、 変数の タ イ プ を生成 し ます。 次に、 タ イ プの リ レーシ ョ ン シ ッ プ ルールが適用 さ れ ます。 こ れは、 間接 リ レー シ ョ ン シ ッ プの種類です。 た と えば、 変数 リ レーシ ョ ン シ ッ プ を 「Type of」、 タ イ プ リ レーシ ョ ン シ ッ プ を 「References」 に設定 し ます。 特定の構造体ま たは ク ラ ス タ イ プの変数を選択す る と 、 リ レーシ ョ ン ウ ィ ン ド ウ は変数の タ イ プ をデ コ ー ド し 、 「References」 リ レーシ ョ ン シ ッ プ ルールを適用 し て、 変数の タ イ プへの参照を表示 し ます。 276 Source Insight ユーザー マニ ュ アル 第5章 [Relation Window Properties] ダ イ ア ログ ボ ッ ク ス [Call Graph Filter] [Call Graph Filter] ダ イ ア ロ グ ボ ッ ク ス で、 コ ール ツ リ ー計算に関係す る シ ン ボルを制御で き ます。 [Exclusions] コ ール ツ リ ーの フ ィ ル タ さ れ る シ ン ボルを制御 し ます。 [Exclude Symbols…] [Exclude Call Graph Symbols] リ ス ト を表示 し ます。 固有のシ ン ボルを こ の リ ス ト に追加で き ます。 シ ン ボルが除外 リ ス ト に含まれ る 場合、 Source Insight は コ ール グ ラ フ表示でシ ン ボルを展開 し ません。 [Exclude C Macros] オ ン の場合、 コ ール グ ラ フ で C 関数形式のマ ク ロ が省略 さ れ ます。 オ フ の場合、 コ ール グ ラ フ で関数形式のマ ク ロ が実 関数の よ う に展開 さ れ ます。 [Code Metric Filter] シ ン ボルを フ ィ ル タ す る コ ー ド メ ト リ ッ ク 基準を 指定 し ます。 有効な場合、 シ ン ボルは、 シ ン ボルの コ ー ド メ ト リ ッ ク 値が許容可能な範囲内にあ る 場合にのみ コ ール グ ラ フ に含まれ ます。 [Code Metric Filter] ド ロ ッ プダ ウ ン リ ス ト か ら 、 基準 と し て使用す る コ ー ド メ ト リ ッ ク を選択 し ます。 こ のオプシ ョ ン を使用 し ない場合 は、 「None」 を選択 し ます。 [Minimum value] こ の コ ー ド メ ト リ ッ ク 値以上のシ ン ボルが含まれ ま す。 [Maximum value] こ の コ ー ド メ ト リ ッ ク 値以下のシ ン ボルが含ま れ ま す。 値が -1 に設定 さ れた場合、 最大値はあ り ません。 Source Insight ユーザー マニ ュ アル 277 コマン ド リ フ ァ レンス 第5章 [Symbol Type Filter] [Symbol Type Filter] ダ イ ア ロ グ ボ ッ ク ス は、 操作ま たは リ ス テ ィ ン グ を フ ィ ル タ す る ために使用 さ れ る シ ン ボル タ イ プ を指定す る と き に表 示 さ れ ます。 [Symbol Tracking Options] リ レーシ ョ ン ウ ィ ン ド ウ で追跡す る 表示オプシ ョ ン を設定 し ます。 278 Source Insight ユーザー マニ ュ アル 第5章 Reload File [Automatic ソ ース フ ァ イ ルでカー ソ ルを移動す る と 、 リ レーシ ョ ン ウ ィ ン ド ウ Symbol Tracking] で、 カー ソ ルの下、 ま たはカー ソ ルの周 り にあ る シ ン ボルが自動的に 追跡 さ れ ます。 リ レーシ ョ ン ウ ィ ン ド ウ で追跡す る 項目を指定 し ま す。 [Off] 自動シ ン ボル追跡を無効に し ます。 [Track selected symbol] (i.e. under cursor) 入力カー ソ ルの下にあ る シ ン ボルの定義を調べます。 [Track the enclosing function or class] 入力カー ソ ルを含む関数ま たは ク ラ ス の定義を表示 し ます。 関数を編集す る と き に リ レーシ ョ ン ウ ィ ン ド ウ で関数の定義 と パ ラ メ ー タ を確認す る のに便利です。 [Activate Tracking] グルー プ 自動追跡が行われ る 条件を指定 し ます。 [Inside of comments] カー ソ ルが コ メ ン ト の内部にあ る と き にシ ン ボル を調べます。 [Inside of string constants] カー ソ ルが引用文字列定数の内部にあ る と き にシ ン ボルを調べます。 [Inside all file types] カー ソ ルが ( ソ ース コ ー ド フ ァ イ ルだけでな く ) 任意の フ ァ イ ルの内部にあ る と き にシ ン ボルを調べます。 Reload File カ レ ン ト フ ァ イ ルをデ ィ ス ク か ら リ ロ ー ド し ます。 保存後に行っ た変 更はすべて失われます。 保存 し ないで フ ァ イ ルを閉 じ 、 再度フ ァ イ ル を開 く の と 同 じ です。 変更履歴 と 操作履歴 も 失われ ます。 Reload Modified Files 開いてい る 各フ ァ イ ルの タ イ ム ス タ ン プ を確認 し て、 エデ ィ タ の外部 で変更 さ れた フ ァ イ ルを リ ロ ー ド し ます。 こ の処理は、 [Preferences: Files] ダ イ ア ロ グ ボ ッ ク ス で [Sharing...] オプシ ョ ン を オ ンに し て開か れた フ ァ イ ルにのみ適用 さ れ ます。 [Preferences: Files] ダ イ ア ロ グ ボ ッ ク ス でオプシ ョ ン を選択 し て、 こ の処理をバ ッ ク グ ラ ウ ン ド で自動的に実行で き ます。 Source Insight ユーザー マニ ュ アル 279 コマン ド リ フ ァ レンス 第5章 Remove File 1 つ以上の ソ ース フ ァ イ ルを カ レ ン ト プ ロ ジ ェ ク ト か ら 削除 し ます。 実際の フ ァ イ ルはデ ィ ス ク か ら 削除 さ れない点に注意 し て く だ さ い。 フ ァ イ ルはプ ロ ジ ェ ク ト か ら 削除 さ れ る だけです。 [File Name] プ ロ ジ ェ ク ト か ら 削除す る フ ァ イ ルの名前です。 ワ イ ル ド カー ド を追加 し て Enter を押す と 、 フ ァ イ ル リ ス ト が ワ イ ル ド カー ド 拡張 さ れ ます。 フ ァ イル リ ス ト 現在の作業デ ィ レ ク ト リ にあ る すべてのプ ロ ジ ェ ク ト フ ァ イ ルの リ ス ト を表示 し ます。 こ の リ ス ト ボ ッ ク ス か ら フ ァ イ ルを 選択す る と 、 その フ ァ イ ル名が [File Name] テ キ ス ト ボ ッ ク ス に ロ ー ド さ れ ます。 [Remove] 選択 し てい る フ ァ イ ルを プ ロ ジ ェ ク ト か ら 削除 し ます。 [File Name] テ キ ス ト ボ ッ ク ス に ワ イ ル ド カー ド 文字が含まれてい る 場合、 該当す る フ ァ イ ルが [File] リ ス ト ボ ッ ク ス に表示 さ れます。 ダ イ ア ロ グ ボ ッ ク ス は開いた ま ま です。 280 Source Insight ユーザー マニ ュ アル 第5章 Remove Project [Select All] [File] リ ス ト ボ ッ ク ス に含ま れてい る すべての フ ァ イ ルを 選択 し ます。 [Remove Dir] 選択 し てい る デ ィ レ ク ト リ の内容を プ ロ ジ ェ ク ト か ら 削 除 し ます。 . [Show Dirs/Show Files] リ ス ト ボ ッ ク ス に表示す る 内容 ( フ ァ イ ル名ま たはサブデ ィ レ ク ト リ 名 ) を切 り 替え ます。 [Browse] Windows の [ フ ァ イ ルを開 く ] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 [Add] [Add File] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 Remove Project 既存のプ ロ ジ ェ ク ト を削除 し ます。 プ ロ ジ ェ ク ト が削除 さ れ る と 、 Source Insight で作成 さ れたすべてのプ ロ ジ ェ ク ト デー タ が削除 さ れま す。 ソ ース フ ァ イ ルは削除 さ れません。 [Project Name] 選択す る プ ロ ジ ェ ク ト の名前、 ま たは名前の一部を入 力 し ます。 プ ロ ジ ェ ク ト リ ス ト マシ ン で開かれた ま たは作成 さ れたすべてのプ ロ ジ ェ ク ト が リ ス ト さ れます。 こ こ で削除す る プ ロ ジ ェ ク ト を選択 し ま す。 Source Insight ユーザー マニ ュ アル 281 コマン ド リ フ ァ レンス 第5章 大規模なプ ロ ジ ェ ク ト を作成 し て ソ ース フ ァ イ ルを追加す る プ ロ セ ス は時間がかか る ため、 Source Insight はプ ロ ジ ェ ク ト を削除す る か ど う か確認 し ます。 [Remove Project] コ マ ン ド を キ ャ ン セルす る には、 [ いいえ ] を ク リ ッ ク し ます。 プ ロ ジ ェ ク ト は削除 さ れ ません。 削除す る よ う に選択 し た プ ロ ジ ェ ク ト が以前開かれていた場合、 こ こ で閉 じ ら れ ます。 プ ロ ジ ェ ク ト を削除す る には、 [ はい ] を ク リ ッ ク し ます。 Remote Options [Remote Options] ダ イ ア ロ グ ボ ッ ク ス では、 Source Insight を タ ー ミ ナ ル サーバーま たは リ モー ト デス ク ト ッ プ セ ッ シ ョ ン で実行す る と き のオプシ ョ ン を設定で き ます。 タ ー ミ ナル サーバー セ ッ シ ョ ン で、 Source Insight は リ モー ト マシ ン上で実行 さ れ ますが、 デス ク ト ッ プは ロ ーカル マシ ン上に表示 さ れ ます。 こ のダ イ ア ロ グ ボ ッ ク ス で行っ た設定は、 タ ー ミ ナル サーバーま たは リ モー ト デス ク ト ッ プ セ ッ シ ョ ン で実行 し た場合にのみ適用 さ れ ま す。 282 Source Insight ユーザー マニ ュ アル 第5章 Rename [Remote Session Options] こ れ ら のチ ェ ッ ク ボ ッ ク ス は、 リ モー ト 接 続が高速でない場合に、 表示が遅 く な る 動作を無効に し ます。 [Font Scaling] プ ロ グ ラ ム全体のテ キ ス ト の表示比率を設定 し ます。 ソ ース コ ー ド と リ ス ト を含むほ と ん ど のテ キ ス ト は、 こ の比率で表示 さ れ ます。 Rename カ レ ン ト フ ァ イ ルの名前を変更 し ます。 デ ィ ス ク 上に フ ァ イ ルを保存 す る 必要はあ り ません。 フ ァ イ ルがカ レ ン ト プ ロ ジ ェ ク ト の一部であ る 場合、 プ ロ ジ ェ ク ト は新 し い名前を反映す る よ う に修正 さ れ ます。 こ の コ マ ン ド を使用 し て フ ァ イ ルを新 し いデ ィ レ ク ト リ に移動す る こ と も で き ますが、 フ ァ イ ルを異な る ド ラ イ ブに移動す る こ と はで き ま せん。 [Rename] コ マ ン ド を実行 し て も フ ァ イ ルは保存 さ れ ません。 Renumber カ レ ン ト フ ァ イ ル ま たは現在の選択範囲で見つか っ た数を振 り 直 し ま す。 [Renumber] コ マ ン ド を使用 し た と き に選択範囲が拡張 さ れていた 場合、 選択範囲のみ処理 さ れ ます。 現在の選択範囲が挿入ポ イ ン ト の 場合、 フ ァ イ ル全体が処理 さ れ ます。 ま た、 カ ラ ム を選択 し てい る 場 合に も 処理 さ れ ます。 [Radix] [Renumber] コ マ ン ド で生成す る 番号の基数を指定 し ます。 [Auto] Source Insight に よ っ て決定 さ れた基数を使用 し ます。 [Decimal] 基数 10 を使用 し ます。 [Hex] 基数 16 を使用 し ます。 [Octal] 基数 8 を使用 し ます。 [Numbers] フ ァ イ ルで見つか っ た数に対 し て実行す る ア ク シ ョ ン を指 定 し ます。 基数 10、 8、 ま たは 16 で、 [Start at] お よ び [Offset] テ キ ス ト ボ ッ ク ス に値を設定で き ます。 Source Insight ユーザー マニ ュ アル 283 第5章 コマン ド リ フ ァ レンス [Auto] 最初に見つか っ た数の値か ら 、 昇順に数を振 り 直 し ます。 [Start at] こ の値か ら 、 昇順に数を振 り 直 し ます。 [Offset] こ の値を加え て数を振 り 直 し ます。 基数の決定 Source Insight は、 以下の よ う に番号の基数を決定 し ます。 • 数が 0x で開始す る 場合、 16 進数であ る と 仮定 し ます。 • 数が 0 と 数字で開始す る 場合、 8 進数であ る と 仮定 し ます。 • その他の場合、 数は 10 進数であ る と 仮定 し ます。 Repeat Typing 入力 し た最後の文字を繰 り 返 し ます。 た と えば、 何か を選択 し て abc と 入力 し た後 [Repeat Typing] コ マ ン ド を実行す る と 、 別の abc が自動 的に挿入 さ れ ます。 Replace 指定 さ れたパ タ ーン で検索 し 、 新規パ タ ーン に置換 し ます。 置換で き る のはカ レ ン ト フ ァ イ ルのみです。 置換の範囲は、 フ ァ イ ル全体ま た は現在の選択範囲のみです。 [Old] 置換す る 古いパ タ ーン を入力 し ます。 正規表現を使用で き ます。 [New] 古いパ タ ーン と 置換す る 新規パ タ ーン を入力 し ます。 [Replace] 置換を開始 し ます。 [Files...] 複数の フ ァ イ ルで置換を実行で き る 、 [Replace Files] コ マ ン ド に変更 し ます。 284 Source Insight ユーザー マニ ュ アル 第5章 [Options] グルー プ Replace [Case Sensitive] オ ン の場合、 Source Insight は大文字 と 小文字を区別 し て検索 し ます。 [Use Regular Expressions] オ ンの場合、 [Old] お よ び [New] パ タ ーンは 正規表現であ る と 見な さ れ ます。 [Wrap Around] オ ン の場合、 フ ァ イ ルの最後に達 し た と き に フ ァ イ ル の先頭か ら 検索を続行 し ます。 こ の動作は一度だけ行われ ます。 オ フ の場合、 検索はフ ァ イ ルの最後に達 し た と き に停止 し ます。 [One Occurrence/Line] オ ン の場合、 各行の最初の古いパ タ ーン のみ置 換 さ れ ます。 オ フ の場合、 各行のすべての古いパ タ ーン が置換 さ れま す。 [Whole Words Only] オ ン の場合、 Source Insight は完全に一致す る 単語 のみを検索 し ます。 オ フ の場合、 Source Insight は入力 さ れたテ キ ス ト が単語の一部にな っ てい る 場合 も 一致 と 見な し ます。 [Preserve Old Case] オ ンの場合、 Source Insight は置換後のテ キ ス ト の 大文字 と 小文字を オ リ ジナル テ キ ス ト に合わせます。 オ フ の場合、 [New] テ キ ス ト ボ ッ ク ス に入力 さ れた と お り に ( 大文字 と 小文字を変 更 し ないで ) テ キ ス ト を置換 し ます。 こ のオプシ ョ ンは、 [Case Sensitive] がオ フ の場合に便利です。 大文字 と 小文字を区別 し ないで検索 し 、 置換後のテ キ ス ト の大文字 と 小文字を オ リ ジナル テ キ ス ト に合わせ る こ と がで き ます。 た と えば、 「abc」 と 「ABC」 を それぞれ、 「xyz」 と 「XYZ」 に置換す る には、 以 下の よ う に し ます。 [Old] テ キ ス ト ボ ッ ク ス に 「abc」、 [New] テ キ ス ト ボ ッ ク ス に 「xyz」 と 入力 し ます。 [Case Sensitive] を オ フ に し て、 [Preserve Old Case] を オ ンに し ます。 [Confirm Replacements] オ ン の場合、 Source Insight は置換前に確認 し ます。 [Search] グループ 検索範囲を指定 し ます。 [Selection] 現在選択 さ れてい る テ キ ス ト のみを検索 し ます。 こ の チ ェ ッ ク ボ ッ ク ス は、 [Replace] コ マ ン ド が起動 さ れた と き に現在の選 択範囲が拡張 さ れてい る 場合は自動的にオ ン にな り ます。 [Whole File] 最初の行か ら 最後の行ま で、 フ ァ イ ル全体を検索 し ます。 こ のチ ェ ッ ク ボ ッ ク ス は、 [Replace] コ マ ン ド が起動 さ れた と き に現在 の選択範囲が挿入ポ イ ン ト だ っ た場合は自動的にオ ンにな り ます。 こ のグループで何 も チ ェ ッ ク さ れていない場合、 現在の選択範囲か ら フ ァ イ ルの最後ま で検索 し ます。 Source Insight ユーザー マニ ュ アル 285 第5章 コマン ド リ フ ァ レンス Replace Files 複数の フ ァ イ ルで指定 さ れたパ タ ーン を検索 し 、 新規パ タ ーン に置換 し ます。 [Replace] 置換を開始 し ます。 [Select All] フ ァ イ ル リ ス ト に リ ス ト さ れてい る すべての フ ァ イ ルを選 択 し ます。 [Show Dirs/Show Files] リ ス ト ボ ッ ク ス に表示す る 内容 ( フ ァ イ ル名ま たはサブデ ィ レ ク ト リ 名 ) を切 り 替え ます。 [Old] 置換す る 古いパ タ ーン を入力 し ます。 正規表現を使用で き ます。 New 古いパ タ ーン と 置換す る 新規パ タ ーン を入力 し ます。 [File Name] 検索す る フ ァ イ ルの名前です。 ワ イ ル ド カー ド を追加 し て [Replace] ボ タ ン を ク リ ッ ク す る と ( ま たは Enter を押す と )、 Source Insight は ワ イ ル ド カー ド 拡張の結果を フ ァ イ ル リ ス ト に表示 し ます。 [Project Wide] オプシ ョ ン がオ ン の場合、 カ レ ン ト プ ロ ジ ェ ク ト に含ま れ る フ ァ イ ルの リ ス ト 全体で拡張 さ れ ます。 オ フ の場合、 カ レ ン ト デ ィ レ ク ト リ で拡張 さ れ ます。 286 Source Insight ユーザー マニ ュ アル 第5章 Replace Files [Project Wide] オプシ ョ ン がオ ン の場合、 Source Insight は [File Name] テ キ ス ト ボ ッ ク ス の フ ァ イ ル名のプ ロ ジ ェ ク ト シ ン ボルを検索 し ます。 こ れ ら の フ ァ イ ルのデ ィ レ ク ト リ を指定す る 必要はあ り ません。 フ ァ イル リ ス ト [Project Wide] オプシ ョ ン がオ ン の場合、 カ レ ン ト プ ロ ジ ェ ク ト に含まれ る すべての フ ァ イ ルが表示 さ れます。 [Project Wide] オプシ ョ ン がオ フ の場合、 現在の作業デ ィ レ ク ト リ に含 まれ る すべての フ ァ イ ルが表示 さ れます。 現在の作業デ ィ レ ク ト リ の パ ス が フ ァ イ ル リ ス ト の上に表示 さ れます。 Source Insight は、 カ レ ン ト デ ィ レ ク ト リ にあ る 既知の ド キ ュ メ ン ト タ イ プの フ ァ イ ルのみを表 示 し ます。 ド キ ュ メ ン ト タ イ プは、 [Document Options] コ マ ン ド を使 用 し て指定 し ます。 [Options] グルー プ [Project Wide] オ ン の場合、 フ ァ イ ル リ ス ト にプ ロ ジ ェ ク ト のすべて の フ ァ イ ルが表示 さ れ ます。 オ フ の場合、 現在の作業デ ィ レ ク ト リ の フ ァ イ ルのみが表示 さ れます。 [Include Subdirectories] オ ン の場合、 選択 さ れてい る デ ィ レ ク ト リ は 再帰的に検索 さ れ ます。 こ のオプシ ョ ン と [Project Wide] オプシ ョ ンは 同時にオ ン にで き ません。 デ ィ レ ク ト リ のセ ッ ト を再帰的に検索するには : 1. [Project Wide] チ ェ ッ ク ボ ッ ク ス を オ フ に し ます。 2. [Include Subdirectories] チ ェ ッ ク ボ ッ ク ス を オ ン に し ます。 3. フ ァ イ ル リ ス ト で 1 つ以上のデ ィ レ ク ト リ を選択 µ ます。 [File Name] テ キ ス ト ボ ッ ク ス に ワ イ ル ド カー ド を入力 し て、 検索を特 定の フ ァ イ ル拡張子ま たは名前に制限で き ます。 [Case Sensitive] オ ン の場合、 Source Insight は大文字 と 小文字を区別 し て検索 し ます。 [Use Regular Expressions] オ ンの場合、 [Old] お よ び [New] パ タ ーンは 正規表現であ る と 見な さ れ ます。 [One Occurrence/Line] オ ン の場合、 各行の最初の古いパ タ ーン のみ置 換 さ れ ます。 オ フ の場合、 各行のすべての古いパ タ ーン が置換 さ れま す。 [Whole Words Only] オ ン の場合、 Source Insight は完全に一致す る 単語 のみを検索 し ます。 オ フ の場合、 Source Insight は入力 さ れたテ キ ス ト が単語の一部にな っ てい る 場合 も 一致 と 見な し ます。 [Skip Inactive Code] オ ン の場合、 条件付 き コ ンパ イ ルでア ク テ ィ ブな コ ー ド のみを検索 し ます。 Source Insight がア ク テ ィ ブな条件を判断で き る よ う に、 最初に [Preferences: Languages] ダ イ ア ロ グ ボ ッ ク ス で条 Source Insight ユーザー マニ ュ アル 287 第5章 コマン ド リ フ ァ レンス 件を指定す る 必要があ り ます。 条件付 き コ ンパ イ ルは、 一部の言語で のみ利用で き ます。 [Skip Comments] オ ンの場合、 コ メ ン ト を検索 し ません。 [Search Only Comments] オ ンの場合、 コ メ ン ト のみを検索 し ます。 [Skip Comments] オプシ ョ ン と 同時に指定で き ません。 こ れ ら の コ メ ン ト オプシ ョ ン を オ ン に し た場合、 検索は多少遅 く な り ます。 [Preserve Old Case] オ ンの場合、 Source Insight は置換後のテ キ ス ト の 大文字 と 小文字を オ リ ジナル テ キ ス ト に合わせます。 オ フ の場合、 [New] テ キ ス ト ボ ッ ク ス に入力 さ れた と お り に ( 大文字 と 小文字を変 更 し ないで ) テ キ ス ト を置換 し ます。 こ のオプシ ョ ンは、 [Case Sensitive] がオ フ の場合に便利です。 大文字 と 小文字を区別 し ないで検索 し 、 置換後のテ キ ス ト の大文字 と 小文字を オ リ ジナル テ キ ス ト に合わせ る こ と がで き ます。 た と えば、 「abc」 と 「ABC」 を それぞれ、 「xyz」 と 「XYZ」 に置換す る には、 以 下の よ う に し ます。 [Old] テ キ ス ト ボ ッ ク ス に 「abc」、 [New] テ キ ス ト ボ ッ ク ス に 「xyz」 と 入力 し ます。 [Case Sensitive] を オ フ に し て、 [Preserve Old Case] を オ ンに し ます。 [Confirm Each Replacement] オ ンの場合、 Source Insight は置換前に確 認 し ます。 [Confirm Each File] オ ンの場合、 Source Insight はフ ァ イ ルを変更す る 前に確認 し ます。 [Include Read-Only Files (keep buffers open)] オ ンの場合、 読み取 り 専 用フ ァ イ ルに対 し て も 置換が行われます。 Source Insight は、 置換中に フ ァ イ ルを保存 し ません。 ユーザーが フ ァ イ ルを保存す る こ と はで き ます。 オ フ の場合、 読み取 り 専用フ ァ イ ルは ス キ ッ プ さ れます。 こ の オプシ ョ ンは、 [Preferences: Files] の [Allow editing read-only file buffers] オプシ ョ ン と は独立 し て動作す る 点に注意 し て く だ さ い。 [Preferences: Files] の [Save over read-only files without prompting] オプ シ ョ ンがオ ンの場合、 Source Insight は置換中に読み取 り 専用フ ァ イ ル を自動的に保存 し ます。 Restore File カ レ ン ト フ ァ イ ルの内容を、 最初に開かれた状態に戻 し ます。 フ ァ イ ルを保存 し た場合で も 、 フ ァ イ ルを最初に開いた後に行っ たす べての変更が元に戻 さ れます。 デ ィ ス ク に保存 さ れてい る フ ァ イ ルの 内容は変更 さ れ ません。 フ ァ イ ル バ ッ フ ァ の内容のみが元に戻 さ れ ま す。 フ ァ イ ルに対 し て行っ たすべての保存が元に戻 さ れ る ため、 こ の コ マ ン ド は注意 し て使用 し て く だ さ い。 288 Source Insight ユーザー マニ ュ アル 第5章 Restore Lines [Undo] コ マ ン ド を使用 し て [Restore File] 操作を元に戻す こ と がで き ま す。 Restore Lines 編集行のブ ロ ッ ク を オ リ ジナルの状態に戻 し ます。 行はフ ァ イ ルを最 初に開いた状態に戻 さ れます。 余白の改訂マー ク は、 元 に戻す行を示 し ます。 フ ァ イ ルを保存 し た場合で も 、 フ ァ イ ルを最初に開いた後に行っ たす べての変更が元に戻 さ れます。 デ ィ ス ク に保存 さ れてい る フ ァ イ ルの 内容は変更 さ れ ません。 フ ァ イ ル バ ッ フ ァ の内容のみが元に戻 さ れ ま す。 [Restore Line] コ マ ン ド は元に戻す こ と がで き ます。 こ の コ マ ン ド は、 パ ワ フルな ア ウ ト オブオーダーの ( Undo ( 元に戻す ) 機能を提供 し ま す。 変更 し た行の左余白を右 ク リ ッ ク す る こ と で、 [Restore Lines] コ マ ン ド に素早 く ア ク セ ス で き ます。 行改訂マー ク を オ ン に し て、 変更 さ れた 行を確認で き ます。 ([Preferences: Display] コ マ ン ド を参照 ) Save カ レ ン ト フ ァ イ ルをデ ィ ス ク に保存 し ます。 フ ァ イ ルはカ レ ン ト 名で 保存 さ れ ます。 保存の前に、 カ レ ン ト フ ァ イ ルに行っ たすべての変更 は、 編集 し ていた未保存のバージ ョ ン にのみ表示 さ れ ます。 デ ィ ス ク 上の フ ァ イ ルは、 [Save]、 [Save As]、 ま たは [Save All] コ マ ン ド を使用 し て フ ァ イ ルを保存す る ま で変更 さ れ ません。 フ ァ イ ルは、 変更 し た フ ァ イ ルを閉 じ る と き に 「Save changes to file?」 メ ッ セージで 「はい」 を選択 し た場合に も 保存 さ れ ます。 フ ァ イ ルが新規で保存 さ れていない場合、 ま たはフ ァ イ ルが読み取 り 専用の場合、 [Save] コ マ ン ド を実行す る と 代わ り に [Save As] コ マ ン ド Source Insight ユーザー マニ ュ アル 289 第5章 コマン ド リ フ ァ レンス が実行 さ れ ます。 [Save As] コ マ ン ド では、 保存す る フ ァ イ ルの名前を 指定で き ます。 Save A Copy カ レ ン ト フ ァ イ ルを新 し い フ ァ イ ルに保存 し ます。 カ レ ン ト フ ァ イ ル は上書 き ま たは変更 さ れ ません。 新 し く 保存 さ れた フ ァ イ ルは、 別の フ ァ イ ル バ ッ フ ァ と 同 じ よ う に開かれた ま ま です。 フ ァ イ ルを重複す る 便利な方法です。 Save All 開かれていて、 最後に保存 さ れた後に変更 さ れたすべての フ ァ イ ルを 保存 し ます。 [Save Modified Files] ダ イ ア ログ ボ ッ ク ス 保存が必要なすべての フ ァ イ ルが、 [Save Modified Files] ダ イ ア ロ グ ボ ッ ク ス に表示 さ れます。 保存す る フ ァ イ ルを選択 し て、 [OK] を ク リ ッ ク し ます。 こ のダ イ ア ロ グ ボ ッ ク ス は、 保存が必要な フ ァ イ ルが あ る と き に [Close All] コ マ ン ド を使用 し た と き 、 ま たは Source Insight を終了 し た と き に も 表示 さ れます。 290 Source Insight ユーザー マニ ュ アル 第5章 Save All Quietly 確認 し ないで保存 [Save Modified Files] ダ イ ア ロ グ ボ ッ ク ス を表示 し ないで、 すべての フ ァ イ ルを保存す る には、 [Preferences: Files] ダ イ ア ロ グ ボ ッ ク ス で [Save All operation saves without prompts] オプシ ョ ン を オ ンに し ます。 別のプ ロ グ ラ ムに切 り 替えた と き に保存 別のプ ロ グ ラ ム に切 り 替え た と き に、 変更 し た フ ァ イ ルを自動的に保 存す る には、 [Preferences: Files] ダ イ ア ロ グ ボ ッ ク ス で [Save all files when Source Insight program is deactivate] オプシ ョ ン を オ ン に し ます。 フ ァ イルご と の確認 フ ァ イ ルご と に 「はい、 いいえ、 キ ャ 塔 Z ル」 メ ッ セージ を使用 し て 保存を確認す る には、 [Preferences: Files] ダ イ ア ロ グ ボ ッ ク ス で [Save All operation will query on each file separately] オプシ ョ ン を オ ン に し ま す。 変更 さ れ、 保存が必要な フ ァ イ ルご と に、 以下のダ イ ア ロ グ ボ ッ ク ス が表示 さ れ ます。 [ はい ] フ ァ イ ルを保存 し ます。 [ いいえ ] フ ァ イ ルを保存 し ません。 キ ャ ン セル [Save All] コ マ ン ド を キ ャ ン セル し ます。 Save All Quietly 開かれていて、 最後に保存 さ れた後に変更 さ れたすべての フ ァ イ ルを 保存 し ます。 Source Insight は各フ ァ イ ルを保存す る か ど う か確認 し ま せん。 フ ァ イ ルは自動的に保存 さ れ ます。 Save As カ レ ン ト フ ァ イ ルを指定 し た名前でデ ィ ス ク に保存 し ます。 Source Insight ユーザー マニ ュ アル 291 第5章 コマン ド リ フ ァ レンス 新規フ ァ イルのカ レ ン ト プ ロ ジ ェ ク ト への追加 保存す る フ ァ イ ルがプ ロ ジ ェ ク ト を開いた後に保存 さ れていない場合、 Source Insight はフ ァ イ ルを カ レ ン ト プ ロ ジ ェ ク ト に追加す る か ど う か 確認 し ます。 [ はい ] フ ァ イ ルを カ レ ン ト プ ロ ジ ェ ク ト に追加 し ます。 [ いいえ ] フ ァ イ ルを カ レ ン ト プ ロ ジ ェ ク ト に追加 し ません。 フ ァ イ ル は保存 さ れ ます。 Save Configuration 現在の設定を指定 し た設定フ ァ イ ルに保存 し ます。 現在の設定全体、 ま たは設定の一部のみを保存で き ます。 設定の一部を含む設定フ ァ イ ルが ロ ー ド さ れ る と 、 その フ ァ イ ルに含 まれ る 設定のみが影響を受け ます。 た と えば、 キーボー ド 設定のみを 設定フ ァ イ ルに保存 し て、 フ ァ イ ル名を 「MyKeyboard」 に変更 し ま 292 Source Insight ユーザー マニ ュ アル 第5章 Save Configuration す。 「MyKeyboard」 が ロ ー ド さ れ る と 、 キーボー ド の設定のみが影響 を受け ます。 [All Configuration Settings] オ ンの場合、 設定フ ァ イ ルのすべての部分 が保存 さ れ ます。 [Individual Settings] グループで定義 さ れた部分のみを 保存す る には、 こ のチ ェ ッ ク ボ ッ ク ス を オ フ に し ます。 [Individual Settings] [All Configuration Settings] チ ェ ッ ク ボ ッ ク ス を オ フ にす る と 、 保存す る 設定の部分を選択で き ます。 た と えば、 画面の 色や画面のサ イ ズな ど の表示設定のみを保存 し て、 他の設定を変更 し ない よ う にで き ます。 こ のグループには、 設定の各項目用のチ ェ ッ ク ボ ッ ク ス が含ま れま す。 こ こ で保存す る 項目をチ ェ ッ ク し ます。 [Save] [Save] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 こ のダ イ ア ロ グ ボ ッ ク ス を使用 し て、 保存す る 設定フ ァ イ ルを選択 し ます。 複数の設定の保存 複数の設定を保存で き ます。 Source Insight で設定を行っ た後、 [Save Configuration] コ マ ン ド を使用 し て、 それぞれの設定を異な る フ ァ イ ル に保存 し ます。 設定を変更す る には、 [Load Configuration] コ マ ン ド を 使用 し て設定フ ァ イ ルの名前を指定 し ます。 設定フ ァ イ ルが開かれ る と 、 現在の設定が置換 さ れ ます。 Source Insight ユーザー マニ ュ アル 293 第5章 コマン ド リ フ ァ レンス メモ : 設定フ ァ イ ルを ロ ー ド す る と 、 有効な現在の設定フ ァ イ ルに自動的に 保存 さ れます。 デフ ォ ル ト では、 Source Insight プ ロ グ ラ ム デ ィ レ ク ト リ の Global.cf3 に保存 さ れます。 設定を残 し てお く には、 Global.cf3 のバ ッ ク ア ッ プ を作成 し て く だ さ い。 239 ページの 「Load Configuration」 も 参照 し て く だ さ い。 Save Selection 現在選択 し てい る テ キ ス ト を フ ァ イ ルに保存 し ます。 フ ァ イ ルは開か れた状態にな り ます。 新規フ ァ イ ル、 ま たは既存の フ ァ イ ルを指定で き ます。 Source Insight で既に開いてい る フ ァ イ ル も 指定で き ます。 フ ァ イ ルが既に開かれてい る 場合、 Source Insight は新規テ キ ス ト で フ ァ イ ルを置換す る か、 新規テ キ ス ト を フ ァ イ ルに追加す る か確認 し ます。 Save Workspace カ レ ン ト ワ ー ク スペース を指定 し た ワー ク スペース フ ァ イ ルに保存 し ます。 カ レ ン ト ワー ク スペース は Source Insight を終了す る と き に自動的に保 存 さ れ、 次回 Source Insight を実行す る と き に リ ロ ー ド さ れます。 複数のワー ク スペースでの作業 個々の フ ァ イ ルではな く フ ァ イ ルのセ ッ ト を使用 し て作業 し てい る 場 合、 フ ァ イ ルの各セ ッ ト を異な る ワ ー ク スペース フ ァ イ ルに保存で き ます。 別のセ ッ ト の フ ァ イ ルを変更す る 場合、 [Open] コ マ ン ド を使用 し て開 く ワー ク スペース フ ァ イ ルの名前を指定 し ます。 ワー ク スペー ス フ ァ イ ルが開かれ る と 、 現在の ワー ク スペース が置換 さ れ ます。 つ ま り 、 すべての フ ァ イ ルが閉 じ ら れ、 新 し い ワー ク スペース の フ ァ イ ルが開かれます。 Scroll Half Page Down ア ク テ ィ ブな ウ ィ ン ド ウ を画面の半分下に ス ク ロ ール し ます。 Scroll Half Page Up ア ク テ ィ ブな ウ ィ ン ド ウ を画面の半分上に ス ク ロ ール し ます。 Scroll Left ア ク テ ィ ブな ウ ィ ン ド ウ を 1 タ ブ サ イ ズ左に ス ク ロ ール し ます。 294 Source Insight ユーザー マニ ュ アル 第5章 Scroll Line Down Scroll Line Down カ レ ン ト ウ ィ ン ド ウ を フ ァ イ ルで 1 行下に ス ク ロ ール し ます。 Scroll Line Up カ レ ン ト ウ ィ ン ド ウ を フ ァ イ ルで 1 行上に ス ク ロ ール し ます。 Scroll Right ア ク テ ィ ブな ウ ィ ン ド ウ を 1 タ ブ サ イ ズ右に ス ク ロ ール し ます。 SDK Help 現在の選択範囲の単語に関す る Windows SDK ( ソ フ ト ウ ェ ア開発キ ッ ト ) ヘルプ を表示 し ます。 た と えば、 プ ロ グ ラ ム で 「TextOut」 を選択 し て [SDK Help] コ マ ン ド を実行す る と 、 TextOut 関数のヘルプ ウ ィ ン ド ウ が開 き ます。 こ の コ マ ン ド を使用す る には、 マシ ン に Windows SDK ヘルプ フ ァ イ ルが イ ン ス ト ール さ れてい る 必要があ り ます。 WinHelp 3.1 以降の任意のヘルプ フ ァ イ ル も 使用で き ます。 こ の場合、 SDK ヘルプ フ ァ イ ルであ る 必要はあ り ません。 Source Insight か ら 異な る ヘルプ フ ァ イ ルの内容を検索す る 場合に便利です。 Search 指定 し たパ タ ーン でカ レ ン ト フ ァ イ ル ま たは選択範囲を検索 し ます。 [Find] 検索す る パ タ ーン を入力 し ます。 [Search] 検索を開始 し ます。 [Cancel] コ マ ン ド を キ ャ ン セル し ます。 Source Insight ユーザー マニ ュ アル 295 第5章 コマン ド リ フ ァ レンス [Whole File] フ ァ イ ル全体を検索 し て、 検索結果を検索結果 ウ ィ ン ド ウ に表示 し ます。 [Files...] 検索す る フ ァ イ ルを指定す る [Search Files] ダ イ ア ロ グ ボ ッ ク ス を開 き ます。 [Case Sensitive] 大文字 と 小文字を区別 し て検索 し ます。 [Use Regular Expressions] 検索パ タ ーンは正規表現であ る と 見な さ れ ます。 113 ページの 「正規表現」 も 参照 し て く だ さ い。 [Wrap Around] オ ンの場合、 フ ァ イ ルの最後に達 し た と き に フ ァ イ ル の先頭か ら 検索を続行 し ます。 こ の動作は一度だけ行われ ます。 オ フ の場合、 検索は フ ァ イ ルの最後に達 し た と き に停止 し ます。 [Select When Found] オ ンの場合、 Source Insight は一致 し た と き にその 文字を選択 し ます。 オ フ の場合、 Source Insight は一致 し たテ キ ス ト の 最初の文字の前に挿入ポ イ ン ト を移動 し ます。 [Whole Words Only] オ ン の場合、 Source Insight は完全に一致す る 単語 のみを検索 し ます。 オ フ の場合、 Source Insight は入力 さ れたテ キ ス ト が単語の一部にな っ てい る 場合 も 一致 と 見な し ます。 [Search] グループ 検索方向 と 検索範囲を指定 し ます。 [Forward] 現在の選択範囲か ら 順方向に検索 し ます。 [Selection] ま たは [Whole File] がオ ン の場合、 検索は常に順方向に行われ ます。 [Backward] 現在の選択範囲か ら 逆方向に検索 し ます。 [Selection] 選択範囲のみ、 順方向に検索 し ます。 [Whole File] フ ァ イ ル全体を、 順方向に検索 し ます。 [Selection] と [Whole File] の両方がオ フ の場合、 現在の選択範囲か ら 順 方向ま たは逆方向に フ ァ イ ル全体を検索 し ます。 Search Backward 以前検索 し たパ タ ーン でカ レ ン ト フ ァ イ ルを逆方向に検索 し ます。 検 索パ タ ーンは、 [Search] コ マ ン ド を使用 し て追加 し ます。 検索は現在 の挿入ポ イ ン ト か ら 行われ ます。 Search Backward for Selection 現在の選択範囲にあ る 最初の単語の前の候補を検索 し ます。 こ の コ マ ン ド を使用す る には、 検索す る 単語内に挿入ポ イ ン ト を移動 し てか ら 、 コ マ ン ド を起動 し ます。 Source Insight はその単語の前の候補を検索 し ます。 296 Source Insight ユーザー マニ ュ アル 第5章 Search Files Search Files 複数フ ァ イ ルで検索を行い ます。 新 し い検索結果出力 ウ ィ ン ド ウ が作 成 さ れます。 Source Insight は、 フ ァ イ ルで一致す る 行を見つけ る と 、 検索結果にエ ン ト リ を追加 し ます。 検索結果フ ァ イ ルの各行には、 別 の フ ァ イ ルの一致す る テ キ ス ト の場所を リ ン ク し た ソ ース リ ン ク が含 まれます。 [Search] 選択 し てい る フ ァ イ ル、 ま たは [File Name] テ キ ス ト ボ ッ ク ス に表示 さ れてい る フ ァ イ ルで検索を開始 し ます。 [Select All] フ ァ イ ル リ ス ト に リ ス ト さ れてい る すべての フ ァ イ ルを選 択 し ます。 [Browse] Windows の [ フ ァ イ ルを開 く ] ダ イ ア ロ グ ボ ッ ク ス を表示 し ます。 こ のダ イ ア ロ グ ボ ッ ク ス で フ ァ イ ルを選択す る と 、 [File Name] テ キ ス ト ボ ッ ク ス に フ ァ イ ルが フル パ ス で表示 さ れます。 [Find] 検索す る パ タ ーン を入力 し ます。 正規表現を使用で き ます。 [File Name] 検索す る フ ァ イ ルの名前です。 ワ イ ル ド カー ド を追加 し て [Search] ボ タ ン を ク リ ッ ク す る と 、 Source Insight は ワ イ ル ド カー ド 拡 張の結果を フ ァ イ ル リ ス ト に表示 し ます。 [Project Wide] オプシ ョ ンが オ ンの場合、 カ レ ン ト プ ロ ジ ェ ク ト に含ま れ る フ ァ イ ルの リ ス ト 全体 Source Insight ユーザー マニ ュ アル 297 第5章 コマン ド リ フ ァ レンス で拡張 さ れ ます。 オ フ の場合、 カ レ ン ト デ ィ レ ク ト リ で拡張 さ れま す。 [Project Wide] オプシ ョ ン がオ ン の場合、 Source Insight は [File Name] テ キ ス ト ボ ッ ク ス の フ ァ イ ル名のプ ロ ジ ェ ク ト シ ン ボルを検索 し ます。 こ れ ら の フ ァ イ ルのデ ィ レ ク ト リ を指定す る 必要はあ り ません。 フ ァ イル リ ス ト [Project Wide] オプシ ョ ン がオ ン の場合、 カ レ ン ト プ ロ ジ ェ ク ト に含まれ る すべての フ ァ イ ルが表示 さ れます。 [Project Wide] オプシ ョ ン がオ フ の場合、 現在の作業デ ィ レ ク ト リ に含 まれ る すべての フ ァ イ ルが表示 さ れます。 現在の作業デ ィ レ ク ト リ の パ ス が フ ァ イ ル リ ス ト の上に表示 さ れます。 Source Insight は、 カ レ ン ト デ ィ レ ク ト リ にあ る 既知の ド キ ュ メ ン ト タ イ プの フ ァ イ ルのみを表 示 し ます。 ド キ ュ メ ン ト タ イ プは、 [Document Options] コ マ ン ド を使 用 し て指定 し ます。 [Show Dirs/Show Files] リ ス ト ボ ッ ク ス に表示す る 内容 ( フ ァ イ ル名ま たはサブデ ィ レ ク ト リ 名 ) を切 り 替え ます。 [Options] グルー プ [Project Wide] オ ンの場合、 フ ァ イ ル リ ス ト にプ ロ ジ ェ ク ト のすべて の フ ァ イ ルが表示 さ れ ます。 オ フ の場合、 現在の作業デ ィ レ ク ト リ の フ ァ イ ルのみが表示 さ れます。 [Include Subdirectories] オ ンの場合、 選択 さ れてい る デ ィ レ ク ト リ は 再帰的に検索 さ れ ます。 こ のオプシ ョ ン と [Project Wide] オプシ ョ ンは 同時にオ ンにで き ません。 デ ィ レ ク ト リ のセ ッ ト を再帰的に検索するには : 1. [Project Wide] チ ェ ッ ク ボ ッ ク ス を オ フ に し ます。 2. [Include Subdirectories] チ ェ ッ ク ボ ッ ク ス を オ ン に し ます。 3. フ ァ イ ル リ ス ト で 1 つ以上のデ ィ レ ク ト リ を選択 し ます。 [File Name] テ キ ス ト ボ ッ ク ス に ワ イ ル ド カー ド を入力 し て、 検索を特 定の フ ァ イ ル拡張子ま たは名前に制限で き ます。 [Case Sensitive] オ ン の場合、 Source Insight は大文字 と 小文字を区別 し て検索 し ます。 [Use Regular Expressions] オ ンの場合、 検索パ タ ーンは正規表現であ る と 見な さ れます。 113 ページの 「正規表現」 も 参照 し て く だ さ い。 [Find Non-Matching] オ ン の場合、 Source Insight はパ タ ーン が一致 し な いすべての行を検索 し ます。 [Whole Words Only] オ ン の場合、 Source Insight は完全に一致す る 単語 のみを検索 し ます。 オ フ の場合、 Source Insight は入力 さ れたテ キ ス ト が単語の一部にな っ てい る 場合 も 一致 と 見な し ます。 298 Source Insight ユーザー マニ ュ アル 第5章 Search Files [Skip Inactive Code] オ ン の場合、 条件付 き コ ンパ イ ルでア ク テ ィ ブな コ ー ド のみを検索 し ます。 Source Insight がア ク テ ィ ブな条件を判断で き る よ う に、 最初に [Preferences: Languages] ダ イ ア ロ グ ボ ッ ク ス で条 件を指定す る 必要があ り ます。 条件付 き コ ンパ イ ルは、 一部の言語で のみ利用で き ます。 [Skip Comments] オ ンの場合、 コ メ ン ト を検索 し ません。 [Search Only Comments] オ ンの場合、 コ メ ン ト のみを検索 し ます。 [Skip Comments] オプシ ョ ン と 同時に指定で き ません。 こ れ ら の コ メ ン ト オプシ ョ ン を オ ン に し た場合、 検索は多少遅 く な り ます。 [Search Results] 検索が完了 し た後、 検索結果に表示す る 項目を指定 し ます。 [List File Names] オ ンの場合、 パ タ ーン が見つか っ た フ ァ イ ルの名前 を検索結果に表示 し ます。 こ のオプシ ョ ン がオ ン で、 [List Line Numbers] と [List Line Text] の両方がオ フ の場合、 フ ァ イ ル名はパ タ ー ン が フ ァ イ ルで見つか っ た と き に一度だけ検索結果に追加 さ れ ます。 つま り 、 フ ァ イ ルご と に 1 つの一致のみ検索結果に表示 さ れ ます。 [List Line Numbers] パ タ ーン が見つか っ た フ ァ イ ルの行番号を検索結 果に表示 し ます。 [List Line Text] パ タ ーンが見つか っ た行の ソ ース テ キ ス ト を検索結果 に表示 し ます。 [Include Source Links] オ ンの場合、 検索結果に追加 さ れ る 各行に ソ ー ス リ ン ク が作成 さ れます。 ソ ース リ ン ク を使用す る と 、 検索結果の行 と パ タ ーン が見つか っ た行の間でジ ャ ン プで き ます。 ソ ース リ ン ク は 編集中に自動的に調整 さ れ、 リ ン ク 内容が維持 さ れ ます。 オ フ の場合、 テ キ ス ト のみ検索結果に追加 さ れ ます。 ソ ース リ ン ク が 多 く な る と メ モ リ の使用量が増加す る ため、 非常に多 く の一致があ る と 考え ら れ る 場合、 こ のオプシ ョ ン を オ フ に し て く だ さ い。 [Normalize File Names] オ ン の場合、 フ ァ イ ル名は正規化 さ れて検索結 果に表示 さ れ ます。 オ フ の場合、 フ ァ イ ル名はフル パ ス で表示 さ れま す。 71 ページの 「フ ァ イ ル名の正規化」 も 参照 し て く だ さ い。 フ ァ イルのセ ッ ト を検索するには [File Name] テ キ ス ト ボ ッ ク ス に ワ イ ル ド カー ド を入力 し て [Search] ボ タ ン を ク リ ッ ク す る と 、 ワ イ ル ド カー ド リ ス ト が拡張 さ れ、 フ ァ イ ル リ ス ト のすべての フ ァ イ ルが自動的に選択 さ れます。 [Project Wide] チ ェ ッ ク ボ ッ ク ス がオ ンの場合、 ワ イ ル ド カー ド はプ ロ ジ ェ ク ト のす べての フ ァ イ ルに拡張 さ れます。 こ のため、 た と えば、 プ ロ ジ ェ ク ト のすべての .h フ ァ イ ルを検索す る 場合、 [File Name] テ キ ス ト ボ ッ ク ス に *.h と 入力 し 、 Enter を押 し て Source Insight ユーザー マニ ュ アル 299 第5章 コマン ド リ フ ァ レンス [Search] ボ タ ン を ク リ ッ ク し 、 [Search] ボ タ ン を再度 ク リ ッ ク し て フ ァ イ ル リ ス ト のすべての フ ァ イ ルを検索 し ます。 [Project Wide] オプシ ョ ン がオ ン の場合、 デ ィ レ ク ト リ に関係な く 、 Source Insight はプ ロ ジ ェ ク ト に含ま れ る すべての .h フ ァ イ ルを表示 し ます。 286 ページの 「Replace Files」 も 参照 し て く だ さ い。 Search Forward 以前検索 し たパ タ ーン でカ レ ン ト フ ァ イ ルを順方向に検索 し ます。 検 索パ タ ーンは、 [Search] コ マ ン ド ま たは [Search Forward for Selection] を 使用 し て追加 し ます。 検索は現在の挿入ポ イ ン ト か ら 行われます。 Search Forward for Selection 現在の選択範囲にあ る 最初の単語の次の候補を検索 し ます。 こ の コ マ ン ド を使用す る には、 検索す る 単語内に挿入ポ イ ン ト を移動 し てか ら 、 コ マ ン ド を起動 し ます。 Source Insight はその単語の次の候補を検索 し ます。 Search List こ の コ マ ン ド は、 リ ス ト を右 ク リ ッ ク す る と 表示 さ れます。 文字列ま たは正規表現で フ ァ イ ルを検索で き ます。 ヒ ン ト : リ ス ト で入力フ ォーカ ス がオンにな っ た ら 、 F4 を押す と 次の候補を 検索で き ます。 [String to find in the list] 検索す る 文字列パ タ ーン を入力 し ます。 [Start at Beginning] オ ン の場合、 リ ス ト の最初の項目か ら 検索を開始 し ます。 オ フ の場合、 リ ス ト で選択 し てい る 項目の後か ら 検索を開始 し ます。 [Match Case] オ ン の場合、 大文字 と 小文字を区別 し て検索 し ます。 [Regular Expressions] オ ン の場合、 検索文字列を正規表現 と し て解釈 し ます。 113 ページの 「正規表現」 も 参照 し て く だ さ い。 300 Source Insight ユーザー マニ ュ アル 第5章 Search Project Search Project すべてのプ ロ ジ ェ ク ト フ ァ イ ルでテ キ ス ト ま たはキー ワー ド を検索 し ます。 こ の コ マ ン ド は、 [Lookup References] コ マ ン ド に似てい ます。 唯一の違いは、 それぞれのダ イ ア ロ グ ボ ッ ク ス に独自の継続状態があ る こ と です。 244 ページの 「Lookup References」 も 参照 し て く だ さ い。 Searching Options [Search] コ マ ン ド のオプシ ョ ン を指定 し ます。 [Search Results] テ キ ス ト を検索結果 ウ ィ ン ド ウ に追加す る 方法を制御 し ます。 [Ask before replacing old Search Results] オ ンの場合、 既存の検索結果 を置換ま たは追加す る か、 新 し い検索結果フ ァ イ ルを作成す る か確認 す る メ ッ セージが表示 さ れ ます。 [Always replace old Search Results] オ ンの場合、 既存の検索結果が新 し い結果に置換 さ れます。 [Always append to old Search Results] オ ンの場合、 新 し い検索結果が 現在の検索結果の最後に新 し い検索セ ッ ト と し て追加 さ れ ます。 オ ン の場合、 検索が完了す る と 、 Source Insight は最初に一致 し た結果にジ ャ ン プ し ます。 オ フ の場合、 検索結果 ウ ィ ン ド ウ で最初に一致 し た結果が選択 さ れ ます。 [Automatically jump to first result] [Automatically load selection into Find pattern] オ ン の場合、 カー ソ ル 位置の単語が [Search] ダ イ ア ロ グ ボ ッ ク ス の [Find] テ キ ス ト ボ ッ ク ス に自動的に ロ ー ド さ れ ます。 オ フ の場合、 検索パ タ ーンは変更 さ れ ま せん。 Source Insight ユーザー マニ ュ アル 301 第5章 コマン ド リ フ ァ レンス オ ン の場合、 置換操作 が完了 し た後、 オ リ ジナルの選択範囲が再度選択 さ れます。 [Reselect original lines after Replace operation] Select All カ レ ン ト フ ァ イ ルのすべてのテ キ ス ト を選択 し ます。 Select Block 現在の選択範囲を囲んでい る 最小の C ブ ロ ッ ク を選択 し ます。 [Select Block] コ マ ン ド を使用す る たび、 次に大 き な C ブ ロ ッ ク が選択 さ れ ま す。 Select Char Left 現在の選択範囲を 1 文字左に拡張 し ます。 Select Char Right 現在の選択範囲を 1 文字右に拡張 し ます。 Select Function or Symbol 囲ま れてい る 関数の よ う な、 囲まれてい る シ ン ボル全体を選択 し ます。 こ の コ マ ン ド は、 左の余白でマ ウ ス を ダブル ク リ ッ ク し て起動す る こ と も で き ます。 Select Line カ レ ン ト 行をすべて選択 し ます。 Select Line Down 現在の選択範囲を 1 行下に拡張 し ます。 Select Line Up 現在の選択範囲を 1 行上に拡張 し ます。 Select Match 対応す る 括弧ま で選択 し ます。 た と えば、 挿入ポ イ ン ト が開 き 括弧の 直前にあ る 場合、 対応す る 閉 じ 括弧ま で選択 し ます。 Select Next Window ア ク テ ィ ブな ウ ィ ン ド ウ フ ォーカ ス を次の ウ ィ ン ド ウ に変更 し ます。 こ の コ マ ン ド は、 すべての開いてい る ウ ィ ン ド ウ の フ ォ ーカ ス を順に 変更 し ます。 302 Source Insight ユーザー マニ ュ アル 第5章 Select Sentence こ の コ マ ン ド が使用 さ れた と き にア ク テ ィ ブ ウ ィ ン ド ウ が最大化 さ れ ていた場合、 次の ウ ィ ン ド ウ も 最大化 し て表示 さ れます。 Select Paragraph 囲ま れてい る 段落全体を選択 し ます。 テ キ ス ト の段落は、 黒線で囲ま れた行のグループであ る と 見な さ れ ます。 Select Sentence 文全体 ( 次の ピ リ オ ド ま で ) を選択 し ます。 Select Symbol 囲ま れてい る シ ン ボル全体を選択 し ます。 た と えば、 現在の選択範囲 が関数の内部であ る 場合、 [Select Symbol] コ マ ン ド を実行す る と 、 関 数に先行す る 行を含め、 前のシ ン ボル ま で、 関数全体が選択 さ れ ます。 Select To マ ウ ス を使用 し て新 し いポ イ ン ト ま で既存の選択範囲を拡張 し ます。 こ の コ マ ン ド を使用す る には、 Shift キーを押 し た ま ま で、 マ ウ ス を ク リ ッ ク し ます。 指 し た場所ま で選択範囲が拡張 さ れ ます。 選択範囲内 の位置を指 し た場合、 選択範囲はその場所ま で縮小 さ れ ます。 Select To End Of File 挿入ポ イ ン ト か ら フ ァ イ ルの最後ま で選択範囲を拡張 し ます。 Select To Top Of File 挿入ポ イ ン ト か ら フ ァ イ ルの先頭ま で選択範囲を拡張 し ます。 Select Word 挿入ポ イ ン ト の単語全体を選択 し ます。 マ ウ ス を使用 し て こ の コ マ ン ド を実行す る には : Ctrl キーを押 し た ま ま で、 単語を ポ イ ン ト し て ク リ ッ ク し ます。 単語全体が選択 さ れ ます。 こ の状態でマ ウ ス を ド ラ ッ グす る と 、 選択 範囲を拡張で き ます。 Select Word Left 挿入ポ イ ン ト か ら 現在の単語の先頭ま で選択範囲を拡張 し ます。 Select Word Right 挿入ポ イ ン ト か ら 現在の単語の最後ま で選択範囲を拡張 し ます。 Source Insight ユーザー マニ ュ アル 303 第5章 コマン ド リ フ ァ レンス Selection History 現在開いてい る フ ァ イ ルで最近選択 し た位置の リ ス ト を表示 し ます。 選択履歴は、 カ レ ン ト ワ ー ク スペース の一部です。 [Position] すべての選択履歴の位置の リ ス ト を表示 し ます。 リ ス ト の 各項目に、 フ ァ イ ル と 行番号が表示 さ れ ます。 位置がシ ン ボルの内部 であ る 場合、 シ ン ボル も 表示 さ れます。 た と えば、 関数の内部を選択 し ていた場合、 関数名 も 表示 さ れます。 [Go To] 選択 し てい る 位置にジ ャ ン プ し ます。 Setup Common Projects ビル ド す る コ モ ン プ ロ ジ ェ ク ト の種類を指定 し ます。 こ の コ マ ン ド は、 最初に Source Insight を イ ン ス ト ール し た後、 自動的 に実行 さ れ ます。 ま た、 [Preferences: Symbol Lookups] ダ イ ア ロ グ ボ ッ ク ス か ら 直接 こ の コ マ ン ド を実行す る こ と も で き ます。 コ モン プロジ ェ ク ト とは ほ と ん ど の Source Insight ユーザーは、 C/C++ ラ ン タ イ ム ラ イ ブ ラ リ や 標準 Java パ ッ ケージの よ う な標準 ラ イ ブ ラ リ を利用 し ます。 Source Insight で標準 ラ イ ブ ラ リ にシ ン ボル補完な ど のシ ン ボル機能を提供す る には、 それ ら の ラ イ ブ ラ リ 用に別々のプ ロ ジ ェ ク ト を設定す る 必要 があ り ます。 カ レ ン ト プ ロ ジ ェ ク ト にシ ン ボルが見つか ら ない場合、 Source Insight は コ モ ン プ ロ ジ ェ ク ト を検索す る ため ソ ー ト し なお し ま す。 [Setup Common Projects] コ マ ン ド は、 こ れ ら の ラ イ ブ ラ リ 用のプ ロ ジ ェ ク ト を ビル ド す る 作業を支援 し ます。 ビル ド す る プ ロ ジ ェ ク ト は プ ロ ジ ェ ク ト シ ン ボル パ ス に追加 さ れ る ので、 Source Insight は独自の 304 Source Insight ユーザー マニ ュ アル 第5章 Setup Common Projects プ ロ ジ ェ ク ト 内か ら こ れ ら の ラ イ ブ ラ リ にシ ン ボル補完な ど のシ ン ボ ル機能を提供で き ます。 [Setup Common Projects] ダ イ ア ログ ボ ッ ク ス それぞれの コ モ ン プ ロ ジ ェ ク ト について、 対応す る フ ァ イ ルを保存す る デ ィ レ ク ト リ を指定 し ます。 デ ィ ス ク に ラ イ ブ ラ リ の ソ ース コ ー ド を イ ン ス ト ール し た場合、 Source Insight で、 プ ロ ジ ェ ク ト の基本 と し てその ソ ース コ ー ド を使用で き ます。 た と えば、 C ラ ン タ イ ム ラ イ ブ ラ リ の関数 strtok への呼び出 し を ク リ ッ ク す る と 、 Source Insight は strtok の ソ ース コ ー ド を表示 し ます。 こ こ で作成 さ れ る コ モ ン プ ロ ジ ェ ク ト はそれぞれ、 プ ロ ジ ェ ク ト シ ン ボル パ ス に追加 さ れ ます。 パ ス は [Preferences: Symbol Lookups] ダ イ ア ロ グ ボ ッ ク ス で編集で き ます。 メモ : こ のダ イ ア ロ グ ボ ッ ク ス で リ ビル ド す る プ ロ ジ ェ ク ト を選択す る と 、 既存のプ ロ ジ ェ ク ト は置換 さ れます。 C/C++ ラ ン タ イ ムや Windows ヘ ッ ダー プ ロ ジ ェ ク ト の よ う な大規模なプ ロ ジ ェ ク ト の ビル ド には 時間がかか り ます。 [Standard C/C++ and Windows Headers] こ のプ ロ ジ ェ ク ト には、 標準 Windows、 C、 C++ イ ン ク ルー ド フ ァ イ ル と ソ ース コ ー ド が含まれ ま す。 Source Insight は、 レ ジ ス ト リ を参照 し てプ ロ ジ ェ ク ト を格納す る Source Insight ユーザー マニ ュ アル 305 コマン ド リ フ ァ レンス 第5章 場所を表示 し ます。 こ の場所は変更で き ます。 [Browse] ボ タ ン を ク リ ッ ク し て、 ソ ース フ ァ イ ルを含むフ ォ ルダ を指定 し ます。 [Standard MFC Files] こ のプ ロ ジ ェ ク ト には、 MFC (Microsoft Foundation Classes) イ ン ク ルー ド フ ァ イ ル と ソ ース コ ー ド が含まれ ま す。 [Browse] ボ タ ン を ク リ ッ ク し て、 ソ ース フ ァ イ ルを含むフ ォ ルダ を指定 し ます。 [Standard Java Libraries] こ のプ ロ ジ ェ ク ト には、 java.lang の よ う な標 準 Java パ ッ ケージ用の Java 開発キ ッ ト ソ ース コ ー ド が含まれ ます。 Source Insight は、 レ ジ ス ト リ を参照 し てプ ロ ジ ェ ク ト を格納す る 場所 を表示 し ます。 こ の場所は変更で き ます。 [Browse] ボ タ ン を ク リ ッ ク し て、 ソ ース フ ァ イ ルを含むフ ォ ルダ を指定 し ます。 [.Net Framework] こ のプ ロ ジ ェ ク ト は、 C# のシ ン ボル自動補完に使用 し ます。 C# を使用 し ていない場合、 こ のプ ロ ジ ェ ク ト を選択す る 必要 はあ り ません。 Source Insight がデ ィ レ ク ト リ を作成す る ため、 こ のプ ロ ジ ェ ク ト のデ ィ レ ク ト リ を指定す る 必要はあ り ません。 [Continue] [Continue] ボ タ ン を ク リ ッ ク す る と 、 選択 し た コ モ ン プ ロ ジ ェ ク ト が作成 さ れ ます。 選択 し たプ ロ ジ ェ ク ト について、 Source Insight はプ ロ ジ ェ ク ト に追加す る フ ァ イ ルを確認 し ます。 [Add and Remove Project Files] ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 Setup HTML Help [HTML Help] コ マ ン ド で使用す る HTML ヘルプ フ ァ イ ルを指定 し ま す。 Microsoft® MSDN® ま たは Microsoft® Developer Studio® ツールを イ ン ス ト ール し てい る 場合、 開発ツールの メ イ ン ヘルプ フ ァ イ ルであ る コ ンパ イ ル済み HTML ヘルプの 「 コ レ ク シ ョ ン」 を選択で き ます。 こ の フ ァ イ ルの拡張子は .col です。 こ れで、 Source Insight の内部か ら Windows 開発 API の HTML ヘルプ を起動で き る よ う にな り ます。 Setup WinHelp File [SDK Help] コ マ ン ド で使用す る WinHelp ヘルプ フ ァ イ ルを指定 し ま す。 Windows の [ フ ァ イ ルを開 く ] ダ イ ア ロ グ ボ ッ ク ス で使用す る .HLP フ ァ イ ルを選択 し て く だ さ い。 Show Clipboard ク リ ッ プボー ド の内容を表示す る ウ ィ ン ド ウ を開 き ます。 ク リ ッ プ ボー ド の内容は編集ま たは選択で き ません。 306 Source Insight ユーザー マニ ュ アル 第5章 Show File Status Show File Status カ レ ン ト フ ァ イ ルのサ イ ズ ( 行数 と バ イ ト 数 ) を ス テー タ ス バーに表 示 し ます。 最後に保存 さ れた後に変更 さ れてい る 場合、 お よ び読み取 り 専用の場合、 それ ら の情報 も 表示 し ます。 Simple Tab 通常の タ ブ を挿入 し ます。 Smart Tab モー ド よ り も 優先 さ れます。 Smart Tab オプシ ョ ン を有効に し てい る 場合に便利です。 Smart Tab モー ド では、 通常の Tab キーの動作が変更 さ れます。 こ のため、 Smart Tab の結果が想定 し た結果 と 異な る こ と があ り ます。 こ の コ マ ン ド を 使用す る こ と で、 特殊な効果のない、 通常の タ ブ を挿入で き ます。 Smart End of Line カー ソ ルを カ レ ン ト 行の最後な ど に移動 し ます。 動作は次の よ う にな り ます。 カー ソ ルが行の途中にあ る 場合、 行の最後の空白でない文字の後に カー ソ ルを移動 し ます。 カー ソ ルが行の最後の空白でない文字の後にあ る 場合、 行の最後に カー ソ ルを移動 し ます。 カー ソ ルが行の最後にあ る 場合、 フ ァ イ ルの最後にカー ソ ルを移動 し ます。 Smart Beginning of Line カー ソ ルを カ レ ン ト 行の先頭な ど に移動 し ます。 動作は次の よ う にな り ます。 • カー ソ ルが行の途中にあ る 場合、 行の最初の空白でない文字の 前にカー ソ ルを移動 し ます。 • カー ソ ルが行の最初の空白でない文字の前にあ る 場合、 行の先 頭にカー ソ ルを移動 し ます。 • カー ソ ルが行の先頭にあ る 場合、 フ ァ イ ルの先頭にカー ソ ルを 移動 し ます。 Smart Rename シ ン ボル名を変更 し ます。 [Smart Reference Matching] オプシ ョ ンがオ ン の場合、 Smart Rename は正 し い ス コ ープ コ ン テ キ ス ト に含ま れ る シ ン ボル名のみ変更 し ます。 すべてのプ ロ ジ ェ ク ト フ ァ イ ルのシ ン ボル 名を変更で き ます。 関数の ロ ーカル変数、 ク ラ ス、 構造体 メ ンバ、 お よ び関数の名前の変更に使用で き ます。 Source Insight ユーザー マニ ュ アル 307 コマン ド リ フ ァ レンス Smart Rename は 大文字 と 小文字を 区別 し ます。 第5章 Smart Rename は、 特別な形式のグ ロ ーバル検索 と 置換です。 Source Insight は、 高速化のためにシ ン ボル デー タ ベース イ ンデ ッ ク ス を使用 し ます。 [Old Name] 名前を変更す る 識別子の名前を入力 し ます。 カー ソ ル位置 の単語が こ のテ キ ス ト ボ ッ ク ス に自動的に ロ ー ド さ れます。 Source Insight は ロ ーカル ス コ ープ コ ン テ キ ス ト に基づいて名前を変更す る シ ン ボルを決定す る ため、 カー ソ ルの位置は重要です。 こ のテ キ ス ト ボ ッ ク ス には任意の文字列を入力で き ますが、 名前の変 更操作は単一の単語文字列用に最適化 さ れてい ます。 ま た、 こ のテ キ ス ト ボ ッ ク ス に文字列を入力 し た場合、 Source Insight は、 初期カー ソ ル位置に基づいて名前を変更す る シ ン ボルを再確立す る 必要があ り ま す。 メ ンバ変数、 ま たは ロ ーカル変数の名前を変更す る 場合、 [Old Name] テ キ ス ト ボ ッ ク ス には コ ン テナ シ ン ボルを含む、 シ ン ボルの完全な名 前が表示 さ れ ます。 た と えば、 「DocDraw.paintStruc」 と 表示 さ れてい る 場合、 「DocDraw」 が関数名で 「paintStruc」 が ロ ーカル変数です。 あ る 意味では、 「paintStruc」 は 「DocDraw」 関数の メ ンバです。 [New Name] 変更後の名前を入力 し ます。 メ ンバの場合、 新 し い メ ン バ名のみを入力 し 、 シ ン ボル コ ン テナ修飾語は省略 し て く だ さ い。 [Output Search Results] オ ンの場合、 検索結果が検索結果 ウ ィ ン ド ウ に表示 さ れ ます。 名前を変更 し た記録です。 検索結果 ウ ィ ン ド ウ には、 [New Name] 文字列で置換 さ れた前のテ キ ス ト が表示 さ れ ます。 [Confirm Each Replacement] オ ンの場合、 Source Insight は置換前に確 認 し ます。 308 Source Insight ユーザー マニ ュ アル 第5章 Smart Tab [Confirm Each File] オ ンの場合、 Source Insight はフ ァ イ ルを変更す る 前に確認 し ます。 [Smart Reference Matching] オ ンの場合、 Source Insight は、 言語情報 と カー ソ ル ス コ ープ コ ン テ キ ス ト を使用 し て、 名前を変更す る シ ン ボル を決定 し 、 厳格な参照のみの名前を変更 し てい る こ と を確認 し ます。 [Skip Inactive Code] オ ン の場合、 条件付 き コ ンパ イ ルでア ク テ ィ ブな コ ー ド のみを検索 し ます。 Source Insight がア ク テ ィ ブな条件を判断で き る よ う に、 最初に [Preferences: Languages] ダ イ ア ロ グ ボ ッ ク ス で条 件を指定す る 必要があ り ます。 条件付 き コ ンパ イ ルは、 一部の言語で のみ利用で き ます。 [Skip Comments] オ ンの場合、 コ メ ン ト 内のシ ン ボル参照の名前は変 更 さ れません。 [Include Read-Only Files (keep buffers open)] オ ンの場合、 読み取 り 専 用フ ァ イ ルに対 し て も 置換が行われます。 Source Insight は、 置換中に フ ァ イ ルを保存 し ません。 ユーザーが フ ァ イ ルを保存す る こ と はで き ます。 オ フ の場合、 読み取 り 専用フ ァ イ ルは ス キ ッ プ さ れます。 こ の オプシ ョ ンは、 [Preferences: Files] の [Allow editing read-only file buffers] オプシ ョ ン と は独立 し て動作す る 点に注意 し て く だ さ い。 [Preferences: Files] の [Save over read-only files without prompting] オプ シ ョ ンがオ ンの場合、 Source Insight は名前変更中に読み取 り 専用フ ァ イ ルを自動的に保存 し ます。 Smart Tab [Smart Tab] コ マ ン ド が ソ ース コ ー ド で使用 さ れ る と 、 Source Insight は 選択範囲を次の 「フ ィ ール ド 」 に移動 し ます。 フ ィ ール ド は現在の コ ン テ キ ス ト に応 じ て決ま り ます。 Smart Tab を使用す る と 、 特に新 し い 関数呼び出 し を入力 し てい る と き に、 カー ソ ルを簡単に移動で き ます。 ([Preferences: Typing] で ) [Smart Tab] オプシ ョ ンがオ ンの場合、 Tab キーを押す と [Smart Tab] コ マ ン ド が実行 さ れます。 [Simple Rab] コ マ ン ド は タ ブ を挿入す る コ マ ン ド で、 Smart Tab よ り も 優先 さ れます。 こ のため、 [Smart Tab] オプシ ョ ン がオ ン の場合に タ ブ を挿入す る には、 [Simple Tab] コ マ ン ド を使用 し ます。 Smart Tab の例 以下の 3 つの例では、 初期の選択範囲の状態を ス テ ッ プ 1、 Smart Tab を使用 し た後の選択範囲を ス テ ッ プ 2 以降で示 し てい ます。 現在の挿 入ポ イ ン ト は ^、 テ キ ス ト の選択範囲は こ の よ う に下線付 き で表示 し てい ます。 Source Insight ユーザー マニ ュ アル 309 第5章 コマン ド リ フ ァ レンス 例 1: 1. Beg^inPaint(hwnd, pps); 2. BeginPaint(hwnd, pps); 例 2: 1. 2. 3. 4. 5. BeginPaint^(hwnd, pps); BeginPaint(hwnd, pps); BeginPaint(hwnd, pps); BeginPaint(hwnd, pps^); BeginPaint(hwnd, pps)^; 例 3: 1. 2. ResetAbc(^) ResetAbc()^ Smart Tab は、 行の先頭 と 最後、 ま たは関数呼び出 し がない行で使用 し た場合は通常の タ ブの よ う に動作 し ます。 Smart Tab は、 関数呼び出 し の自動補完を使用 し てい る 場合 も 問題な く 動作 し ます。 ポ ッ プア ッ プ自動補完 ウ ィ ン ド ウ か ら 関数呼び出 し を挿 入す る と 、 関数のパ ラ メ ー タ の タ イ プ と 名前が挿入 さ れ、 最初のパ ラ メ ー タ が選択 さ れ ます。 最初のパ ラ メ ー タ 上で入力を開始す る だけで か ま い ません。 Smart Tab を使用す る と 、 次のパ ラ メ ー タ が選択 さ れ ま す。 Sort Symbol Window カ レ ン ト フ ァ イ ル ウ ィ ン ド ウ のシ ン ボル ウ ィ ン ド ウ を ソ ー ト し ます。 以下の項目で ソ ー ト で き ます。 • 名前 • 行番号 ( デフ ォ ル ト ) • タ イ プ + 名前 Sort Symbols By Line シ ン ボル ウ ィ ン ド ウ に リ ス ト さ れてい る シ ン ボル エ ン ト リ を行番号で ソ ー ト し ます。 フ ァ イ ルの各シ ン ボルが行番号順に リ ス ト さ れます。 デフ ォ ル ト では、 シ ン ボル ウ ィ ン ド ウ は行番号で ソ ー ト さ れます。 こ の方法ですべてのシ ン ボル ウ ィ ン ド ウ をデフ ォ ル ト で ソ ー ト す る に は、 シ ン ボル ウ ィ ン ド ウ を右 ク リ ッ ク し て、 右 ク リ ッ ク シ ョ ー ト カ ッ ト メ ニ ュ ーで [Record New Default Properties] コ マ ン ド を実行 し ます。 Sort Symbols by Name シ ン ボル ウ ィ ン ド ウ に リ ス ト さ れてい る シ ン ボル エ ン ト リ を シ ン ボル 名でアルフ ァ ベ ッ ト 順に ソ ー ト し ます。 デフ ォ ル ト では、 シ ン ボル ウ ィ ン ド ウ は行番号で ソ ー ト さ れます。 310 Source Insight ユーザー マニ ュ アル 第5章 Sort Symbols By Type こ の方法ですべてのシ ン ボル ウ ィ ン ド ウ をデフ ォ ル ト で ソ ー ト す る に は、 シ ン ボル ウ ィ ン ド ウ を右 ク リ ッ ク し て、 右 ク リ ッ ク シ ョ ー ト カ ッ ト メ ニ ュ ーで [Record New Default Properties] コ マ ン ド を実行 し ます。 Sort Symbols By Type シ ン ボル ウ ィ ン ド ウ に リ ス ト さ れてい る シ ン ボル エ ン ト リ を シ ン ボル タ イ プで ソ ー ト し ます。 た と えば、 すべての構造体、 すべての関数、 その他の よ う に リ ス ト さ れます。 デフ ォ ル ト では、 シ ン ボル ウ ィ ン ド ウ は行番号で ソ ー ト さ れます。 こ の方法ですべてのシ ン ボル ウ ィ ン ド ウ をデフ ォ ル ト で ソ ー ト す る に は、 シ ン ボル ウ ィ ン ド ウ を右 ク リ ッ ク し て、 右 ク リ ッ ク シ ョ ー ト カ ッ ト メ ニ ュ ーで [Record New Default Properties] コ マ ン ド を実行 し ます。 Source Dynamics on the Web Web ブ ラ ウ ザで Source Dynamics の Web サ イ ト を開 き ます。 Start Recording コ マ ン ド レ コ ーダ を オ ンに し ます。 実行 し た コ マ ン ド も 記録 さ れ ま す。 コ マ ン ド レ コ ーダ を使用す る と 、 1 つの一連の コ マ ン ド を記録で き ます。 記録 し た コ マ ン ド を再生す る には、 [Play Recording] コ マ ン ド を使用 し ます。 記録を停止す る には、 [Stop Recording] コ マ ン ド を使用 し ます。 [Play Recording] コ マ ン ド を使用 し て再生を開始 し た場合 も 記録は停止 さ れ ます。 記録は一度に 1 つのみ利用で き ます。 記録は ワー ク スペース に保存 さ れ ます。 Stop Recording コ マ ン ド レ コ ーダ を オ フ に し ます。 レ コ ーダ を開始す る には、 [Start Recording] コ マ ン ド を使用 し ます。 コ マ ン ド レ コ ーダ を使用す る と 、 1 つの一連の コ マ ン ド を記録で き ます。 記録 し た コ マ ン ド を再生す る に は、 [Play Recording] コ マ ン ド を使用 し ます。 Style Properties 表示ス タ イ ルの フ ォ ーマ ッ ト プ ロ パテ ィ を設定 し ます。 ス タ イ ルの詳 細は、 101 ページの 「構文フ ォーマ ッ ト と ス タ イ ル」 を参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 311 第5章 コマン ド リ フ ァ レンス フ ォ ーマ ッ ト プ ロパテ ィ ス タ イルのプ ロパ テ ィ は親ス タ イル と 組み合わ さ れま す。 ス タ イ ルにはそれぞれ、 多 く の フ ォ ーマ ッ ト プ ロ パテ ィ が含ま れてい ます。 ス タ イ ルは階層に存在す る ため、 各フ ォ ーマ ッ ト プ ロ パテ ィ は 親ス タ イ ルのプ ロ パテ ィ と 組み合わ さ れて最終的なプ ロ パテ ィ が生成 さ れ ます。 た と えば、 bold が 「ON」 の場合、 bold フ ォーマ ッ ト が追加 さ れ ます。 bold が 「OFF」 の場合、 bold フ ォ ーマ ッ ト が親ス タ イ ルのプ ロ パテ ィ か ら 削除 さ れ ます。 こ のダ イ ア ロ グ ボ ッ ク ス の多 く の フ ォ ーマ ッ ト コ ン ト ロ ールは、 以下 のいずれかの値にな り ます。 • ON – プ ロ パテ ィ が親ス タ イ ルの フ ォーマ ッ ト に追加 さ れ ます。 • OFF – プ ロ パテ ィ が親ス タ イ ルの フ ォーマ ッ ト か ら 削除 さ れま す。 • 数字 – 親ス タ イ ルのプ ロ パテ ィ が こ の値に置換 さ れます。 • = ( イ コ ール ) - 親ス タ イ ルのプ ロ パテ ィ と 同 じ 値が継承 さ れます。 [Style Properties] ダ イ ア ロ グ ボ ッ ク ス [Style Name] リ ス ト すべての構文フ ォ ーマ ッ ト ス タ イ ルの リ ス ト で す。 こ の リ ス ト で ス タ イ ルを選択す る と 、 そのプ ロ パテ ィ が右の コ ン ト ロ ールに ロ ー ド さ れ ます。 ま た、 サン プル ボ ッ ク ス に ス タ イ ルのサ ン プルが表示 さ れ ます。 312 Source Insight ユーザー マニ ュ アル 第5章 Style Properties [Parent Style] ス タ イ ル階層の親ス タ イ ルです。 カ レ ン ト ス タ イ ルは フ ォ ーマ ッ ト を親ス タ イ ルか ら 継承 し ます。 [Add Style…] 新規ユーザー定義ス タ イ ルを追加 し ます。 [Delete Style] ユーザー定義ス タ イ ルを削除 し ます。 標準のビル ト イ ン ス タ イ ルは削除で き ません。 [Load…] 設定フ ァ イ ルか ら 新規ス タ イ ル シー ト を ロ ー ド し ます。 [Save…] 現在の ス タ イ ル シー ト 設定を新規設定フ ァ イ ルに保存 し ま す。 こ の フ ァ イ ルには ス タ イ ル プ ロ パテ ィ のみ含まれ ます。 設定フ ァ イ ルに保存で き る 他の要素は含まれません。 こ の設定フ ァ イ ルを ロ ー ド す る と 、 ス タ イ ル プ ロ パテ ィ のみ変更 さ れます。 [Reset…] すべての ス タ イ ルを初期設定に戻 し ます。 Source Insight を イ ン ス ト ール し た後に行っ た変更はすべて失われ ます。 [Font] オプシ ョ ン [Font Name] 現在選択 し てい る フ ォ ン ト を示 し ます。 [Size] フ ォ ン ト サ イ ズ を ポ イ ン ト で選択 し ます。 フ ォ ン ト サ イ ズ を相 対的に親ス タ イ ルの フ ォ ン ト サ イ ズの比率で指定す る には、 [Scale] プ ロ パテ ィ を使用 し ます。 [Scale] フ ォ ン ト サ イ ズ を親ス タ イ ルの フ ォ ン ト サ イ ズの比率で指定 し ます。 た と えば、 50% に指定す る と 、 フ ォ ン ト サ イ ズは親ス タ イ ル の フ ォ ン ト サ イ ズの半分にな り ます。 [Bold] カ レ ン ト ス タ イ ルの太字プ ロ パテ ィ を選択 し ます。 [Italic] カ レ ン ト ス タ イ ルの斜体プ ロ パテ ィ を選択 し ます。 [Underline] カ レ ン ト ス タ イ ルの下線プ ロ パテ ィ を選択 し ます。 [All Caps] カ レ ン ト ス タ イ ルのすべて大文字プ ロ パテ ィ を選択 し ます。 [Strike-Thru] カ レ ン ト ス タ イ ルの取 り 消 し 線プ ロ パテ ィ を選択 し ま す。 [Colors] オプシ ョ ン [Foreground] カ レ ン ト ス タ イ ルの前景色を選択 し ます。 [Background] カ レ ン ト ス タ イ ルの背景色を選択 し ます。 [Shadow] カ レ ン ト ス タ イ ルの ド ロ ッ プシ ャ ド ウ の色を選択 し ます。 [Inverse] カ レ ン ト ス タ イ ルの反転プ ロ パテ ィ を選択 し ます。 反転 と は、 前景色 と 背景色を逆にす る こ と です。 Source Insight ユーザー マニ ュ アル 313 第5章 コマン ド リ フ ァ レンス [Spacing] オプ ション [Above Line] 行の上に追加す る 垂直間隔の比率を選択 し ます。 [Below Line] 行の下に追加す る 垂直間隔の比率を選択 し ます。 [Expanded] 文字に追加す る 水平間隔の比率を選択 し ます。 [Fixed White Space] こ のオプシ ョ ンは、 プ ロ ポーシ ョ ナル フ ォ ン ト を 選択 し てい る 場合にのみ適用 さ れ ます。 Courier New の よ う な固定ピ ッ チの フ ォ ン ト を選択 し てい る 場合は影響を受け ません。 オ ンの場合、 Source Insight は スペース と タ ブに固定の幅を使用 し ます。 スペース と タ ブは固定ピ ッ チの フ ォ ン ト を使用 し た場合 と 同 じ 方法で表示 さ れ ま す。 プ ロ ポーシ ョ ナル フ ォ ン ト を使用 し てい る 場合、 こ のオプシ ョ ン を オ ンにす る と プ ロ グ ラ ムが よ り 見やす く な り ます。 190 ページの 「[Character Spacing Options] ダ イ ア ロ グ ボ ッ ク ス」 も 参照 し て く だ さ い。 [Print together with next line] オ ンの場合、 Source Insight は印刷時にテ キ ス ト を次の行 と 分離 し ないで同 じ ページに印刷 し ます。 Symbol Info カー ソ ル位置のシ ン ボルの定義を示すポ ッ プア ッ プ ウ ィ ン ド ウ を表示 し ます。 識別子の定義を素早 く 確認で き ます。 シ ンボル名、 タ イ プ、 場所 シ ン ボルの名前、 タ イ プ、 場所が ウ ィ ン ド ウ の上部に表示 さ れ ます。 ソ ース フ ァ イル シ ン ボルが定義 さ れてい る ソ ース フ ァ イ ルの名前 と 行 番号がシ ン ボル名の下に表示 さ れ ます。 シ ン ボルのサ イ ズがわか っ て い る 場合、 シ ン ボルのサ イ ズが行数で表示 さ れ ます。 314 Source Insight ユーザー マニ ュ アル 第5章 Symbol Lookup Options テキス ト ウ ィ ン ド ウ シ ン ボルが定義 さ れてい る ソ ース フ ァ イ ルの内容 が表示 さ れ ます。 ウ ィ ン ド ウ は ス ク ロ ールで き ます。 [Close] ウ ィ ン ド ウ を閉 じ ます。 [Jump] ウ ィ ン ド ウ を閉 じ て、 シ ン ボル定義に直接ジ ャ ン プ し ます。 [References] シ ン ボルへのプ ロ ジ ェ ク ト 全体の参照を検索 し ます。 [Open file in a window] フ ァ イ ルを ウ ィ ン ド ウ で開 き ます。 フ ァ イ ルが 既に開かれてい る 場合、 こ のボ タ ンは無効にな り ます。 Symbol Lookup Options Source Insight がシ ン ボル定義を参照す る 方法を設定 し ます。 [Preferences] ダ イ ア ロ グ ボ ッ ク ス の [Symbol Lookups] タ ブ を表示 し ま す。 Source Insight ユーザー マニ ュ アル 315 コマン ド リ フ ァ レンス 第5章 [Parse locally before lookup] Source Insight は、 カ レ ン ト フ ァ イ ルのシ ン ボル情報がシ ン ボルを参照す る 前に最新であ る こ と を保証 し ます。 こ のオプシ ョ ンは、 編集時に作用 し ます。 文字を入力す る たび、 Source Insight はその フ ァ イ ルのシ ン ボル デー タ が 「古 く 」 な る と 見な し ます。 こ のオプシ ョ ン がオ ン の場合、 フ ァ イ ルは入力後に解析 さ れ ます。 こ のオプシ ョ ン がオ フ の場合、 Source Insight は古い可能性のあ る シ ン ボル デー タ を カ レ ン ト フ ァ イ ルに使用 し ます。 こ のオプシ ョ ン を オ ンにす る と 、 シ ン ボル参照は よ り 正確にな り ますが、 速度は遅 く な り ます。 ま た、 自動補完 ウ ィ ン ド ウ も 遅 く な り ます。 ほ と ん ど の場 合、 こ のオプシ ョ ン を オ フ に し ていて も シ ン ボル参照は問題な く 動作 し ます。 [Find symbols across different language types] オ ン の場合、 Source Insight は、 ソ ース言語に関係な く 、 すべての言語のシ ン ボル定義を検 索 し ます。 オ フ の場合 ( デフ ォ ル ト )、 同 じ 言語で定義 さ れてい る シ ン ボルのみを検索 し ます。 [Search project symbol path if symbol not found] カ レ ン ト プ ロ ジ ェ ク ト 、 ま たは開いてい る フ ァ イ ルでシ ン ボルが見つか ら ない場合、 Source Insight はプ ロ ジ ェ ク ト シ ン ボル パ ス に リ ス ト さ れてい る プ ロ ジ ェ ク ト を検索 し ます。 シ ン ボル パ ス を検索 し た後、 シ ン ボル パ ス の すべてのプ ロ ジ ェ ク ト を検索 し ます。 [Search symbol path, even if symbol is found in current project] こ のオ プシ ョ ン がオ ン の場合、 シ ン ボルが開いてい る フ ァ イ ルやカ レ ン ト プ ロ ジ ェ ク ト で既に見つか っ てい る 場合で も 、 Source Insight がシ ン ボル を参照す る たびに、 シ ン ボル パ ス のすべてのプ ロ ジ ェ ク ト が検索 さ れ ます。 多 く の同 じ シ ン ボル名を含むプ ロ ジ ェ ク ト の代替バージ ョ ン で 作業 し てい る 場合に便利です。 カ レ ン ト プ ロ ジ ェ ク ト の特定のシ ン ボ ルを検索す る と 、 シ ン ボル パ ス の他のプ ロ ジ ェ ク ト で一致す る 項目 も 表示 さ れ ます。 オ フ の場合、 Source Insight は、 シ ン ボルが開いてい る フ ァ イ ルやカ レ ン ト プ ロ ジ ェ ク ト で見つか ら なか っ た場合にのみシ ン ボル パ ス を検索 し ます。 [Use .Net Framework symbols with C#] オ ンの場合、 Source Insight は .NET Framework のシ ン ボル情報にア ク セ ス し て C# フ ァ イ ルのシ ン ボ ルを自動補完 し ます。 こ の場合、 特別なプ ロ ジ ェ ク ト NetFramework が 使用 さ れ ます。 オ フ の場合、 NetFramework プ ロ ジ ェ ク ト は使用 さ れ ま せん。 メモ : プ ロ ジ ェ ク ト シ ン ボル パ ス に NetFramework プ ロ ジ ェ ク ト を追加す る 必要はあ り ません。 Source Insight は、 NetFramework プ ロ ジ ェ ク ト を 自動的に検索 し ます。 [Project symbol path] プ ロ ジ ェ ク ト シ ン ボル パ ス は、 Source Insight が シ ン ボルの検索に使用す る プ ロ ジ ェ ク ト の リ ス ト です。 プ ロ ジ ェ ク ト 316 Source Insight ユーザー マニ ュ アル 第5章 Symbol Window コ マ ン ド シ ン ボル パ ス を使用す る と 、 小 さ な自己完結型のプ ロ ジ ェ ク ト が作成 で き ますが、 他のプ ロ ジ ェ ク ト のシ ン ボルを検索す る こ と も で き ます。 リ ス ト の各項目はプ ロ ジ ェ ク ト の フル パ ス名です。 プ ロ ジ ェ ク ト パ ス はセ ミ コ ロ ン で区切 り ます。 プ ロ ジ ェ ク ト フ ァ イ ルのあ る デ ィ レ ク ト リ に加え て、 プ ロ ジ ェ ク ト フ ァ イ ルの名前を イ ン ク ルー ド す る こ と を 忘れないで く だ さ い。 例: c:\include\include;c:\windev\include\include プ ロ ジ ェ ク ト シ ン ボル パ ス は、 カ レ ン ト プ ロ ジ ェ ク ト 外部のシ ン ボ ルの定義を検索す る ためにのみ使用 さ れ ます。 シ ン ボルの参照の検索 や複数プ ロ ジ ェ ク ト の検索には使用 さ れ ません。 [Add to Project Path…] 既存のプ ロ ジ ェ ク ト シ ン ボル パ ス に追加す る プ ロ ジ ェ ク ト を選択 し ます。 [Create Common Projects…] [Create Common Projects] ダ イ ア ロ グ ボ ッ ク ス を開 き ます。 こ のダ イ ア ロ グ ボ ッ ク ス で、 プ ロ ジ ェ ク ト シ ン ボル パ ス経由で参照す る 外部 コ モ ン プ ロ ジ ェ ク ト を作成で き ます。 Symbol Window コ マ ン ド カ レ ン ト フ ァ イ ル ウ ィ ン ド ウ のシ ン ボル ウ ィ ン ド ウ を開 き ます / 閉 じ ます。 シ ン ボル ウ ィ ン ド ウ は、 グ ロ ーバルな範囲で通常表示 さ れ る 、 フ ァ イ ルに定義 さ れてい る シ ン ボルの リ ス ト です。 シ ン ボル ウ ィ ン ド ウ は、 [Sort Symbol Window] コ マ ン ド を使用 し て ソ ー ト で き ます。 シ ン ボル ウ ィ ン ド ウ は、 フ ァ イ ルの ド キ ュ メ ン ト タ イ プに解析 し た言 語が含まれてい る 場合にのみ利用で き ます。 Source Insight ユーザー マニ ュ アル 317 第5章 コマン ド リ フ ァ レンス Symbol Window Properties ソ ース ウ ィ ン ド ウ の左に表示 さ れてい る シ ン ボル ウ ィ ン ド ウ のプ ロ パ テ ィ を表示 し ます。 [Show class members] オ ンの場合、 シ ン ボル ウ ィ ン ド ウ に ク ラ ス の メ ンバ コ ン テ ン ツ が表示 さ れ ます。 オ フ の場合、 ク ラ ス名のみ表示 さ れ ます。 [Show structure members] オ ン の場合、 シ ン ボル ウ ィ ン ド ウ に構造体 フ ィ ール ド メ ンバが表示 さ れ ます。 オ フ の場合、 構造体の名前のみ表 示 さ れます。 [Show enum constants] オ ン の場合、 シ ン ボル ウ ィ ン ド ウ に enum 定数 が表示 さ れ ます。 オ フ の場合、 enum タ イ プの名前のみ表示 さ れます。 [Show local definitions] オ ンの場合、 各関数のシ ン ボル ウ ィ ン ド ウ に 関数 ロ ーカル宣言 も 表示 さ れ ます。 [Apply Now] こ のダ イ ア ロ グ ボ ッ ク ス で行っ た変更を シ ン ボル ウ ィ ン ド ウ に適用 し ます。 [Symbol Types…] [Symbol Type] ダ イ ア ロ グ ボ ッ ク ス を開 き ます。 こ の ダ イ ア ロ グ ボ ッ ク ス で、 シ ン ボル ウ ィ ン ド ウ か ら 異な る タ イ プのシ ン ボルを フ ィ ル タ し て出力で き ます。 [Font…] シ ン ボル ウ ィ ン ド ウ の表示に使用す る フ ォ ン ト を選択 し ま す。 [Text Color…] シ ン ボル ウ ィ ン ド ウ のテ キ ス ト の色を選択 し ます。 [Back Color…] シ ン ボル ウ ィ ン ド ウ の背景色を選択 し ます。 318 Source Insight ユーザー マニ ュ アル 第5章 Sync File Windows Sync File Windows カ レ ン ト フ ァ イ ルを表示す る すべての ウ ィ ン ド ウ を カ レ ン ト ウ ィ ン ド ウ と 同 じ 場所に ス ク ロ ール し ます。 Synchronize Files カ レ ン ト プ ロ ジ ェ ク ト と プ ロ ジ ェ ク ト のすべての ソ ース フ ァ イ ルを同 期 し ます。 プ ロ ジ ェ ク ト の各フ ァ イ ルを ス キ ャ ン し 、 Source Insight が 最後に フ ァ イ ルを開いた後に変更 さ れた フ ァ イ ルのシ ン ボル デー タ ベース を更新 し ます。 存在 し な く な っ たプ ロ ジ ェ ク ト の一部であ る フ ァ イ ルはプ ロ ジ ェ ク ト か ら 削除 さ れます。 [Preferences: General] ダ イ ア ロ グ ボ ッ ク ス の [Background project synchronization] オプシ ョ ン を オ ン に し て、 編集中にバ ッ ク グ ラ ウ ン ド で フ ァ イ ルを同期す る こ と も で き ます。 [Add new files automatically] オ ンの場合、 フ ァ イ ルをすべて同期 さ せ る 前に、 Source Insight は、 プ ロ ジ ェ ク ト の ソ ース デ ィ レ ク ト リ と サブ デ ィ レ ク ト リ に、 新規フ ァ イ ルを再帰的に追加 し ます。 し か し 、 ス キ ャ ン さ れ る のは既にプ ロ ジ ェ ク ト フ ァ イ ルに含まれてい る デ ィ レ ク ト リ のみです。 プ ロ ジ ェ ク ト の ソ ース デ ィ レ ク ト リ の派生デ ィ レ ク ト リ でないデ ィ レ ク ト リ は ス キ ャ ン さ れ ません。 プ ロ ジ ェ ク ト デ ィ レ ク ト リ に新規フ ァ イ ルを追加 し た後、 [Synchronize Files] を実行す る と 、 Source Insight プ ロ ジ ェ ク ト にそれ ら の新規フ ァ イ ルが自動的に追加 さ れ ます。 [Force all files to be re-parsed] オ ン の場合、 Source Insight は タ イ ム ス タ ン プ を無視 し 、 プ ロ ジ ェ ク ト のすべての フ ァ イ ルを日付が古い フ ァ イ ル と 見な し て、 すべての フ ァ イ ルのシ ン ボル デー タ ベース を更新 し ます。 Source Insight のプ ロ ジ ェ ク ト デー タ フ ァ イ ルを完全に リ ビル ド す る 、 簡単で比較的高速な方法です。 オ フ の場合、 プ ロ ジ ェ ク ト で日付の古い フ ァ イ ルのみ更新 さ れ ます。 [Synchronize the current source file only] 現在ア ク テ ィ ブな ソ ース フ ァ イ ルのみ、 シ ン ボル デー タ ベース と 同期 さ れます。 カ レ ン ト ソ ース フ ァ イ ルで知 ら れていたすべてのシ ン ボル デー タ ベース情報を置換す る 効果があ り ます。 Source Insight ユーザー マニ ュ アル 319 コマン ド リ フ ァ レンス 第5章 [Suppress warning messages] オ ンの場合、 Source Insight は、 フ ァ イ ル を開けない / 読み取れない、 な ど の警告 メ ッ セージ を表示 し ません。 Syntax Decorations ソ ース フ ァ イ ル表示の構文修飾オプシ ョ ン を指定 し ます。 [Preferences] ダ イ ア ロ グ ボ ッ ク ス の [Syntax Decorations] タ ブ を表示 し ます。 Source Insight では、 一般的な演算子 と シ ン ボル文字を置換で き ます。 [Syntax Decorations] コ マ ン ド を使用す る と 、 使用 さ れ る 装飾を制御で き ます。 シ ン ボル装飾やシ ン ボル置換を行っ て も ソ ース フ ァ イ ルのテ キ ス ト は 変更 さ れ ません。 画面の表示が特別なシ ン ボルを使用す る よ う に変更 さ れ る だけです。 こ のため、 コ ー ド を編集ま たは検索す る 場合は、 演 算子を入力す る 必要があ り ます。 320 ページの 「Syntax Decorations」 も 参照 し て く だ さ い。 320 Source Insight ユーザー マニ ュ アル 第5章 [Display Substitutions] Syntax Decorations 特別な シ ン ボルに置換 さ れ る 演算子を制御 し ます。 [User operator substitutions listed below] 以下の演算子置換のグループ 全体を有効ま たは無効に し ます。 [Pointer field reference uses right arrow] -> ポ イ ン タ 演算子を → の よ う な実際の矢印に置換 し ます。 [Not Equal] != 不等号演算子を ≠ に置換 し ます。 [Equal] == 等号演算子を = に置換 し ます。 [Less Than or Equal] <= 演算子を ≤ に置換 し ます。 [Greater Than or Equal] >= 演算子を ≥ に置換 し ます。 [Assignment uses left arrow] = 代入演算子を ← に置換 し ます。 [Division] / 除算演算子を ÷ に置換 し ます。 [Logical AND] && 論理積を ∩ に置換 し ます。 [Logical OR] || 論理和を ∪ に置換 し ます。 [Scale nested parentheses] 入れ子の括弧で、 外部レベルを内部レベル よ り 大 き く 表示 し ます。 一致す る 括弧が見やす く な り ます。 [Auto Annotations] Source Insight では、 特定の注釈を ソ ース コ ー ド 表示に自動的に追加で き ます。 以下のオプシ ョ ン で注釈の表示を制御 し ます。 [Show arrows at goto statements] goto ス テー ト メ ン ト の ラ ベル名の隣 に、 上ま たは下矢印シ ン ボルを表示 し ます。 矢印は、 ラ x ルが goto ス テー ト メ ン ト 行の上にあ る か下にあ る か を示 し ます。 [Annotate closing braces with end-comments] 閉 じ 中括弧の後に終了 コ メ ン ト 注釈を表示 し ます。 終了 コ メ ン ト には、 ブ ロ ッ ク の開始の説明 が含まれ ます。 例 : [Annotate closing braces only for long blocks] ( 括弧を含めて ) 19 行以 上のブ ロ ッ ク のみ終了 コ メ ン ト 注釈を表示 し ます。 Source Insight ユーザー マニ ュ アル 321 第5章 コマン ド リ フ ァ レンス Syntax Formatting ソ ース フ ァ イ ル表示の構文フ ォ ーマ ッ ト オプシ ョ ン を指定 し ます。 [Preferences] ダ イ ア ロ グ ボ ッ ク ス の [Syntax Formatting] タ ブ を表示 し ま す。 Source Insight は、 言語パーサーが収集 し た情報を使用 し て ソ ース コ ー ド の書式を設定 し ます。 識別子は、 太字や斜体の よ う な効果に加え て、 異な る フ ォ ン ト やフ ォ ン ト サ イ ズで表示で き ます。 フ ォ ーマ ッ ト は 「ス タ イ ル」 を使用 し て適用 さ れ ます。 ス タ イ ルは フ ォ ーマ ッ ト プ ロ パテ ィ のセ ッ ト です。 た と えば、 ス タ イ ルで太字 + 斜体を指定 し ます。 各ス タ イ ルの フ ォーマ ッ ト プ ロ パテ ィ を編集す る には、 [Style Properties] コ マ ン ド を使用 し ます。 [Styles…] ス タ イ ル プ ロ パテ ィ を編集 し ます。 [Doc Types…] ド キ ュ メ ン ト タ イ プ を編集 し ます。 322 Source Insight ユーザー マニ ュ アル 第5章 Syntax Formatting Basic オプ シ ョ ン 以下の Basic オプシ ョ ン があ り ます。 [Use Syntax Formatting] オ ン の場合、 Source Insight は構文フ ォ ーマ ッ ト を使用 し て ソ ース コ ー ド を表示 し ます。 オ フ の場合、 ソ ース コ ー ド は色やフ ォ ン ト を変更 し ないで表示 さ れ ます。 [Use only color formatting] フ ォ ン ト サ イ ズの変更、 太字や斜体の よ う な色以外のすべての フ ォーマ ッ ト プ ロ パテ ィ は表示 さ れ ません。 色の 変更のみ表示 さ れ ます。 Source Insight の以前のバージ ョ ン でテ キ ス ト を表示 し ていた方法 と 同 じ です。 [Use no color formatting (monochrome)] オ ンの場合、 Source Insight は すべての色の変更を表示 し ません。 テ キ ス ト は白黒お よ び灰色で表示 さ れ ます。 [Apply Styles for Language Elements] Source Insight は、 語彙 と 文脈の意味に基づいて ト ー ク ン を表示す る よ う に ス タ イ ルを適用 し ます。 こ のグループの各オプシ ョ ン を使用す る と 、 よ り 精巧な フ ォ ーマ ッ ト が可能にな り ます。 [Symbol declarations] シ ン ボルの宣言を、 適切な 「Declare…」 ス タ イ ルで フ ォ ーマ ッ ト し ます。 た と えば、 関数名を宣言す る と 、 「Declare Function」 ス タ イ ルで フ ォ ーマ ッ ト さ れ ます。 [Function local symbol declarations] ロ ーカル関数ス コ ープ変数 と 他の シ ン ボルの宣言を、 適切な 「Declare…」 ス タ イ ルで フ ォーマ ッ ト し ま す。 ロ ーカル変数 と 関数パ ラ メ ー タ も 含まれ ます。 [References to function-local symbols] ロ ーカル関数ス コ ープ変数 と シ ン ボルへの参照を、 適切な 「Ref to…」 ス タ イ ルで フ ォーマ ッ ト し ま す。 た と えば、 ロ ーカル変数への参照 ( 使用 ) は、 「Ref to Local」 ス タ イ ルで フ ォーマ ッ ト さ れます。 [References to non-function-local symbols] ク ラ ス ス コ ープやグ ロ ーバ ル ス コ ープの よ う な、 関数ス コ ープの外部で宣言 さ れたシ ン ボルへの 参照を、 適切な 「Ref to…」 ス タ イ ルで フ ォ ーマ ッ ト し ます。 こ のオプ シ ョ ン を オ ンにす る と 、 多 く の作業が行われ る ため、 表示は遅 く な り ます。 参照情報はキ ャ ッ シ ュ さ れ る ため、 コ ー ド の一部が処理 さ れ る と 、 その後の表示は速 く な り ます。 [References to members] 構造体 と ク ラ ス メ ンバへの参照を、 「Ref to Member」 ス タ イ ルで フ ォ ーマ ッ ト し ます。 メ ンバ参照の正確 さ は、 [Qualify references to members] オプシ ョ ン で制御で き ます。 [Special comment styles] Source Insight は、 特別な //1-4 コ メ ン ト 見出 し ト ー ク ン で制御 さ れ る 特別な コ メ ン ト ス タ イ ル と コ メ ン ト の配置を Source Insight ユーザー マニ ュ アル 323 第5章 コマン ド リ フ ァ レンス サポー ト し てい ます。 こ のオプシ ョ ンがオ ンの場合、 Source Insight は、 こ れ ら の特別な コ メ ン ト に適切な コ メ ン ト ス タ イ ルを適用 し ます。 コ メ ン ト 見出 し コ メ ン ト 見出 し ス タ イ ルは、 1 か ら 4 の数字で始ま る コ メ ン ト です。 例: //1 This is heading one. //2 This is heading two. コ メ ン ト ス タ イ ルが使用 さ れ る と 、 コ メ ン ト の先頭の //x が非表示に な り 、 見出 し ス タ イ ル フ ォ ーマ ッ ト が行の残 り に適用 さ れ ます。 [Inactive conditional code blocks] 非ア ク テ ィ ブ条件付 き コ ー ド ブ ロ ッ ク の コ ー ド を、 「Inactive Code」 ス タ イ ルで フ ォ ーマ ッ ト し ます。 非ア ク テ ィ ブ コ ー ド ブ ロ ッ ク と は、 非ア ク テ ィ ブな #ifdef、 #if、 #elif、 ま たは #else 分岐に含ま れてい る コ ー ド の こ と です。 条件の状態は、 [Edit Condition] コ マ ン ド を使用 し て制御で き ます。 [Symbol Reference Lookups] 潜在的な参照に遭遇す る と 、 Source Insight はシ ン ボルが ど こ で宣言 さ れてい る か確認 し ます。 こ のグループのオプシ ョ ンは、 Source Insight がプ ロ ジ ェ ク ト で宣言 さ れたシ ン ボルへの参照を ど の よ う に解決す る か制御 し ます。 [Search in the Project Symbol Path] Source Insight は、 カ レ ン ト プ ロ ジ ェ ク ト だけでな く 、 プ ロ ジ ェ ク ト シ ン ボル パ ス にあ る すべてのプ ロ ジ ェ ク ト で も 宣言を検索 し ます。 [Qualify references to members] オ ンの場合、 Source Insight は メ ンバ宣 言を 「Ref to Member」 ス タ イ ルで フ ォ ーマ ッ ト す る 前に、 その メ ンバ 宣言が存在す る か ど う か確認 し ます。 オ フ の場合、 Source Insight は、 構文的に メ ンバ参照 と 思われ る ト ー ク ン を 「Ref to Member」 ス タ イ ルで フ ォ ーマ ッ ト し ます。 メ ンバが実際 に存在す る と い う 保証はあ り ません。 例 : PtrFoo->somemember // FooThing.somemember // looks like a member reference looks like a member reference [Qualify references to functions] オ ンの場合、 Source Insight は関数宣言 を 「Ref to Function」 ス タ イ ルで フ ォーマ ッ ト す る 前に、 その関数宣言 が存在す る か ど う か確認 し ます。 324 Source Insight ユーザー マニ ュ アル 第5章 Tile Horizontal オ フ の場合、 Source Insight は、 構文的に関数呼び出 し と 思われ る ト ー ク ン を 「Ref to Function」 ス タ イ ルで フ ォ ーマ ッ ト し ます。 関数が実際 に存在す る と い う 保証はあ り ません。 例 : SomeFunction(x) // looks like a function reference Tile Horizontal すべての ウ ィ ン ド ウ を重な ら ない よ う に整列 し ます。 ウ ィ ン ド ウ は横 長にな る よ う に ( 上下に並べて ) 表示 さ れ ます。 複数の フ ァ イ ルを上 下に並べて表示す る 際に便利です。 Tile One Window カ レ ン ト ウ ィ ン ド ウ 以外の ウ ィ ン ド ウ を最小化 し ます。 カ レ ン ト ウ ィ ン ド ウ は Source Insight ウ ィ ン ド ウ の ワ ー ク スペース領域でほぼ最大化 さ れ ます。 Tile Two Windows 2 つの ウ ィ ン ド ウ を分割 し て表示 し ます。 最初の ウ ィ ン ド ウ にカ レ ン ト ウ ィ ン ド ウ が含まれます。 別の ウ ィ ン ド ウ には、 以前のカ レ ン ト ウ ィ ン ド ウ ( 最後に表示 し た ウ ィ ン ド ウ ) が含まれます。 こ の コ マ ン ド は、 2 つ以上の ウ ィ ン ド ウ を開いてい る 場合にのみ使用で き ます。 Tile Vertical すべての ウ ィ ン ド ウ を重な ら ない よ う に整列 し ます。 ウ ィ ン ド ウ は縦 長にな る よ う に ( 左右に並べて ) 表示 さ れ ます。 複数の フ ァ イ ルを左 右に並べて表示す る 際に便利です。 [Toggle Extend Mode] 拡張モー ド のオ ン、 オ フ を切 り 替え ます。 拡張モー ド がオ ンの場合、 [Cursor Up]、 [Cursor Down]、 [Top of Window]、 お よ び [Go To Line] の よ う な移動 コ マ ン ド を使用す る と 、 現在の選択範囲が新 し い場所に拡張 さ れ ます。 拡張モー ド がオ フ の場合、 移動 コ マ ン ド を使用す る と 、 挿 入ポ イ ン ト が指定 さ れた場所に移動 し ます。 Toggle Insert Mode 挿入モー ド と 上書 き モー ド を切 り 替え ます。 挿入モー ド では、 入力 し た文字は挿入ポ イ ン ト の前に挿入 さ れ ます。 上書 き モー ド では、 入力 し た文字は挿入ポ イ ン ト の文字 と 置換 さ れ ます。 Top of File 挿入ポ イ ン ト を カ レ ン ト フ ァ イ ルの最初の行の行頭に移動 し ます。 Source Insight ユーザー マニ ュ アル 325 コマン ド リ フ ァ レンス 第5章 Top of Window 挿入ポ イ ン ト を ア ク テ ィ ブな ウ ィ ン ド ウ に表示 さ れてい る 最初の行の 行頭に移動 し ます。 Touch All Files in Relation こ の コ マ ン ド は、 リ レーシ ョ ン ウ ィ ン ド ウ の右 ク リ ッ ク メ ニ ュ ーか ら 選択で き ます。 リ レーシ ョ ン ウ ィ ン ド ウ に現在表示 さ れてい る すべて の フ ァ イ ルを タ ッ チ ( フ ァ イ ルの更新日時 タ イ ム ス タ ンプ を更新 ) し ます。 リ レーシ ョ ン ウ ィ ン ド ウ に表示 さ れてい る シ ン ボルを含むすべての フ ァ イ ルを再 コ ンパ イ ルす る 場合に役立ち ます。 リ レーシ ョ ン ウ ィ ン ド ウ に参照が表示 さ れてい る 場合に特に便利です。 326 Source Insight ユーザー マニ ュ アル 第5章 Typing Options Typing Options 入力 と 編集オプシ ョ ン を指定 し ます。 [Preferences] ダ イ ア ロ グ ボ ッ ク ス の [Typing] タ ブ を表示 し ます。 [Highlight matching parentheses while typing] オ ンの場合、 閉 じ 括弧や 閉 じ 中括弧を入力す る と き に対応す る 括弧ま たは中括弧がハ イ ラ イ ト 表示 さ れ ます。 新 し い ソ ース コ ー ド を入力す る と き に対応す る 括弧や 中括弧を確認す る のに便利です。 [Keep cursor in window when paging up and down] オ ン の場合、 ウ ィ ン ド ウ を ス ク ロ ール し た場合で も 挿入ポ イ ン ト のカー ソ ルを ア ク テ ィ ブ Source Insight ユーザー マニ ュ アル 327 第5章 コマン ド リ フ ァ レンス な ウ ィ ン ド ウ 内に表示 し ます。 オ フ の場合、 ス ク ロ ールに関係な く 、 挿入ポ イ ン ト の位置は変更 さ れません。 [Use block cursor shape] オ ン の場合、 挿入ポ イ ン ト のカー ソ ルは I ビーム ではな く ブ ロ ッ ク で表示 さ れます。 [Use Smart Tab for field selections] オ ン の場合、 Tab キーを押 し た と き に [Smart Tab] コ マ ン ド を起動 し ます。 Smart Tab を参照 し て く だ さ い。 [Typing tab indents line, regardless of selection] オ ン の場合、 Tab キー を押す と 行全体が イ ンデン ト さ れます。 [Back Tab] コ マ ン ド は逆に イ ンデン ト し ます。 オ フ の場合、 Tab キーを押す と タ ブ ス ト ッ プが挿入 さ れ ます。 [Typing tab replaces current selection] オ ン の場合、 Tab キーを押す と 現在の選択範囲が置換 さ れ ます。 た と えば、 単語を選択 し てい る 場合、 タ ブ を入力す る と 、 その単語が タ ブに置換 さ れます。 オ フ の場合、 タ ブは選択範囲の左に挿入 さ れ ます。 1 行ま たは複数行が選択 さ れてい る 場合、 Tab キーを押す と 行全体が イ ンデン ト さ れます。 [Indent commands affect #-preprocessor statements] オ ン の場合、 [Indent Right] お よ び [Indent Left] コ マ ン ド を実行す る と 、 #ifdef の よ う な C プ リ プ ロ セ ッ サ ス テー ト メ ン ト で開始す る 行が イ ンデン ト ま たは ア ウ ト デン ト さ れ ます。 オ フ の場合、 コ マ ン ド を実行 し て も こ れ ら の 行では効果があ り ません。 [Use intelligent paste] 拡張貼 り 付け を有効に し ます。 テ キ ス ト を貼 り 付け る と き の動作は、 状況に応 じ て次の よ う に変更 さ れ ます。 • 挿入ポ イ ン ト が行末以外にあ る 場合、 カ レ ン ト 行の上に行全体 が挿入 さ れ ます。 挿入ポ イ ン ト が行末にあ る 場合、 カ レ ン ト 行 の下に新 し い行が挿入 さ れ ます。 • 挿入 さ れたテ キ ス ト は、 他の行 と 一致す る よ う に自動的に イ ン デン ト さ れ ます。 拡張貼 り 付けは、 [Paste]、 [Paste Line]、 [Drag Line Up/Down] コ マ ン ド 、 ク リ ッ プ ウ ィ ン ド ウ 、 お よ び ド ラ ッ グ ア ン ド ド ロ ッ プで使用で き ます。 [Document Options] ダ イ ア ロ グ ボ ッ ク ス で、 ド キ ュ メ ン ト タ イ プ ご と に拡張貼 り 付け を有効にす る こ と も で き ます。 194 ページの 「Document Options」 も 参照 し て く だ さ い。 [Always select pasted text after pasting whole lines] オ ン の場合、 行全 体を貼 り 付けた後、 貼 り 付けたテ キ ス ト を選択 し ます。 [After pasting, select:] 貼 り 付け コ マ ン ド を使用 し た後、 貼 り 付けたテ キ ス ト の ど の部分を選択す る か指定 し ます。 [Auto Completion] 328 自動補完機能の動作を カ ス タ マ イ ズ し ます。 Source Insight ユーザー マニ ュ アル 第5章 Typing Options 文字の入力を開始す る と 、 自動補完 ウ ィ ン ド ウ が表示 さ れ ます。 こ の 機能の目的は、 入力す る 可能性のあ る 識別子の リ ス ト を提供す る こ と で、 入力す る 文字数を減 ら す こ と です。 補完 ウ ィ ン ド ウ に表示 さ れ る シ ン ボルは、 カー ソ ルの位置、 参照 し てい る 変数の タ イ プの よ う に、 コ ン テ キ ス ト に依存 し ます。 [Use automatic symbol completion window] 自動補完 ウ ィ ン ド ウ を有効 に し ます。 こ のオプシ ョ ンがオ フ の場合で も 、 [Complete Symbol] コ マ ン ド を手動で起動す る こ と で自動補完機能を使用で き ます。 [Use detailed completion window] 自動補完 ウ ィ ン ド ウ に、 パ ラ メ ー タ リ ス ト の よ う な関数に関す る 詳細を表示 し ます。 [Insert parameters for functions] 関数の名前に加え て、 関数のパ ラ メ ー タ リ ス ト を挿入 し ます。 リ ス ト の挿入は、 挿入ポ イ ン ト の右にパ ラ メ ー タ の括弧付 き リ ス ト が存在 し ない場合にのみ行われ ます。 [Insert spaces between parameters] スペース文字が関数パ ラ メ ー タ の 間に挿入 さ れ ます。 オ フ の場合、 パ ラ メ ー タ は スペース な し で挿入 さ れ ます。 [Insert space after function name] スペース文字が関数名 と 開 き 括弧の 前に挿入 さ れ ます。 [Use completion window inside comments] コ メ ン ト の入力中に自動補 完機能を有効に し ます。 こ のオプシ ョ ンがオ フ の場合で も 、 [Complete Symbol] コ マ ン ド を手動で起動す る こ と で自動補完機能を使用で き ま す。 [Use case-sensitive matching] シ ン ボルの大文字 と 小文字を区別 し て自 動補完 ウ ィ ン ド ウ に リ ス ト し ます。 こ のオプシ ョ ン がオ フ の場合、 入 力 し たシ ン ボルは大文字 と 小文字を区別 し ないで リ ス ト さ れ ます。 し か し 、 Source Insight は入力 し た内容 と 一致す る 項目を選択 し よ う と し ます。 [Tab key selects item] オ ンの場合、 自動補完 ウ ィ ン ド ウ の表示中に Tab キーを押す と 、 リ ス ト で選択 し てい る 項目が挿入 さ れます。 こ のオプ シ ョ ンがオ フ の場合、 Tab キーを押す と タ ブが挿入 さ れ ます。 ど んな 場合で も 、 Enter キーを押す と 、 選択 し てい る 項目が挿入 さ れます。 [Browsing in Lists] シ ン ボル リ ス ト お よ びフ ァ イ ル リ ス ト で入力 し てい る と き の自動補完 の動作を カ ス タ マ イ ズ し ます。 [Match syllables while typing] デフ ォ ル ト でシ ラ ブル マ ッ チン グ を有効 に し ます。 こ のオプシ ョ ンがオ フ の場合で も 、 スペース文字を最初に 入力 し た後、 入力を続け る こ と で、 シ ラ ブル マ ッ チン グ を使用で き ま す。 [Match members while typing] ク ラ ス と 構造体 メ ンバが入力に従っ て一 致 さ れ ます。 フル シ ン ボル名は、 シ ン ボルの最上位の コ ン テナで始ま Source Insight ユーザー マニ ュ アル 329 第5章 コマン ド リ フ ァ レンス る パ ス の よ う な も のです。 た と えば、 ク ラ ス メ ンバの名前は、 MyClass.member の よ う にな り ます。 こ のオプシ ョ ンがオ ンの場合、 「member」 のみ入力で き ます。 オ フ の場合、 完全な シ ン ボル名のみ一 致 さ れ ます。 こ のオプシ ョ ン を オ フ に し てい る 場合で も 、 次の よ う に 先頭に ド ッ ト (.) を入力す る こ と で、 こ の機能を使用で き ます。 .member Undo カ レ ン ト フ ァ イ ルで最後に行っ た コ マ ン ド の動作を元に戻 し ます。 た と えば、 テ キ ス ト を入力 し て [Undo] を実行す る と 、 入力 し たテ キ ス ト が削除 さ れます。 逆に、 テ キ ス ト を削除 し て [Undo] を実行す る と 、 削 除 し たテ キ ス ト が元に戻 さ れます。 フ ァ イ ルを編集す る と 、 Source Insight は各フ ァ イ ルに加え た変更の リ ス ト を作成 し ます。 [Undo] コ マ ン ド は リ ス ト を戻 し 、 [Redo] コ マ ン ド は リ ス ト を進め ます。 操作履歴は、 開いてい る 各フ ァ イ ルについて別々に保存 さ れ ます。 カ ー ソ ルの移動を元に戻す カー ソルの移動を 元に戻すには、 [Go Back] コ マ ン ド を使用 し ます。 [Undo] コ マ ン ド は、 他のい く つかのエデ ィ タ と 同様に、 カー ソ ルの移 動を元に戻 し ません。 Source Insight で、 カー ソ ルの移動の履歴を利用 す る 最適な方法は、 [Go Back] お よ び [Go Forward] コ マ ン ド を使用す る こ と です。 すべての変更を元に戻す [Undo] コ マ ン ド を連続 し て使用す る と 、 すべての変更を元に戻す こ と がで き ます。 ま た、 [Undo All] コ マ ン ド を使用す る と 、 カ レ ン ト フ ァ イ ルを最後に開いた後に行っ た すべての変更を元に戻す こ と がで き ま す。 操作履歴 フ ァ イ ルを開いてい る 限 り 、 フ ァ イ ルを保存 し た後、 操作履歴が管理 さ れ ます。 操作履歴は、 フ ァ イ ルを閉 じ た と き 、 ま たは [Checkpoint] コ マ ン ド を使用 し て最終保存を行 う と 破棄 さ れます。 [Options > Preferences: Files] ダ イ ア ロ グ ボ ッ ク ス を使用 し て、 フ ァ イ ル保存後の 操作を元に戻せ る か ど う か制御で き ます。 フ ァ イ ルを保存 し た後、 い く つかの操作を元に戻す こ と は可能です。 こ の場合、 デ ィ ス ク に保存 さ れた フ ァ イ ルは、 カ レ ン ト バ ッ フ ァ よ り も 多 く の操作が行われた状態にな り ます。 こ の違いが問題 と な る こ と があ り ます。 こ の問題を防 ぐ ため、 Source Insight では、 ロ ー ド さ れた バ ッ フ ァ がデ ィ ス ク 上の フ ァ イ ル と 異な る 場合、 フ ァ イ ル名がア ス タ リ ス ク 付 き で表示 さ れ ます。 フ ァ イ ルが保存 さ れた時点 よ り も 前の状 態に戻そ う と す る と 、 Source Insight は確認 メ ッ セージ を表示 し ます。 330 Source Insight ユーザー マニ ュ アル 第5章 Undo All 行を元に戻す 行を元に戻すには、 [Restore Lines] コ マ ン ド を使用 し ます。 こ の コ マ ン ド は、 選択 し てい る 行の内容を最初に フ ァ イ ルを開いた と き の状態に 戻 し ます。 さ ら に、 [Restore Lines] コ マ ン ド は [Undo] コ マ ン ド を元に 戻す こ と も で き ます。 [Undo] と [Restore Lines] コ マ ン ド を組み合わせ て使用す る と 非常に便利です。 Undo All カ レ ン ト フ ァ イ ルを最後に開いた後に行っ たすべての変更を元に戻 し ます。 [Undo]、 [Redo]、 [Redo All] コ マ ン ド も 参照 し て く だ さ い。 Vertical Scroll Bar カ レ ン ト ウ ィ ン ド ウ の垂直ス ク ロ ール バーの表示を切 り 替え ます。 すべての ウ ィ ン ド ウ の垂直ス ク ロ ール バーの表示を設定す る には、 [Preferences: Display] ダ イ ア ロ グ ボ ッ ク ス の [Vertical scroll bars for each new window] オプシ ョ ン を使用 し ます。 View Relation Outline リ レーシ ョ ン ウ ィ ン ド ウ の ツ リ ー デー タ を ア ウ ト ラ イ ン形式で表示 し ます。 59 ページの 「 リ レーシ ョ ン ウ ィ ン ド ウ 」 も 参照 し て く だ さ い。 View Relation Window Horizontal Graph リ レーシ ョ ン ウ ィ ン ド ウ の ツ リ ー デー タ を横の ツ リ ー グ ラ フ ビ ュ ー で ( 左か ら 右に ) 表示 し ます。 59 ページの 「 リ レーシ ョ ン ウ ィ ン ド ウ 」 も 参照 し て く だ さ い。 View Relation Window Vertical Graph リ レーシ ョ ン ウ ィ ン ド ウ の ツ リ ー デー タ を縦の ツ リ ー グ ラ フ ビ ュ ー で ( 上か ら 下に ) 表示 し ます。 59 ページの 「 リ レーシ ョ ン ウ ィ ン ド ウ 」 も 参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 331 第5章 コマン ド リ フ ァ レンス Window List 開いてい る ソ ース ウ ィ ン ド ウ と フ ァ イ ル バ ッ フ ァ の リ ス ト を管理 し ま す。 ウ ィ ン ド ウ に表示 さ れていない フ ァ イ ル バ ッ フ ァ も リ ス ト し ま す。 Window リ ス ト 開いてい る ソ ース ウ ィ ン ド ウ と 、 表示 さ れずに 「バ ッ ク グ ラ ウ ン ド で」 開かれてい る も の を含むフ ァ イ ル バ ッ フ ァ の リ ス ト です。 ウ ィ ン ド ウ リ ス ト は、 名前順ま たは最近使用 し た順に ソ ー ト で き ます。 リ ス ト を ソ ー ト す る には、 リ ス ト の上部にあ る 見出 し タ イ ト ルを ク リ ッ ク し ます。 [Activate] 選択 し てい る ウ ィ ン ド ウ を表示 し ます。 [Close Window] 選択 し てい る ウ ィ ン ド ウ を閉 じ ます。 [Save] 選択 し てい る フ ァ イ ルを保存 し ます。 [Save As] 選択 し てい る 各フ ァ イ ルについて、 [Save As] コ マ ン ド を実 行 し ます。 [Minimize] 選択 し てい る ウ ィ ン ド ウ を最小化 し ます。 [Restore] 選択 し てい る ウ ィ ン ド ウ を元に戻 し ます。 [Tile Horiz] 選択 し てい る ウ ィ ン ド ウ を上下に並べて表示 し ます。 [Tile Vert] 選択 し てい る ウ ィ ン ド ウ を左右に並べて表示 し ます。 332 Source Insight ユーザー マニ ュ アル 第5章 Word Left Word Left 挿入ポ イ ン ト を 1 単語左に移動 し ます。 Word Right 挿入ポ イ ン ト を 1 単語右に移動 し ます。 Zoom Window カ レ ン ト ウ ィ ン ド ウ が最大化 さ れていない場合、 ウ ィ ン ド ウ を最大化 し ます。 カ レ ン ト ウ ィ ン ド ウ が既に最大化 さ れてい る 場合、 ウ ィ ン ド ウ を最大化す る 前のサ イ ズに戻 し ます。 Source Insight ユーザー マニ ュ アル 333 コマン ド リ フ ァ レンス 334 第5章 Source Insight ユーザー マニ ュ アル 第6章 マ ク ロ言語ガイ ド こ の章では、 Source Insight のマ ク ロ 言語について説明 し ます。 Source Insight のマ ク ロ 言語の構文は C 言語に似てい ます。 こ の章は、 プ ロ グ ラ ミ ン グの基本概念について理解 し てい る こ と を前提に し てい ます。 マ ク ロ言語の概要 Source Insight では、 コ マ ン ド ス ク リ プ ト の記述、 特殊な フ ォーマ ッ ト テ キ ス ト の挿入、 お よ び編集操作の自動化に便利な C 言語に似たマ ク ロ 言語が用意 さ れてい ます。 マ ク ロ は拡張子 .EM のテ キ ス ト フ ァ イ ルに保存 さ れます。 こ の フ ァ イ ルは、 プ ロ ジ ェ ク ト 、 プ ロ ジ ェ ク ト シ ン ボル パ ス にあ る プ ロ ジ ェ ク ト 、 ま たはベース プ ロ ジ ェ ク ト に追加 さ れ ます。 プ ロ ジ ェ ク ト にマ ク ロ フ ァ イ ルが追加 さ れ る と 、 フ ァ イ ル内のマ ク ロ 関数は、 [Key Assignments] ダ イ ア ロ グ ボ ッ ク ス ま たは [Menu Assignments] ダ イ ア ロ グ ボ ッ ク ス でユーザーレベル コ マ ン ド と し て利用で き る よ う にな り ま す。 Source Insight ユーザー マニ ュ アル 335 第6章 マ ク ロ言語ガ イ ド 基本的な構文規則 Source Insight のマ ク ロ 言語では大文字 と 小文字は区別 さ れ ません。 他 のほ と ん ど の言語 と 同様に、 空白は無視 さ れます。 セ ミ コ ロ ンは必要 な く 、 無視 さ れ ます。 変数名は、 数字ではな く 、 文字で始め る 必要が あ り ます。 マ ク ロ関数 マ ク ロ 関数は、 C 関数に似た フ ォ ーマ ッ ト で宣言 さ れ ます。 空白は無 視 さ れ ます。 関数名 と 変数名は大文字 と 小文字が区別 さ れません。 マ ク ロ の形式 : macro my_macro() { /* comments */ ..statements.. } // comments マ ク ロ 関数はパ ラ メ ー タ を持つ こ と がで き ます。 ま た、 他のマ ク ロ を 呼び出す こ と も で き ます。 「return n」 ( こ こ で n は リ タ ーン値 ) を使用 し て、 マ ク ロ か ら 値を返す こ と がで き ます。 例 : macro add2(n) { return n + 2 } マ ク ロの範囲 と 参照 すべてのマ ク ロ関 数は 「グローバ ル」 です。 開いてい る フ ァ イ ルで宣言 さ れてい る マ ク ロ 、 プ ロ ジ ェ ク ト に保存 さ れてい る マ ク ロ 、 プ ロ ジ ェ ク ト シ ン ボル パ ス にあ る プ ロ ジ ェ ク ト のマ ク ロ な ど、 すべてのマ ク ロ が同 じ グ ロ ーバル ス コ ープにあ り ます。 つ ま り 、 マ ク ロ の前方参照を行 う こ と がで き ます。 マ ク ロ を呼び出す前 に宣言す る 必要はあ り ません。 Source Insight は、 シ ン ボル参照エ ン ジ ン を使用 し て、 マ ク ロ の実行時 お よ びユーザーに よ る マ ク ロ コ マ ン ド の呼び出 し 時に、 マ ク ロ 名への 参照を解決 し ます。 そのため、 シ ン ボル参照規則は、 マ ク ロ 名のバ イ ンデ ィ ン グに適用 さ れ ます。 シ ン ボル参照についての詳細は、 「Source Insight の概念」 の章の 「シ ン ボルお よ びプ ロ ジ ェ ク ト について」 を参 照 し て く だ さ い。 ま た、 さ ま ざ ま なシ ン ボル参照手法を使用 し て、 編集中にマ ク ロ 関数 を検索す る こ と も で き ます。 ( 「Source Insight の概要」 の章の 「プ ロ ジ ェ ク ト シ ン ボル パ ス の検索」 を参照 し て く だ さ い。 ) た と えば、 [Browse Project Symbols] ダ イ ア ロ グ ボ ッ ク ス でマ ク ロ 名を入力 し て、 その定義にジ ャ ン プ し ます。 336 Source Insight ユーザー マニ ュ アル 第6章 マ ク ロ言語の概要 マ ク ロの実行 マ ク ロ は、 キース ト ロ ー ク を入力す る か、 ま たは メ ニ ュ ー項目を選択 し 、 直接マ ク ロ コ マ ン ド を呼び出 し て実行 し ます。 ま た、 [Run Macro] コ マ ン ド を使用 し て、 現在のカー ソ ル位置で macro ス テー ト メ ン ト を 実行す る こ と も で き ます。 コ マ ン ド と し てのマ ク ロ ユーザーレベル コ マ ン ド は、 パラ メ ー タ がないマ ク ロ関数です。 Source Insight は、 パ ラ メ ー タ がないマ ク ロ 関数を ユーザーレベル コ マ ン ド と 見な し ます。 マ ク ロ コ マ ン ド は、 [Key Assignments] ダ イ ア ロ グ ボ ッ ク スお よ び [Menu Assignments] ダ イ ア ロ グ ボ ッ ク ス の コ マ ン ド リ ス ト に表示 さ れ ます。 こ こ で、 メ ニ ュ ーやキーマ ッ プにマ ク ロ コ マ ン ド を割 り 当て る こ と がで き ます。 ま た、 こ れ ら のダ イ ア ロ グ ボ ッ ク ス か ら 直接 コ マ ン ド を実行す る こ と も で き ます。 マ ク ロ 関数にパ ラ メ ー タ があ る 場合は、 コ マ ン ド と し て コ マ ン ド リ ス ト に表示 さ れません。 ま た、 キース ト ロ ー ク を割 り 当て た り 、 メ ニ ュ ーに割 り 当て る こ と も で き ません。 ヒ ン ト : ユーザーレベル マ ク ロ コ マ ン ド 編集のシ ョ ー ト カ ッ ト は、 コ マ ン ド を選択 し なが ら 、 [Ctrl] キーを押 し た ま ま の状態に し ます。 その コ マ ン ド のマ ク ロ 関数 ソ ース コ ー ド が表示 さ れます。 マ ク ロ フ ァ イ ルで新規マ ク ロ 関数を作成す る 場合、 [Menu Assignments] お よ び [Key Assignments] ダ イ ア ロ グの コ マ ン ド リ ス ト で マ ク ロ コ マ ン ド を表示す る 前に、 マ ク ロ フ ァ イ ルを保存 し て、 Source Insight がマ ク ロ フ ァ イ ル と プ ロ ジ ェ ク ト デー タ ベース フ ァ イ ルを同 期で き る よ う にす る 必要があ り ます。 マ ク ロ は、 ベース プ ロ ジ ェ ク ト ま たはプ ロ ジ ェ ク ト シ ン ボル パ ス の プ ロ ジ ェ ク ト に保存す る こ と も で き ます。 マ ク ロ 名を解決す る と き 、 Source Insight は こ れ ら のプ ロ ジ ェ ク ト を検索 し ます。 メモ : Source Insight のマ ク ロ フ ァ イ ル ( 拡張子 .EM) に保存 さ れていない限 り 、 Source Insight はマ ク ロ 関数をユーザーレベル コ マ ン ド リ ス ト に 追加 し ません。 イ ン ラ イ ン マ ク ロ ス テー ト メ ン ト の実行 ソ ース フ ァ イルの コ メ ン ト でマ ク ロ ステー ト メ ン ト を 実行で き ます。 [Run Macro] コ マ ン ド は、 カー ソ ルのあ る 行か ら マ ク ロ ス テー ト メ ン ト の実行を開始 し ます。 こ の コ マ ン ド を使用す る と 、 任意の フ ァ イ ル のオープン コ ー ド マ ク ロ ス テー ト メ ン ト を実行で き ます。 こ れは、 マ ク ロ コ ー ド のテ ス ト と デバ ッ グ を行 う と き に便利です。 イ ン ラ イ ン マ ク ロ ス テー ト メ ン ト の実行は、 プ ロ グ ラ ム コ メ ン ト 内 にあ る 小 さ なユーテ ィ リ テ ィ マ ク ロ ス ク リ プ ト の実行に も 便利です。 最後に必ず Stop ス テー ト メ ン ト を使用 し て く だ さ い。 こ れを行わない Source Insight ユーザー マニ ュ アル 337 第6章 マ ク ロ言語ガ イ ド と 、 マ ク ロ イ ン タ ープ リ タ は コ メ ン ト の最後に達 し た後 も 実行 し 続け よ う と し ます。 た と えば、 C フ ァ イ ルの コ メ ン ト 内にあ る 次の イ ン ラ イ ン マ ク ロ は、 識別子 ucmMax への参照を検索 し 、 識別子 ucmMax を参照 し てい る す べての フ ァ イ ルを再 コ ンパ イ ル し ます。 こ の イ ン ラ イ ン マ ク ロ を実行 す る には、 最初の行にカー ソ ルを配置 し 、 [Run Macro] コ マ ン ド を呼び 出 し ます。 #define ucmMax120 /* Macro: touch all ucmMax references: // to run, place cursor on next line and invoke “Run Macro” hbuf = NewBuf("TouchRefs") // create output buffer if (hbuf == 0) stop SearchForRefs(hbuf, "ucmMax", TRUE) SetCurrentBuf(hbuf) // put search results in a window SetBufDirty(hbuf, FALSE); // don’t bother asking to save Stop */ ス テー ト メ ン ト マ ク ロ は、 個々の ス テー ト メ ン ト で構成 さ れます。 2 つ以上の ス テー ト メ ン ト のグループが中括弧 { } で囲ま れてい ます。 ス テー ト メ ン ト は以下のいずれかです。 • if ス テー ト メ ン ト や while ス テー ト メ ン ト な ど、 マ ク ロ 言語の ス テー ト メ ン ト 要素。 こ れ ら の ス テー ト メ ン ト については、 後 で説明 し ます。 • ユーザー定義マ ク ロ 関数の呼び出 し 。 マ ク ロ 関数は、 マ ク ロ ソ ース フ ァ イ ルで定義 し 、 保存 し ます。 • GetCurrentBuf な ど、 内部マ ク ロ 関数への呼び出 し 。 Source Insight では、 多 く の ビル ト イ ン関数が用意 さ れてい ます。 ビル ト イ ン関数については、 後のセ ク シ ョ ン で説明 し ます。 Line_Up or Copy な ど、 Source Insight のユーザー コ マ ン ド の呼び 出 し 。 マ ク ロ 言語では、 Source Insight のすべてのユーザーレベ ル コ マ ン ド を使用で き ます。 ユーザー コ マ ン ド を呼び出すに は、 コ マ ン ド 名だけ ( パ ラ メ ー タ な し ) を使用 し ます。 括弧は使 用 し ません。 コ マ ン ド 名に スペース が含まれてい る 場合、 ス ペース を下線 (_) に置換 し て く だ さ い。 た と えば、 [Select All] コ マ ン ド を呼び出すには、 次の よ う な ス テー ト メ ン ト を使用 し ま す : Select_All。 • 関数名 と 変数名は大文字 と 小文字が区別 さ れ ません。 338 Source Insight ユーザー マニ ュ アル 第6章 変数 ス テー ト メ ン ト 構文は、 C ま たは Java と 同 じ です。 ただ し 、 セ ミ コ ロ ンは必要な く 、 無視 さ れます。 C ま たは Java に慣れてい る 場合、 同 じ 要領で記述す る こ と がで き ます。 い く つかの ス テー ト メ ン ト の例を示 し ます。 hbuf = OpenBuf(“file.c”)// call internal function SaveBufAs(hbuf, “filenew.c”)// call internal function Select_All// call user-level command “Select All” Copy // call user-level command “Copy” Line_Up // call user-level command “Line Up” x = add2(n)// call user-defined macro function add2. stop ス テー ト メ ン ト を使用 し て実行を停止で き ます。 マ ク ロ か ら ダ イ ア ロ グ ボ ッ ク ス のあ る Source Insight コ マ ン ド を実行す る と 、 ダ イ ア ロ グ ボ ッ ク ス が表示 さ れます。 基本的なマ ク ロ 言語ス テー ト メ ン ト を次の表に要約 し ます。 表 6.1: マ ク ロ ス テー ト メ ン ト ス テー ト メ ン ト 説明 break while ループを終了 し ます。 if (cond)… else 条件を テ ス ト し ます。 continue while ループの先頭か ら 続行 し ま す。 return n 関数か ら n を リ タ ーン し ます。 stop マ ク ロ の実行を停止 し ます。 while (cond) cond が true の間ループ し ます。 変数 変数に値を割 り 当て て定義 し ます。 変数を宣言す る 必要はあ り ません。 し か し 、 var ス テー ト メ ン ト を使用 し て、 変数を明示的に宣言す る こ と も で き ます。 変数名は大文字 と 小文字が区別 さ れ ません。 変数名は、 数字ではな く 、 文字ま たは下線 (_) で始め る 必要があ り ます。 変数には型があ り ません。 すべての変数は文字列です。 C の よ う な型はな く 、 変数を宣言す る 必 要はあ り ません。 そのため、 簡単に変数を使用す る こ と がで き ます。 変換やキ ャ ス ト は必要あ り ません。 さ ら に、 文字列の メ モ リ 管理 も 不 要です。 Source Insight ユーザー マニ ュ アル 339 第6章 マ ク ロ言語ガ イ ド 変数の宣言 var ス テー ト メ ン ト は 1 つの ロ ーカル変数を宣言 し ます。 var variable_name 変数を宣言す る 必要はあ り ませんが、 変数の宣言にはい く つかの利点 があ り ます。 • 変数への参照の構文フ ォーマ ッ ト が有効にな る 。 • 変数が空の文字列 (nil) に初期化 さ れ る 。 そのため、 初期化せず に使用 し て も 、 リ テ ラ ル値 と 区別す る こ と がで き ます。 例: macro SomeFunction() { var localx } // "localx" is displayed with "Ref to Local" style localx = 0 ロ ーカル変数は、 その変数が定義 さ れてい る 関数の外部か ら はア ク セ ス で き ません。 変数の初期化 変数は、 値を割 り 当て る だけで初期化 さ れ ます。 空の文字列に初期化 す る と 便利です。 こ の場合、 特別な定数 nil を使用 し ます。 例: S = nil // s is set to the empty string S = "" // same thing グローバル変数 global ス テー ト メ ン ト は、 グ ロ ーバル変数の宣言に使用 し ます。 例 : macro SomeFunction() { global last_count ... } var ス テー ト メ ン ト で宣言 さ れた変数や割 り 当てに よ っ て作成 さ れた変 数は、 その ス テー ト メ ン ト が含まれてい る 関数の ロ ーカル変数です。 global ス テー ト メ ン ト は、 ロ ーカルではな く 、 グ ロ ーバル ス コ ープの 変数を宣言 し ます。 つま り 、 複数の関数か ら ア ク セ スす る こ と がで き ます。 340 Source Insight ユーザー マニ ュ アル 第6章 変数 global ス テー ト メ ン ト の変数は、 グ ロ ーバル ス コ ープ変数テーブルに 追加 さ れ ます。 グ ロ ーバル変数は、 「nil」 に初期化 さ れ ます。 こ の例 では、 グ ロ ーバルな カ ウ ン タ 変数の宣言方法 と 使用方法を紹介 し ます。 macro SomeFunction() { global last_count } グローバル変数の 値は、 Source Insight のセ ッ シ ョ ンの開始から終了 まで保持 さ れま す。 // this initializes it the first time through if last_count == nil last_count = 0 ... グ ロ ーバル変数は、 Source Insight のセ ッ シ ョ ン が有効な限 り 、 有効で す。 つま り 、 マ ク ロ 関数や イ ベン ト 関数の呼び出 し 間の情報を保持す る こ と がで き ます。 Source Insight を終了す る と 、 グ ロ ーバル変数は破 棄 さ れ ます。 global ス テー ト メ ン ト に到達す る と global ス テー ト メ ン ト が実行 さ れ ます。 global ス テー ト メ ン ト は ス テー ト メ ン ト の実行パ ス になければ な り ません。 global ス テー ト メ ン ト は関数内に配置 し て く だ さ い。 グ ロ ーバル変数は、 カ ウ ン タ の追加お よ び他の継続状態に便利です。 すべてのハン ド ルは、 マ ク ロ の終了時に破棄 さ れ る ため、 ハン ド ルは 保持で き ません 。 た と えば、 次の コ ー ド は使用で き ません 。 global hbuf hbuf = OpenBuf("abc.txt") 上記の例では、 マ ク ロ が終了す る と 、 hbuf 変数には正 し く ないハン ド ルが保持 さ れます。 変数名の拡張 識別子が定義 さ れてい る 変数名の場合、 識別子はそれ ら の文字列値に 拡張 さ れ ます。 そ う でない場合、 その ま ま使用 さ れ ます。 ま た、 二重 引用符で囲まれてい る 場合 も 、 その ま ま使用 さ れ ます。 例 : s = abc // same as s = "abc" if abc is not defined .. ま たは .. abc = Hello s = abc // same as s = "Hello" (if Hello is not defined!) s = "abc" // s equals "abc" 誤っ て変数の値 と し て変数名を使用 し ない よ う に、 var ス テー ト メ ン ト を使用 し て変数の宣言を行っ て く だ さ い。 Source Insight ユーザー マニ ュ アル 341 第6章 マ ク ロ言語ガ イ ド 文字列内の変数の拡張 @ 文字を使用 し て、 変数を別の文字列に挿入す る こ と がで き ます。 リ テ ラ ル文字列内に @ 文字で囲ま れた変数名があ る 場合、 Source Insight は @variable@ を その変数の値に置換 し ます。 例: S = “Hey, @username@, don’t break the build again!” こ の例は、 文字列内の @username@ を変数 username の値に置換 し ま す。 \@ ま たは @@ を使用 し て、 @ 文字を エ ス ケープで き ます。 例 : S = “Mail info@@company.com for information.” 変数の演算 変数は文字列 と し て表 さ れ ますが、 演算を行 う こ と がで き ます。 例 : s = "1" x = s + 2 // x now contains the string "3" y = 2 * x + 5// x now contains "11" 演算の前に、 変数 は数値に変換 さ れ ます。 変数を数値 と し て使用す る ために、 何 も す る 必要はあ り ません。 変数 が ど の よ う に保存 さ れてい る のか を考慮す る 必要 も あ り ません。 し か し 、 変数に数値 と し て評価 さ れない文字列が含まれてい る 場合は、 注 意が必要です。 こ の場合、 エ ラ ーが生成 さ れます。 例 : s = "hello" x = s + 1// error IsNumber 関数を呼び出 し て、 文字列が数値が ど う か を確認で き ます。 if (IsNumber(x)) x = x / 4 // okay to do arithmetic 浮動小数点数はサポー ト さ れてい ません。 文字列のイ ンデ ッ ク ス 変数のイ ンデ ッ ク ス を作成する と 、 1 文字の新規文字 列が作成 さ れま す。 変数の イ ンデ ッ ク ス を文字配列 と し て作成で き ます。 イ ンデ ッ ク ス は ゼ ロ ベース です。 例 : s = "abc" x = s[0] // x now contains the string "a" 変数の イ ンデ ッ ク ス を作成す る と 、 1 文字の新規文字列が作成 さ れま す。 342 Source Insight ユーザー マニ ュ アル 第6章 変数 最後の文字の次の イ ンデ ッ ク ス は、 空の文字列です。 こ れは、 C の 0 終端文字列に似てい ます。 \0 文字の代わ り に空の文字列が使用 さ れま す。 s = "abc" length = strlen(s) ch = s[length] // ch now contains the empty string if (ch == "") msg "End of string." レ コ ー ド 変数 レ コ ー ド 変数は構 造体に似ていま す。 C のデー タ 構造はサポー ト さ れてい ませんが、 集合型レ コ ー ド 変数は サポー ト さ れてい ます。 レ コ ー ド 変数は、 実際には 「name=value」 の リ ス ト です。 レ コ ー ド 変数の使用方法は、 C の構造体 と 同 じ です。 レ コ ー ド 変数は、 複数の値を返すのに便利なため、 い く つかの内部マ ク ロ 関数に よ っ て返 さ れます。 レ コ ー ド フ ィ ール ド は、 ド ッ ト (.) 演算子を使用 し て <recordvar>.<fieldname> 形式で参照 さ れ ます。 た と えば、 次の例は シ ン ボル参照レ コ ー ド 変数か ら フ ァ イ ル内のシ ン ボルの場所を読み取 り ます。 Filename = slr.file // get file field of slr LineNumber = slr.lnFirst // get lnFirst field of slr こ れに似た方法で、 レ コ ー ド 変数に値を割 り 当て ます。 userinfo.name = myname; // set “name” field of userinfo nil を割 り 当て て、 空の レ コ ー ド を初期化 し ます。 userinfo = nil// make a new empty record userinfo.name = “Jeff”// begin adding fields レ コ ー ド 変数の保存 レ コ ー ド 変数は、 長い文字列です。 文字列 と し て保存 さ れ ます。 各フ ィ ール ド は、 「fieldname=value」 と し てセ ミ コ ロ ン で区切っ て保存 さ れます。 例: name=”Joe Smith”;age=”34”;experience=”guru” Source Insight ユーザー マニ ュ アル 343 第6章 マ ク ロ言語ガ イ ド レ コ ー ド 変数の文字列を一か ら 作成す る 場合、 次の よ う に文字列を二 重引用符で囲み、 文字列内の各二重引用符には \" を使用 し てエ ス ケー プ し ます (C と 同 じ です )。 rec = “name=\”Joe Smith\”;age=\”34\”;experience=\”guru\”” ただ し 、 フ ィ ール ド ご と に割 り 当てたほ う が簡単です。 例 : Rec = nil // initializes as an empty string Rec.name = “Joe Smith” Rec.age = “34” Rec.experience = “guru” フ ィ ール ド に特定の順序はあ り ません。 事前に宣言 さ れ、 レ コ ー ド 変 数に関連付け ら てい る 構造体はあ り ません。 そのため、 値を割 り 当て る だけで、 新規フ ィ ールを追加で き ます。 例: Location = GetSymbolLocation(symname) Location.myOwnField = xyz// append a field when you feel like it! 配列手法 フ ァ イル バ ッ フ ァ を配列 と し て使用 で き ます。 344 Source Insight のマ ク ロ 言語は、 配列変数をサポー ト し てい ません。 し か し 、 フ ァ イ ル バ ッ フ ァ を動的配列 と し て使用す る こ と がで き ます。 バ ッ フ ァ 内のそれぞれの行は、 配列要素を表 し ます。 ま た、 レ コ ー ド 変数を各行に保存 し て レ コ ー ド 配列 と す る こ と も で き ます。 バ ッ フ ァ 関数については、 後のセ ク シ ョ ン で説明 し ます。 バ ッ フ ァ の 作成 と 破棄を行 う NewBuf お よ び CloseBuf や、 バ ッ フ ァ ラ イ ン関数の GetBufLine、 PutBufLine、 InsBufLine、 AppendBufLine、 DelBufLine、 GetBufLineCount な ど、 い く つかの便利な関数があ り ます。 ま た、 NewWnd は、 ウ ィ ン ド ウ に配列バ ッ フ ァ を配置 し 、 配列の内容を表示 す る こ と がで き ます。 Source Insight ユーザー マニ ュ アル 第6章 特別な定数 次の例は、 レ コ ー ド の配列バ ッ フ ァ を作成 し ます。 hbuf = NewBuf() rec = “name=\”Joe Smith\”;age=\”34\”;experience=\”guru\”” AppendBufLine(hbuf, rec) rec = “name=\”Mary X"\”;age=\”31\”;experience=\”intern\”” AppendBufLine(hbuf, rec) // hbuf now has 2 records in it … rec = GetBufLine(hbuf, 0) // retrieve 0th element CloseBuf(hbuf) 特別な定数 マ ク ロ を実行中に、 い く つかの定数値が定義 さ れ ます。 他のすべての 識別子 と 同様に、 定数名は大文字 と 小文字が区別 さ れ ません。 表 6.2: ラ ン タ イム定数 定数 値 True "1" False "0" Nil "" – 空の文字列。 hNil "0" – 無効なハン ド ル値。 invalid "-1" – 無効な イ ンデ ッ ク ス値。 演算子 ほ と ん ど のバ イ ナ リ 演算子は C と 同 じ です。 演算子の優先順位 も C と 同 じ です。 括弧を使用 し て、 式を グループ化す る こ と も で き ます。 表 6.3: 演算子 演算子 意味 + および - 加算お よ び減算 * および / 乗算お よ び除算 ! 否定ま たは "Not"。 た と えば、 !True は False と 同 じ です。 ++i お よ び i++ 前置お よ び後置 イ ン ク リ メ ン ト --i お よ び i-- 前置お よ び後置デ ク リ メ ン ト Source Insight ユーザー マニ ュ アル 345 第6章 マ ク ロ言語ガ イ ド 表 6.3: 演算子 演算子 意味 || 論理和演算 && 論理積演算 != 論理不等価演算 == 論理等価演算 < よ り 小さい > よ り 大きい <= 以下 >= 以上 # 文字列連結 "@var@" 変数式。 文字列内の変数を拡張す る ために、 引用 符で囲まれた文字列内で使用 さ れます。 変数には非数値が格納 さ れてい る こ と があ る ため、 関係演算子は次の よ う に処理 さ れます。 表 6.4: 文字列の関係演算子 演算子 意味 == 文字列は同 じ です ( 大文字 と 小文字が区別 さ れま す )。 != 文字列は同 じ ではあ り ません ( 大文字 と 小文字が 区別 さ れます )。 < > <= >= 文字列は数値に置換 さ れてか ら 比較 さ れます。 空 の文字列ま たは非数値の文字列は、 ラ ン タ イ ム エ ラ ーにな り ます。 条件およびループ : if-else と while Source Insight のマ ク ロ 言語は、 if ス テー ト メ ン ト お よ び while ス テー ト メ ン ト をサポー ト し てい ます。 346 Source Insight ユーザー マニ ュ アル 第6章 条件およびループ : if-else と while if ス テー ト メ ン ト if ス テー ト メ ン ト は、 条件を テ ス ト し 、 条件に基づいて 1 つま たは複 数の ス テー ト メ ン ト を実行す る のに使用 し ます。 if ス テー ト メ ン ト の 構文は次の と お り です。 if (condition) statement // condition is true 上記の例では、 条件が true の場合、 ス テー ト メ ン ト が実行 さ れ ます。 {} を使用 し て 2 つ以上の ス テー ト メ ン ト を グループ化す る こ と も で き ます。 例 : if (condition) { statement1 statement2 } if ス テー ト メ ン ト に else 節を追加す る こ と がで き ます。 if (condition) statement1 else statement2 // condition is true // condition is false while ス テー ト メ ン ト while ス テー ト メ ン ト は、 条件が true であ る 間、 ループ し ます。 while ス テー ト メ ン ト の構文は次の と お り です。 while (condition) statement // keeps executing statement until condition is false 上記の例では、 条件が true であ る 限 り 、 while ブ ロ ッ ク 内の ス テー ト メ ン ト が実行 さ れ ます。 条件は、 毎回ループの最初にテ ス ト さ れ ます。 Source Insight ユーザー マニ ュ アル 347 第6章 マ ク ロ言語ガ イ ド {} を使用 し て 2 つ以上の ス テー ト メ ン ト を グループ化す る こ と も で き ます。 例 : while (condition) { statement1 statement2 } break と continue break ス テー ト メ ン ト は while ループ を終了す る のに使用 し ます。 複数 の while ループが入れ子 さ れてい る 場合、 break ス テー ト メ ン ト は最内 ループ を終了 し ます。 while (condition) { if (should_exit) break // exit the while loop … } continue ス テー ト メ ン ト は、 ループの先頭 ( 条件式の評価 ) に移動 し ま す。 while (condition) { if (skip_rest_loop) continue // continue at the top of the while loop … } 条件の評価 Source Insight は、 毎回条件式全体を評価 し ます。 こ れは、 C の条件式 の評価方法 と は異な る 重要な点です。 C では式の一部だけが評価 さ れ る こ と があ り ます。 次の条件式について考え てみま し ょ う 。 if (hbuf != hNil && GetBufLineCount(hbuf) > x) hbuf が hNil の場合、 Source Insight では こ の条件式はエ ラ ーにな り ま す。 C では、 hbuf != hNil を評価 し た後に評価は終了 さ れます。 Source Insight では式全体が評価 さ れ ます。 こ の場合、 hNil がバ ッ フ ァ ハン ド ル と し て GetBufLineCount へ渡 さ れ る ためエ ラ ーにな り ます。 348 Source Insight ユーザー マニ ュ アル 第6章 命名規則 Source Insight では、 こ の ス テー ト メ ン ト は次の よ う に記述す る 必要が あ り ます。 if (hbuf != hNil) if (GetBufLineCount(hbuf) > x) 命名規則 こ のマ ク ロ 言語ガ イ ド の変数名 と 関数パ ラ メ ー タ 名には、 次の命名規 則が使用 さ れてい ます。 表 6.5: 識別子の命名規則 名前 意味 s お よ び sz 文字列 ch 単一文字。 文字列に複数の文字があ る 場合、 最 初の 1 文字のみ使用 さ れます。 ich 文字列内ま たは行内の文字へのゼ ロ ベース の イ ンデ ッ ク ス ichFirst 文字範囲内の最初の イ ンデ ッ ク ス ichLast 文字範囲内の最後の イ ンデ ッ ク ス ( 包括的 ) ichLim 限界 イ ンデ ッ ク ス - 範囲内の最後の イ ンデ ッ ク ス の次 cch 文字数 fThing 「f」 はフ ラ グ ま たは論理値を示 し ます。 fThing は 「Thing」 が True であ る こ と を意味 し ます。 TRUE 非ゼ ロ 値。 例 : 「1」 FALSE ゼ ロ 値。 例 : 「0」 ln ゼ ロ ベース の行番号 lnFirst 範囲内の最初の行番号 lnLast 範囲内の最後の行番号 ( 包括的 ) lnLim 限界 - 範囲内の最後の行番号の次 hbuf フ ァ イ ル バ ッ フ ァ へのハン ド ル hwnd ウ ィ ン ド ウへのハン ド ル hprj プ ロ ジ ェ ク ト へのハン ド ル hsyml シ ン ボル リ ス ト へのハン ド ル その他の名前 一般的な文字列変数 Source Insight ユーザー マニ ュ アル 349 第6章 マ ク ロ言語ガ イ ド 標準のレ コ ー ド 構造 レ コ ー ド 構造は C のデー タ 構造に似てい ます。 レ コ ー ド 変数は、 実際 には 「name=value」 の リ ス ト です。 レ コ ー ド 変数の使用方法は、 C の 構造体 と 同 じ です。 レ コ ー ド 変数は、 複数の値を返すのに便利なため、 い く つかの内部マ ク ロ 関数に よ っ て返 さ れ ます。 こ のセ ク シ ョ ン では、 Source Insight の内部マ ク ロ 関数で使用 さ れ る レ コ ー ド 構造について説明 し ます。 Bookmark レ コ ー ド ブ ッ ク マー ク と は、 フ ァ イ ル バ ッ フ ァ の位置です。 Bookmark レ コ ー ド には次の フ ィ ール ド があ り ます。 フ ィ ール ド 説明 Name ブ ッ ク マー ク 名。 File ブ ッ ク マー ク の位置の フ ァ イ ル名。 ln 行番号の位置。 ich 行にあ る 文字 イ ンデ ッ ク ス。 Bufprop レ コ ー ド Bufprop レ コ ー ド には、 フ ァ イ ル バ ッ フ ァ のプ ロ パテ ィ が格納 さ れて い ます。 Bufprop レ コ ー ド は、 GetBufProps に よ っ て返 さ れ ます。 Bufprop には次の フ ィ ール ド があ り ます。 350 フ ィ ール ド 説明 Name バ ッ フ ァ 名 ( 例 : フ ァ イ ル名 ) fNew 保存 さ れていない新規バ ッ フ ァ の場合は True。 fDirty バ ッ フ ァ を保存ま たは開いた後に編集 し た場合は True。 fReadOnly バ ッ フ ァ が読み取 り 専用の場合は True。 fClip バ ッ フ ァ が ク リ ッ プ ウ ィ ン ド ウ に表示 さ れ る ク リ ッ プの場合は True。 fMacro バ ッ フ ァ がマ ク ロ フ ァ イ ルの場合は True。 fRunningMacro バ ッ フ ァ が現在実行中のマ ク ロ フ ァ イ ルの場合は True。 fCaptureResults バ ッ フ ァ にカ ス タ ム コ マ ン ド 出力が格納 さ れてい る 場合は True。 Source Insight ユーザー マニ ュ アル 第6章 標準のレ コ ー ド 構造 フ ィ ール ド 説明 fSearchResults バ ッ フ ァ に検索結果が格納 さ れてい る 場合は True。 fProtected バ ッ フ ァ が内部使用のために保護お よ び予約 さ れ てい る 場合は True。 lnCount バ ッ フ ァ の行数。 Language バ ッ フ ァ のプ ロ グ ラ ミ ン グ言語。 フ ァ イ ルの ド キ ュ メ ン ト タ イ プに よ り 決定 さ れます。 DocumentType バ ッ フ ァ の ド キ ュ メ ン ト タ イ プ。 DIM レ コ ー ド DIM レ コ ー ド は、 水平お よ び垂直の ピ ク セル サ イ ズ を指定 し ます。 フ ィ ール ド 説明 Cxp X ピ ク セル数 ( 水平サ イ ズ ) Cyp Y ピ ク セル数 ( 垂直サ イ ズ ) Link レ コ ー ド Link レ コ ー ド は、 ソ ース リ ン ク に よ っ て指定 さ れ る フ ァ イ ル内の場所 を指定 し ます。 Link レ コ ー ド には次の フ ィ ール ド があ り ます。 フ ィ ール ド 説明 File フ ァ イ ル名 ln 行番号 - フ ァ イ ルが変更 さ れない限 り 有効です。 フ ァ イ ルに行が挿入 さ れた り 、 フ ァ イ ルか ら 行が削除 さ れ る と 、 行番号は無効にな り ます。 GetSourceLink を再度呼 び出 し 、 更新 さ れた行番号を取得で き ます。 ProgEnvInfo レ コ ー ド ProgEnvInfo レ コ ー ド には、 Source Insight の実行環境の情報が格納 さ れ てい ます。 フ ィ ール ド 説明 ProgramDir Source Insight のプ ロ グ ラ ム デ ィ レ ク ト リ 。 プ ロ グ ラ ム フ ァ イ ルが保存 さ れてい る 場所で す。 TempDir テンポ ラ リ フ ァ イル デ ィ レ ク ト リ 。 Source Insight ユーザー マニ ュ アル 351 第6章 マ ク ロ言語ガ イ ド フ ィ ール ド 説明 BackupDir バ ッ ク ア ッ プ デ ィ レ ク ト リ 。 保存 し た フ ァ イ ルのバ ッ ク ア ッ プが格納 さ れてい る 場所です。 ClipDir ク リ ッ プが保存 さ れてい る デ ィ レ ク ト リ 。 ProjectDirectoryFile プ ロ ジ ェ ク ト デ ィ レ ク ト リ フ ァ イ ルの名前。 プ ロ ジ ェ ク ト デ ィ レ ク ト リ フ ァ イ ルには、 開 かれたすべてのプ ロ ジ ェ ク ト の リ ス ト が含ま れてい ます。 ConfigurationFile 現在ア ク テ ィ ブな設定フ ァ イ ルの名前。 ShellCommand コ マ ン ド シ ェ ルの名前。 コ マ ン ド シ ェ ルは、 実行中のオペレーテ ィ ン グ シ ス テ ムのバー ジ ョ ンに依存 し ます。 UserName 登録 さ れてい る ユーザー名。 UserOrganization 登録 さ れてい る ユーザーの組織名。 SerialNumber 登録 さ れてい る シ リ アル番号。 ProgInfo レ コ ー ド ProgInfo レ コ ー ド は、 実行中の Source Insight のバージ ョ ン を指定 し ま す。 次の フ ィ ール ド があ り ます。 352 フ ィ ール ド 説明 ProgramName プ ロ グ ラ ムの名前 ( 例 : 「Source Insight」 ) versionMajor メ ジ ャ ー バージ ョ ン番号。 バージ ョ ン番号が 1.02.0003 の場合、 1 が メ ジ ャ ー バージ ョ ンで す。 versionMinor マ イ ナー バージ ョ ン番号。 バージ ョ ン番号が 1.02.0003 の場合、 2 がマ イ ナー バージ ョ ンで す。 versionBuild バージ ョ ンのビル ド 番号。 バージ ョ ン番号が 1.02.0003 の場合、 3 がビル ド 番号です。 CopyrightMsg Source Dynamics の著作権情報。 fTrialVersion プ ロ グ ラ ムが評価版の場合は True。 fBetaVersion プ ロ グ ラ ムがベー タ 版の場合は True。 ExeFileName 実行フ ァ イ ルの名前。 cchLineMax ソ ース フ ァ イ ル行で許可 さ れてい る 最大文字 数。 cchPathMax パ ス名でサポー ト さ れてい る 最大文字数。 Source Insight ユーザー マニ ュ アル 第6章 標準のレ コ ー ド 構造 フ ィ ール ド 説明 cchSymbolMax シ ン ボルの フル ネームで許可 さ れてい る 最大 文字数。 cchCmdMax コ マ ン ド 、 カ ス タ ム コ マ ン ド 、 ま たはマ ク ロ コ マ ン ド の名前で許可 さ れてい る 最大文字数。 cchBookmarkMax ブ ッ ク マー ク の名前で許可 さ れてい る 最大文 字数。 cchInputMax ダ イ ア ロ グ ボ ッ ク ス のテ キ ス ト 入力フ ィ ール ド で許可 さ れてい最大文字数。 cchMacroStringMax マ ク ロ 文字列変数で許可 さ れてい る 最大文字 数。 lnMax ソ ース フ ァ イ ルでサポー ト さ れてい る 最大行 数。 integerMax サポー ト さ れてい る 最大整数値。 integerMin サポー ト さ れてい る 最小整数値 ( 負の数 )。 Rect レ コ ー ド Rect レ コ ー ド は、 矩形の座標を指定 し ます。 Rect レ コ ー ド には次の フ ィ ール ド があ り ます。 フ ィ ール ド 説明 Left 矩形の左座標の ピ ク セル。 Top 矩形の上座標の ピ ク セル。 Right 矩形の右座標の ピ ク セル。 Bottom 矩形の下座標の ピ ク セル。 Selection レ コ ー ド Selection レ コ ー ド は、 ウ ィ ン ド ウ 内のテ キ ス ト 選択の状態を指定 し ま す。 Selection レ コ ー ド には次の フ ィ ール ド があ り ます。 フ ィ ール ド 説明 lnFirst 最初の行番号 ichFirst lnFirst 行の最初の文字の イ ンデ ッ ク ス lnLast 最後の行番号 ichLim lnLast 行の最後の文字の限界 イ ンデ ッ ク ス ( 最後の 次) Source Insight ユーザー マニ ュ アル 353 第6章 マ ク ロ言語ガ イ ド フ ィ ール ド 説明 fExtended 複数の文字を含め る よ う に選択が拡張 さ れてい る 場 合は TRUE。 選択が単純な挿入ポ イ ン ト の場合は FALSE。 こ れは、 次の式 と 同 じ です。 (sel.fRect || sel.lnFirst != sel.lnLast || sel.ichFirst != sel.ichLim) fRect 選択が矩形 ( ブ ロ ッ ク 形式 ) の場合は TRUE。 選択が文字列の線形範囲の場合は FALSE。 次の フ ィ ール ド は、 fRect が TRUE の場合のみ適用 さ れます。 xLeft ウ ィ ン ド ウ座標におけ る 矩形の左の ピ ク セルの位 置。 xRight ウ ィ ン ド ウ座標におけ る 矩形の右の ピ ク セルの位 置。 Symbol レ コ ー ド Symbol レ コ ー ド はシ ン ボル宣言です。 シ ン ボルの場所 と 種類を指定 し ます。 プ ロ ジ ェ ク ト 内ま たは開いてい る フ ァ イ ル バ ッ フ ァ 内にあ る シ ン ボルを一意に指定す る のに使用 し ます。 Symbol レ コ ー ド は、 い く つかの関数に よ っ て返 さ れます。 ま た、 い く つかの関数への入力 と し て使用 さ れ ます。 Symbol レ コ ー ド には次の フ ィ ール ド があ り ます。 354 フ ィ ール ド 説明 Symbol シ ン ボルの フル ネーム。 シ ン ボル名は、 実際にはパ ス です。 各シ ン ボル名は、 ド ッ ト (.) 文字で区切 ら れ たパ ス の コ ン ポーネ ン ト に分類 さ れます。 た と え ば、 「myclass.member1」 と い う シ ン ボル名では、 「member1」 は 「myclass」 に含まれてい ます。 Type シ ン ボルの種類 ( 例 : 「関数」、 「 ク ラ ス」 な ど ) Project シ ン ボルが見つか っ たプ ロ ジ ェ ク ト の フル パ ス。 File シ ン ボルが見つか っ た フ ァ イ ルの フル パ ス。 lnFirst シ ン ボル宣言の最初の行番号 lnLim シ ン ボル宣言の限界行番号 lnName 宣言内のシ ン ボル名が記述 さ れてい る 行番号 ichName 宣言内の lnName 行にあ る シ ン ボル名の文字 イ ン デ ッ ク ス。 Instance File 内のシ ン ボルの イ ン ス タ ン ス番号パ ス。 た と え ば、 シ ン ボルの最初の記述は イ ン ス タ ン ス 0、 2 番目 は イ ン ス タ ン ス 1、 と い う よ う にな り ます。 Source Insight ユーザー マニ ュ アル 第6章 内部マ ク ロ関数 SYSTIME レ コ ー ド SYSTIME レ コ ー ド はシ ス テ ム時間を指定 し ます。 GetSysTime 関数に よ っ て返 さ れ ます。 フ ィ ール ド 説明 time 文字列形式の時刻。 date 文字列形式の曜日、 日、 月、 年。 Year 現在の年。 Month 現在の月 ( 数値 )。 1 月は 1 です。 DayOfWeek 曜日 ( 数値 )。 日曜日は 0、 月曜日は 1 と い う よ う にな り ます。 Day 日 Hour 現在の時間。 Minute 現在の分。 Second 現在の秒。 Milliseconds 現在の ミ リ 秒。 内部マ ク ロ関数 Source Insight では、 多 く の内部マ ク ロ 関数が用意 さ れてい ます。 こ れ ら は、 文字列、 フ ァ イ ル バ ッ フ ァ 、 ウ ィ ン ド ウ 、 プ ロ ジ ェ ク ト 、 お よ びシ ン ボル情報を操作す る ための関数です。 内部マ ク ロ 関数の呼び出 し 構文は、 ユーザー定義マ ク ロ 関数の呼び出 し と 同 じ です。 例 : hbuf = GetCurrentBuf() // call GetCurrentBuf function 文字列関数 文字列関数は、 文字列の操作のために提供 さ れてい ます。 C と は異な り 、 文字列の メ モ リ 管理や文字列を格納す る ためのバ ッ フ ァ の宣言は 必要あ り ません。 AsciiFromChar (ch) 指定 さ れた文字 ch の ASCII 値を返 し ます。 ch が複数の文字を含む文 字列の場合、 最初の文字のみテ ス ト さ れ ます。 Source Insight ユーザー マニ ュ アル 355 第6章 マ ク ロ言語ガ イ ド cat (a, b) 文字列 a と b を連結 し て返 し ます。 CharFromAscii (ascii_code) ascii_code の ASCII コ ー ド に対応す る 単一文字を含む文字列を返 し ま す。 islower (ch) 指定 さ れた文字 ch が小文字の場合、 TRUE を返 し ます。 ch が複数の文 字を含む文字列の場合、 最初の文字のみテ ス ト さ れ ます。 IsNumber (s) 文字列 s が数字列の場合、 TRUE を返 し ます。 非数字列を演算式で使 用す る と 、 ラ ン タ イ ム エ ラ ーにな り ます。 isupper (ch) 指定 さ れた文字 ch が大文字の場合、 TRUE を返 し ます。 ch が複数の文 字を含む文字列の場合、 最初の文字のみテ ス ト さ れ ます。 strlen (s) 文字長を返 し ます。 strmid (s, ichFirst, ichLim) ichFirst か ら ichLim ま での範囲 (ichLim は含まれない ) の s の中間文字 列を返 し ます。 つま り 、 s[ichFirst] か ら s[ichLim - 1] ま でです。 ichFirst と ichLim が同 じ 場合、 空の文字列範囲が指定 さ れ ます。 strtrunc (s, cch) 文字列 s を cch 文字に切 り 捨て た も の を返 し ます。 tolower (s) 指定 さ れた文字列を小文字に変換 し た も の を返 し ます。 toupper (s) 指定 さ れた文字列を大文字に変換 し た も の を返 し ます。 356 Source Insight ユーザー マニ ュ アル 第6章 ユーザー入力および出力関数 ユーザー入力および出力関数 ユーザー入力お よ び出力関数は、 ユーザーか ら の入力の取得、 ま たは メ ッ セージ ウ ィ ン ド ウ への出力の表示を行い ます。 Ask (prompt_string) メ ッ セージ ボ ッ ク ス ウ ィ ン ド ウ に文字列 prompt_string を表示 し ます。 Ask メ ッ セージ ボ ッ ク ス には、 [OK] ボ タ ン と [Cancel] ボ タ ン があ り ま す。 [Cancel] ボ タ ン を ク リ ッ ク す る と 、 マ ク ロ が停止 し ます。 AssignKeyToCmd(key_value, cmd_name) cmd_name に よ っ て指定 さ れた コ マ ン ド に key_value を割 り 当て ます。 以降、 key_value を押す と コ マ ン ド が呼び出 さ れ ます。 key_value は、 GetKey お よ び KeyFromChar に よ っ て返 さ れ る キーボー ド のキーの数値です。 CharFromKey を使用 し て、 key_value を文字に変 換で き ます。 cmd_name は、 コ マ ン ド 名の文字列です。 例: key = GetKey(); AssignKeyToCmd(key, “Open Project”); Beep () ビープ音を 1 回鳴 ら し ます。 CharFromKey (key_code) 指定 さ れた キー コ ー ド に関連付け ら れてい る 文字を返 し ます。 key_code が標準文字のキー コ ー ド でない場合、 0 を返 し ます。 key_code は、 GetKey お よ び KeyFromChar に よ っ て返 さ れ る キーボー ド のキーの数値です。 CharFromKey を使用 し て、 key_code を文字に変 換で き ます。 CmdFromKey(key_value) 現在 key_value に割 り 当て ら れてい る Source Insight コ マ ン ド 名の文字 列を返 し ます。 こ れは、 key_value を押 し た と き に呼び出 さ れ る コ マ ン ド の名前です。 key_value は、 GetKey お よ び KeyFromChar に よ っ て返 さ れ る キーボー ド のキーの数値です。 CharFromKey を使用 し て、 key_value を文字に変換で き ます。 Source Insight ユーザー マニ ュ アル 357 第6章 マ ク ロ言語ガ イ ド 例: key = GetKey(); cmd_name = CmdFromKey(key); msg(“That key will invoke the @cmd@ command.”); EndMsg () StartMsg に よ っ て開始 さ れた メ ッ セージ ボ ッ ク ス を閉 じ ます。 FuncFromKey (key_code) フ ァ ン ク シ ョ ン キー コ ー ド か ら 、 フ ァ ン ク シ ョ ン キーの数字 (F1 F12 に対応す る 1 - 12) を返 し ます。 key_code が フ ァ ン ク シ ョ ン キー コ ー ド でない場合、 0 を返 し ます。 key_code は、 GetKey お よ び KeyFromChar に よ っ て返 さ れ る キーボー ド のキーの数値です。 CharFromKey を使用 し て、 key_code を文字に変 換で き ます。 GetChar () キーが押 さ れ る のを待機 し 、 単一文字を返 し ます。 GetKey () キーが押 さ れ る のを待機 し 、 キー コ ー ド を返 し ます。 キー コ ー ド は、 Source Insight が各キーに関連付けてい る 特別な数値です。 CharFromKey を使用 し て、 文字にキー コ ー ド を割 り 当て る こ と がで き ます。 GetSysTime(fLocalTime) 日時を表す文字列が格納 さ れてい る SYSTIME レ コ ー ド を返 し ます。 355 ページの 「SYSTIME レ コ ー ド 」 も 参照 し て く だ さ い。 fLocalTime が非ゼ ロ の場合、 ロ ーカルの時間が返 さ れ ます。 そ う でな い場合、 シ ス テ ム時間 (UTC 形式 ) が返 さ れ ます。 IsAltKeyDown (key_code) key_code に対 し て [ALT] キーが押 さ れてい る 場合、 TRUE を返 し ます。 key codes には、 [CTRL] キーお よ び [ALT] キーの状態が含まれてい ま す。 key_code は、 GetKey お よ び KeyFromChar に よ っ て返 さ れ る キーボー ド のキーの数値です。 CharFromKey を使用 し て、 key_code を文字に変 換で き ます。 358 Source Insight ユーザー マニ ュ アル 第6章 ユーザー入力および出力関数 IsCtrlKeyDown (key_code) key_code に対 し て [CTRL] キーが押 さ れてい る 場合、 TRUE を返 し ま す。 key codes には、 [CTRL] キーお よ び [ALT] キーの状態が含ま れて い ます。 key_code は、 GetKey お よ び KeyFromChar に よ っ て返 さ れ る キーボー ド のキーの数値です。 CharFromKey を使用 し て、 key_code を文字に変 換で き ます。 IsFuncKey (key_code) key_code が フ ァ ン ク シ ョ ン キーの場合、 TRUE を返 し ます。 そ う でな い場合、 FALSE を返 し ます。 key_code は、 GetKey お よ び KeyFromChar に よ っ て返 さ れ る キーボー ド のキーの数値です。 CharFromKey を使用 し て、 key_code を文字に変 換で き ます。 KeyFromChar(char, fCtrl, fShift, fAlt) 指定 さ れた文字 と 修飾子のキーの状態で、 キー値を返 し ます。 キー値 は、 GetKey に よ っ て返 さ れ る キーボー ド のキーの数値です。 CharFromKey を使用 し て、 キー値を文字に変換で き ます。 入力 : char - キース ト ロ ー ク の文字部分。 大文字 と 小文字は区別 さ れ ません。 fCtrl - [CTRL] キーが含まれ る 場合は非ゼ ロ 。 fShift - [Shift] キーが含まれ る 場合は非ゼ ロ 。 fAlt - [ALT] キーが含まれ る 場合は非ゼ ロ 。 char パ ラ メ ー タ はい く つかの特殊な値を保持す る こ と がで き ます。 表 6.6: 「char」 パラ メ ー タ 値 と 意味 Char 値 意味 a-z アルフ ァ ベ ッ ト 文字 Fx フ ァ ン ク シ ョ ン キーの数字 x ( 例 : F10) Nx テ ン キーボー ド の文字 x ( 例 : "+" キーの場合 N+) Source Insight ユーザー マニ ュ アル 359 第6章 マ ク ロ言語ガ イ ド 表 6.6: 「char」 パラ メ ー タ 値 と 意味 Char 値 意味 Up、 Down、 Left、 Right 矢印キー Page Up、 Page Down Insert、 Delete Home、 End、 Tab、 Enter その他の特殊キー キーの割 り 当て例 : // assign Ctrl+C to Page Down command: key = KeyFromChar(“c”, 1, 0, 0); // Ctrl+C AssignKeyToCmd(key, “Page Down”); // assign F9 to Close Project command: key = KeyFromChar(“F9”, 0, 0, 1); // Alt+F9 AssignKeyToCmd(key, “Close Project”); 入力関数例 : // input a keypress and decode it key = GetKey() if (IsFuncKey(key)) Msg cat("Function key = ", FuncFromKey(key)) if (IsAltKeyDown(key)) Msg "Alt key down" if (IsCtrlKeyDown(key)) Msg "Ctrl key down" ch = CharFromKey(key) if (Ascii(ch) == 13) Msg "You pressed Enter!" else if (toupper(ch) == 'S') Search_Files ... Msg (s) 文字 s を表示す る メ ッ セージ ウ ィ ン ド ウ を表示 し ます。 メ ッ セージ ボ ッ ク ス には、 [Cancel] ボ タ ンがあ り 、 マ ク ロ を停止す る こ と がで き ます。 StartMsg (s) 文字 s を表示す る メ ッ セージ ウ ィ ン ド ウ を表示 し ます。 メ ッ セージ ボ ッ ク ス には、 [Cancel] ボ タ ンがあ り 、 マ ク ロ を停止す る こ と がで き ます。 メ ッ セージ ウ ィ ン ド ウ は返っ た後で も 表示 さ れた ま ま です。 360 Source Insight ユーザー マニ ュ アル 第6章 バ ッ フ ァ リ ス ト 関数 バ ッ フ ァ リ ス ト 関数 バ ッ フ ァ リ ス ト は、 フ ァ イ ル バ ッ フ ァ ハン ド ルの集ま り です。 Source Insight アプ リ ケーシ ョ ン には、 バ ッ フ ァ リ ス ト は 1 つ し かあ り ませ ん。 こ の リ ス ト には、 開いてい る すべての ソ ース フ ァ イ ルの フ ァ イ ル バ ッ フ ァ ハン ド ルが含まれ ます。 バ ッ フ ァ リ ス ト 関数を使用 し て、 す べてのバ ッ フ ァ を列挙で き ます。 BufListCount () こ の関数は、 バ ッ フ ァ リ ス ト のバ ッ フ ァ 数を返 し ます。 BufListItem を 使用 し て、 特定の イ ンデ ッ ク ス位置のバ ッ フ ァ ハン ド ルにア ク セ スす る こ と がで き ます。 BufListItem (index) こ の関数は、 指定 さ れた イ ンデ ッ ク ス のバ ッ フ ァ ハン ド ルを返 し ま す。 バ ッ フ ァ リ ス ト のサ イ ズは、 BufListCount に よ っ て返 さ れ ます。 イ ンデ ッ ク ス値は、 ゼ ロ か ら BufListCount で返 さ れ る 値 よ り も 1 つ 少 ない数ま での値です。 次の例は、 開いてい る バ ッ フ ァ ハン ド ルを列挙 し ます。 cbuf = BufListCount() ibuf = 0 while (ibuf < cbuf) { hbuf = BufListItem(ibuf) // … do something with buffer hbuf ibuf = ibuf + 1 } フ ァ イル バ ッ フ ァ 関数 フ ァ イ ル バ ッ フ ァ 関数は、 フ ァ イ ル バ ッ フ ァ と フ ァ イ ル バ ッ フ ァ 内 のテ キ ス ト の作成 と 操作に使用 さ れ ます。 フ ァ イ ル バ ッ フ ァ と は、 ロ ー ド さ れたテ キ ス ト フ ァ イ ルの イ メ ージです。 フ ァ イ ル バ ッ フ ァ は、 ユーザーに よ り 編集 さ れ、 その後、 [Save] コ マ ン ド でデ ィ ス ク に 保存 さ れ ます。 フ ァ イ ル バ ッ フ ァ 関数の多 く は、 バ ッ フ ァ ハン ド ル (hbuf) を使用 し ま す。 こ れ ら のハン ド ルは、 フ ァ イ ル バ ッ フ ァ を開 く も のです。 hbuf は、 通常小 さ な整数値です。 hbuf 値が hNil ( ゼ ロ ) の場合はエ ラ ーを 示 し ます。 Source Insight ユーザー マニ ュ アル 361 第6章 マ ク ロ言語ガ イ ド AppendBufLine (hbuf, s) フ ァ イ ル バ ッ フ ァ hbuf に新 し いテ キ ス ト 行 s を追加 し ます。 ClearBuf (hbuf) バ ッ フ ァ hbuf を空に し て、 行が含まれない よ う に し ます。 CloseBuf (hbuf) フ ァ イ ル バ ッ フ ァ を閉 じ ます。 hbuf はバ ッ フ ァ ハン ド ルです。 CopyBufLine (hbuf, ln) フ ァ イ ル バ ッ フ ァ hbuf か ら ln 行を ク リ ッ プボー ド に コ ピー し ます。 DelBufLine (hbuf, ln) フ ァ イ ル バ ッ フ ァ hbuf か ら ln 行を削除 し ます。 GetBufHandle (filename) filename と い う 名前の開いてい る フ ァ イ ル バ ッ フ ァ のハン ド ルを返 し ます。 こ の関数は、 開いてい る すべての フ ァ イ ル バ ッ フ ァ を検索 し 、 指定 さ れた filename パ ラ メ ー タ に一致す る も の を検出 し ます。 GetBufHandle は、 指定 さ れた フ ァ イ ル名のバ ッ フ ァ が見つか ら ない場 合、 hNil を返 し ます。 GetBufLine (hbuf, ln) 指定 さ れた フ ァ イ ル バ ッ フ ァ hbuf の ln 行のテ キ ス ト を返 し ます。 GetBufLineCount (hbuf) フ ァ イ ル バ ッ フ ァ のテ キ ス ト 行数を返 し ます。 hbuf はフ ァ イ ル バ ッ フ ァ ハン ド ルです。 GetBufLineLength (hbuf, ln) 指定 さ れた フ ァ イ ル バ ッ フ ァ hbuf の ln 行の文字数を返 し ます。 GetBufLnCur (hbuf) フ ァ イ ル バ ッ フ ァ hbuf 内でユーザーに よ り 選択 さ れた現在の行数を返 し ます。 指定 さ れた フ ァ イ ル バ ッ フ ァ が ソ ース フ ァ イ ル ウ ィ ン ド ウ に表示 さ れていない場合は、 マ ク ロ エ ラ ーが生成 さ れます。 362 Source Insight ユーザー マニ ュ アル 第6章 フ ァ イル バ ッ フ ァ 関数 GetBufName (hbuf) フ ァ イ ル バ ッ フ ァ に関連付け ら れてい る フ ァ イ ル名を返 し ます。 hbuf は フ ァ イ ル バ ッ フ ァ ハン ド ルです。 GetBufProps (hbuf) Bufprop レ コ ー ド を返 し ます。 こ の レ コ ー ド には、 指定 さ れたバ ッ フ ァ のプ ロ パテ ィ が含ま れてい ます。 350 ページの 「Bufprop レ コ ー ド 」 も 参照 し て く だ さ い。 GetBufSelText (hbuf) フ ァ イ ル バ ッ フ ァ hbuf で選択 さ れてい る 文字を文字列 と し て返 し ま す。 1 つのテ キ ス ト 行の最大文字列を返 し ます。 選択 さ れた単語のテ キ ス ト を取得す る のに役立ち ます。 指定 さ れた フ ァ イ ル バ ッ フ ァ が ソ ース フ ァ イ ル ウ ィ ン ド ウ に表示 さ れていない場合は、 マ ク ロ エ ラ ーが生成 さ れ ます。 GetCurrentBuf () 現在のバ ッ フ ァ へのハン ド ルを返 し ます。 現在のバ ッ フ ァ は、 最前面 の ソ ース フ ァ イ ル ウ ィ ン ド ウ に表示 さ れてい る フ ァ イ ル バ ッ フ ァ で す。 現在のバ ッ フ ァ がない場合 ( 例 : 開いてい る ソ ース フ ァ イ ル ウ ィ ン ド ウ がない )、 hNil を返 し ます。 InsBufLine (hbuf, ln, s) フ ァ イ ル バ ッ フ ァ hbuf の行番号 ln に新 し いテ キ ス ト 行 s を挿入 し ま す。 IsBufDirty (hbuf) バ ッ フ ァ がダーテ ィ な場合は、 True を返 し ます。 ダーテ ィ なバ ッ フ ァ と は、 開かれた後や保存 さ れて後で、 編集 さ れたバ ッ フ ァ の こ と です。 ダーテ ィ バ ッ フ ァ には、 保存 さ れていない変更が含まれてい ます。 IsBufRW (hbuf) 指定 さ れたバ ッ フ ァ が読み取 り / 書 き 込み可能な場合は、 True を返 し ます。 こ の関数は、 バ ッ フ ァ が読み取 り 専用の場合、 False を返 し ま す。 MakeBufClip (hbuf, fClip) fClip が True の場合、 フ ァ イ ル バ ッ フ ァ hbuf は Clip バ ッ フ ァ にな り ま す。 以降、 バ ッ フ ァ は通常の ク リ ッ プ と し て、 ク リ ッ プ ウ ィ ン ド ウ に 表示 さ れ ます。 Source Insight ユーザー マニ ュ アル 363 第6章 マ ク ロ言語ガ イ ド fClip が False の場合、 バ ッ フ ァ は通常の、 非 ク リ ッ プ フ ァ イ ル バ ッ フ ァ にな り ます。 ク リ ッ プ バ ッ フ ァ は、 Source Insight が存在す る 場合は、 Source Insight プ ロ グ ラ ム デ ィ レ ク ト リ の Clips サブデ ィ レ ク ト リ に自動的に保存 さ れます。 NewBuf (name) 新 し い空の フ ァ イ ル バ ッ フ ァ を作成 し 、 フ ァ イ ル バ ッ フ ァ (hbuf) にハ ン ド ルを返 し ます。 新 し いバ ッ フ ァ の名前は、 name パ ラ メ ー タ で指定 さ れ ます。 NewBuf は、 エ ラ ーのためにバ ッ フ ァ が作成で き なか っ た 場合、 hNil を返 し ます。 OpenBuf (filename) filename と い う 名前の フ ァ イ ルを フ ァ イ ル バ ッ フ ァ に開 き 、 フ ァ イ ル バ ッ フ ァ にハン ド ルを返 し ます。 OpenBuf は、 フ ァ イ ルを開 く こ と が で き なか っ た場合に hNil を返 し ます。 OpenMiscFile (filename) filename と い う 名前の フ ァ イ ルを開 き ます。 開かれた フ ァ イ ルの種類 に応 じ て、 動作は異な り ます。 た と えば、 .CF3 拡張子の フ ァ イ ルが開 かれた場合は、 新 し い設定フ ァ イ ルを ロ ー ド し ます。 プ ロ ジ ェ ク ト フ ァ イ ル (.PR 拡張子 ) が開かれた場合は、 プ ロ ジ ェ ク ト を開 き ます。 OpenMiscFile は、 成功 し た場合は TRUE を失敗 し た場合は FALSE を返 し ます。 PasteBufLine (hbuf, ln) ク リ ッ プボー ド の内容を フ ァ イ ル バ ッ フ ァ hbuf の ln 行の直前に コ ピー し ます。 PrintBuf (hbuf, fUseDialogBox) 指定 さ れた フ ァ イ ル バ ッ フ ァ を プ リ ン タ に出力 し ます。 fUseDialogBox が True の場合は、 [Print] ダ イ ア ロ グ ボ ッ ク ス が最初に 表示 さ れ ます。 そ う でない場合は、 ユーザーが操作 し な く て も デフ ォ ル ト のプ リ ン タ に出力 さ れます。 PutBufLine (hbuf, ln, s) フ ァ イ ル バ ッ フ ァ hbuf の行番号 ln のテ キ ス ト 行を文字列 s に置換 し ます。 364 Source Insight ユーザー マニ ュ アル 第6章 フ ァ イル バ ッ フ ァ 関数 RenameBuf (hbuf, szNewName) 指定 さ れたバ ッ フ ァ の名前を szNewName に変更 し ます。 デ ィ ス ク 上 の フ ァ イ ルの名前 も 変更 さ れ ます。 バ ッ フ ァ が開いてい る プ ロ ジ ェ ク ト の メ ンバの場合、 プ ロ ジ ェ ク ト 内で フ ァ イ ル名が変更 さ れ ます。 SaveBuf (hbuf) フ ァ イ ル バ ッ フ ァ をデ ィ ス ク に保存 し ます。 hbuf はバ ッ フ ァ ハン ド ル です。 SaveBufAs (hbuf, filename) フ ァ イ ル バ ッ フ ァ を異な る フ ァ イ ル名で保存 し ます。 hbuf はバ ッ フ ァ ハン ド ルです。 filename は、 新 し い フ ァ イ ルの名前です。 SetBufDirty (hbuf, fDirty) 指定 さ れたバ ッ フ ァ のダーテ ィ 状態を fDirty に設定 し ます。 ダーテ ィ なバ ッ フ ァ と は、 開かれた後や保存 さ れて後で、 編集 さ れたバ ッ フ ァ の こ と です。 ダーテ ィ バ ッ フ ァ には、 保存 さ れていない変更が含まれ てい ます。 ユーザーがダーテ ィ なバ ッ フ ァ を閉 じ る 際、 Source Insight はフ ァ イ ル を保存 し よ う と し ます。 こ の関数を使用 し て、 バ ッ フ ァ のダーテ ィ 状 態を解除 し 、 保存を確認す る メ ッ セージが表示 さ れない よ う にで き ま す。 SetBufIns (hbuf, ln, ich) カー ソ ル位置の挿入ポ イ ン ト を フ ァ イ ル バ ッ フ ァ hbuf の文字 イ ンデ ッ ク ス ich にあ る 行番号 ln に設定 し ます。 指定 さ れた フ ァ イ ル バ ッ フ ァ が ソ ース フ ァ イ ル ウ ィ ン ド ウ に表示 さ れていない場合は、 マ ク ロ エ ラ ーが生成 さ れ ます。 SetBufSelText (hbuf, s) フ ァ イ ル バ ッ フ ァ hbuf で現在選択 さ れてい る 文字を文字列 s に置換 し ます。 選択 し た単語のテ キ ス ト を置換す る のに役立ち ます。 指定 さ れ た フ ァ イ ル バ ッ フ ァ が ソ ース フ ァ イ ル ウ ィ ン ド ウ に表示 さ れていな い場合は、 マ ク ロ エ ラ ーが生成 さ れます。 Source Insight ユーザー マニ ュ アル 365 第6章 マ ク ロ言語ガ イ ド こ れは、 バ ッ フ ァ に新 し いテ キ ス ト を挿入す る 最 も 簡単な方法です。 た と えば、 こ の コ ー ド は 「new text」 を現在の挿入位置にあ る 現在の バ ッ フ ァ に挿入 し ます。 hbuf = GetCurrentBuf() SetBufSelText(hbuf, "new text") SetCurrentBuf (hbuf) ア ク テ ィ ブな フ ァ イ ル バ ッ フ ァ をハン ド ルが hbuf のバ ッ フ ァ に設定 し ます。 現在のバ ッ フ ァ は、 最前面の ソ ース フ ァ イ ル ウ ィ ン ド ウ に表示 さ れてい る フ ァ イ ル バ ッ フ ァ です。 環境関数 と プ ロ セス関数 環境関数 と プ ロ セ ス関数で、 レ ジ ス ト リ と 環境値の取得 と 設定が行え ます。 ま た、 内部 コ マ ン ド と 外部 コ マ ン ド を実行す る こ と がで き ます。 GetEnv (env_name) env_name で指定 さ れた環境変数の値を返 し ます。 環境変数がない場合 は、 空の文字列を返 し ます。 GetReg (reg_key_name) reg_key_name と い う 名前の レ ジ ス ト リ キーに関連付け ら れた値を返 し ます。 キー値は、 HKEY_CURRENT_USER/Software/Source Dynamics/ Source Insight/2.0 キー パ ス配下に格納 さ れ ます。 キーが存在 し ない場 合は、 空の文字列が返 さ れ ます。 IsCmdEnabled (cmd_name) cmd_name で指定 さ れた コ マ ン ド が現在有効な場合は、 TRUE を返 し ま す。 プ ロ グ ラ ム の状態に よ り Source Insight が コ マ ン ド を実行で き ない 場合は、 コ マ ン ド は有効にな り ません。 た と えば、 [Save] コ マ ン ド は、 開いてい る ソ ース フ ァ イ ル ウ ィ ン ド ウ がない場合は、 有効にな り ませ ん。 PutEnv (env_name, value) env_name と い う 名前の環境変数を value に設定 し ます。 RunCmd (cmd_name) cmd_name で指定 さ れた コ マ ン ド を実行 し ます。 こ れに よ り 、 [Custom Commands] コ マ ン ド で定義 さ れた カ ス タ ム コ マ ン ド な ど の特殊な コ マ ン ド を実行す る こ と がで き ます。 366 Source Insight ユーザー マニ ュ アル 第6章 環境関数 と プ ロ セス関数 RunCmdLine (sCmdLine, sWorkingDirectory, fWait) sCmdLine で指定 さ れた コ マ ン ド 行文字列を起動 し ます。 成功 し た場合 は非ゼ ロ を、 エ ラ ーの場合はゼ ロ を返 し ます。 sWorkingDirectory が Nil でない場合、 作業デ ィ レ ク ト リ が使用 さ れ ま す。 sWorkingDirectory が Nil の場合、 現在のプ ロ ジ ェ ク ト のホーム デ ィ レ ク ト リ が使用 さ れます。 fWait が非ゼ ロ の場合、 プ ロ セ ス が終了す る ま で関数は値を返 し ませ ん。 そ う でない場合は、 す ぐ に値を返 し ます。 プ ロ セ ス が別の ウ ィ ン ド ウ アプ リ ケーシ ョ ン の場合は、 fWait の状態に関わ ら ず、 す ぐ に値 を返 し ます。 SetReg (reg_key_name, value) reg_key_name と い う 名前の レ ジ ス ト リ キーに関連付け ら れてい る 値を 設定 し ます。 キー値は、 HKEY_CURRENT_USER/Software/Source Dynamics/Source Insight/2.0 キー パ ス下に格納 さ れ ます。 キーが存在 し ない場合は、 作成 さ れ ます。 SetReg 関数 と GetReg 関数は、 セ ッ シ ョ ン間の独自の Source Insight 関 連情報を格納す る 方法を提供 し ます。 ShellExecute (sVerb, sFile, sExtraParams, sWorkingDirectory, windowstate) 指定 さ れた フ ァ イ ルで "ShellExecute" 関数を実行 し ます。 こ れに よ り 、 Windows シ ェ ルに指定フ ァ イ ルでの操作を実行す る よ う に指示す る こ と がで き ます。 ShellExecute を使用す る 場合、 特定の種類の フ ァ イ ルを処理す る ために 登録 さ れてい る アプ リ ケーシ ョ ン を知っ てお く 必要はあ り ません。 技 術的なバ ッ ク グ ラ ウ ン ド 情報については、 Windows シ ェ ル API ド キ ュ メ ン ト で 「ShellExecute」 関数を参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 367 第6章 マ ク ロ言語ガ イ ド ShellExecute パラ メ ー タ 表 6.7:ShellExecute パラ メ ー タ パラ メ ー タ 意味 sVerb 実行す る 動作を指定す る 単一の単語。 値の例につ いては下の表を参照 し て く だ さ い。 sFile filespec パ ラ メ ー タ には有効なパ ス を指定 し ます。 スペース を含むパ ス名は二重引用符で囲んで く だ さ い。 実行フ ァ イ ルの名前 も 指定で き ます。 sExtraParams オプシ ョ ン パ ラ メ ー タ : 最終的に実行 さ れ る アプ リ ケーシ ョ ンに渡すパ ラ メ ー タ を指定 し ます。 フ ォーマ ッ ト は起動す る verb、 お よ び実行する ア プ リ ケーシ ョ ンに よ っ て決定 さ れます。 sWorkingDir コ マ ン ド 実行時の作業デ ィ レ ク ト リ 。 空の場合 は、 プ ロ ジ ェ ク ト のホーム デ ィ レ ク ト リ が使用 さ れます。 windowstate 開 く ウ ィ ン ド ウ のサ イ ズ と 状態を指定す る 整数。 有効な値は 1 = 標準、 2 = 最小化、 3 = 最大化です。 sVerb 値 sVerb パ ラ メ ー タ は、 Shell Execute に よ る 動作を指定す る 単一の単語の 文字列です。 表 6.8:sVerb パラ メ ー タ の値 368 sVerb 値 意味 edit フ ァ イ ルのエデ ィ タ を開 き ます。 explore 指定 さ れた フ ァ イ ルを探索 し ます。 open 指定 さ れた フ ァ イ ルを開 き ます。 実行形式フ ァ イ ルま たは ド キ ュ メ ン ト フ ァ イ ルを指定で き ます。 フ ォ ルダ も 指定で き ます。 print 指定 さ れた ド キ ュ メ ン ト フ ァ イ ルを印刷 し ます。 filespec が ド キ ュ メ ン ト フ ァ イ ルでない場合、 関 数は動作 し ません。 properties フ ァ イ ルやフ ァ イ ルのプ ロ パテ ィ を表示 し ます。 find [ ス タ ー ト ] - [ 検索 ] - [ フ ァ イ ルやフ ォ ルダ ] を起 動 し ます。 "" ( 空の文字列 ) こ のパ ラ メ ー タ を ShellExecute に送 り ます。 Source Insight ユーザー マニ ュ アル 第6章 ウ ィ ン ド ウ リ ス ト 関数 例: Web サ イ ト を ブ ラ ウ ズす る ShellExecute("open", "http://www.somedomain.com", "", 1) ド キ ュ メ ン ト フ ァ イ ルを開 く ShellExecute("open", "somefile.doc", "", 1) Windows の ド キ ュ メ ン ト フ ァ イ ル フ ォ ルダ を表示す る ShellExecute("explore", "C :\Documents and Settings", "", 1) Internet Explorer を起動す る ShellExecute("", "iexplore", "", 1) Internet Explorer で フ ァ イ ルを表示す る ShellExecute("", "iexplore somefile.htm", "", 1) カ レ ン ト プ ロ ジ ェ ク ト フ ォ ルダの フ ァ イ ルを検索す る ShellExecute("find", filespec, "", 1) ウ ィ ン ド ウ リ ス ト 関数 ウ ィ ン ド ウ リ ス ト と は、 ソ ース フ ァ イ ル ウ ィ ン ド ウ ハン ド ルの集ま り です。 Source Insight アプ リ ケーシ ョ ン には、 ウ ィ ン ド ウ リ ス ト は 1 つ し かあ り ません。 こ の リ ス ト には、 すべての ソ ース ウ ィ ン ド ウ ハン ド ルが含ま れます。 ウ ィ ン ド ウ リ ス ト を使用 し て、 すべての ソ ース フ ァ イ ル ウ ィ ン ド ウ を列挙 し ます。 WndListCount () こ の関数は、 ウ ィ ン ド ウ リ ス ト の ウ ィ ン ド ウ 数を返 し ます。 WndListItem を使用 し て、 リ ス ト の特定の イ ンデ ッ ク ス の ウ ィ ン ド ウ ハン ド ルにア ク セ スす る こ と がで き ます。 WndListItem (index) こ の関数は、 指定 さ れた イ ンデ ッ ク ス の ウ ィ ン ド ウ ハン ド ルを返 し ま す。 ウ ィ ン ド ウ リ ス ト のサ イ ズは、 WndListCount に よ っ て返 さ れま す。 イ ンデ ッ ク ス値は、 ゼ ロ か ら WndListCount で返 さ れ る 値 よ り も 1 つ少ない数ま での値です。 Source Insight ユーザー マニ ュ アル 369 第6章 マ ク ロ言語ガ イ ド 次の例は、 開いてい る ウ ィ ン ド ウ ハン ド ルを列挙 し ます。 cwnd = WndListCount() iwnd = 0 while (iwnd < cwnd) { hwnd = WndListItem(iwnd) // … do something with window hwnd iwnd = iwnd + 1 } ウ ィ ン ド ウ関数 ウ ィ ン ド ウ関数 は、 特殊なマ ク ロ レベルの hwnd パ ラ メ ー タ を使用 し ます。 ウ ィ ン ド ウ 関数で、 ソ ース フ ァ イ ル ウ ィ ン ド ウ の操作を行 う こ と がで き ます。 フ ァ イ ル バ ッ フ ァ が ソ ース ウ ィ ン ド ウ に表示 さ れ ます。 hwnd は、 通常小 さ な整数値です。 hNil の hwnd は、 エ ラ ーを表示 し ま す。 関数は、 ウ ィ ン ド ウ ハン ド ル (hwnd) パ ラ メ ー タ を使用 し ます。 こ れ ら は、 ソ ース フ ァ イ ル ウ ィ ン ド ウ を開 く マ ク ロ レベルのハン ド ルで す。 hwnd マ ク ロ は Microsoft Windows API の ウ ィ ン ド ウ ハン ド ル HWND と 概念的には似てい ますが、 厳密には同 じ ではあ り ません。 各 ソ ース ウ ィ ン ド ウ には、 選択 さ れた文字を説明す る 選択範囲があ り ます。 詳細は、 373 ページの 「GetWndSel (hwnd)」 を参照 し て く だ さ い。 hwnd パラ メ ー タ 一部の関数では、 ウ ィ ン ド ウ ハン ド ル (hwnd) は、 アプ リ ケーシ ョ ン は、 システム レベ ウ ィ ン ド ウ な ど のシ ス テ ム レベル ウ ィ ン ド ウ へのハン ド ル も 表現す る ル ウ ィ ン ド ウ も表 こ と がで き ます。 シ ス テ ム レベル ウ ィ ン ド ウ には、 フ ァ イ ル バ ッ 現する こ と がで き フ ァ や選択範囲は含まれ ません。 GetApplicationWnd 関数は、 Source ます。 Insight アプ リ ケーシ ョ ン ウ ィ ン ド ウ にハン ド ルを返 し ます。 CloseWnd (hwnd) ウ ィ ン ド ウ hwnd を閉 じ ます。 ウ ィ ン ド ウ を閉 じ て も 、 ウ ィ ン ド ウ に 表示 さ れてい る フ ァ イ ル バ ッ フ ァ は閉 じ ら れ ません。 GetApplicationWnd () Source Insight アプ リ ケーシ ョ ン ウ ィ ン ド ウ への ウ ィ ン ド ウ ハン ド ルを 返 し ます。 メモ : 370 こ れは、 シ ス テ ム レベル ウ ィ ン ド ウ ハン ド ル と は同 じ ではな く 、 Source Insight のマ ク ロ レベル ハン ド ル 値です。 Source Insight ユーザー マニ ュ アル 第6章 ウ ィ ン ド ウ関数 返 さ れたハン ド ルは、 GetWndDim や IsWndMax な ど、 フ ァ イ ル バ ッ フ ァ や選択範囲を想定 し ない関数に渡す こ と がで き ます。 GetCurrentWnd () ア ク テ ィ ブな最前面の ソ ース フ ァ イ ル ウ ィ ン ド ウ のハン ド ルを返す か、 ウ ィ ン ド ウ が開いていない場合は hNil を返 し ます。 GetNextWnd (hwnd) hwnd の後にあ る Z 順序での次の ウ ィ ン ド ウ の ウ ィ ン ド ウ ハン ド ルを 返 し ます。 通常は、 ア ク テ ィ ブだっ た前の ウ ィ ン ド ウ です。 GetNextWnd は、 ほかの ウ ィ ン ド ウ が開いていない場合は hNil を返 し ます。 た と えば、 hwnd が最前面の ウ ィ ン ド ウ の場合、 GetNextWnd (hwnd) は その下の次の ウ ィ ン ド ウ を返 し ます。 SetCurrentWnd を使用 し て、 最前 面のア ク テ ィ ブな ウ ィ ン ド ウ を設定 し てい る 場合は、 後続の GetNextWnd への呼び出 し が影響を受け る こ と に注意 し て く だ さ い。 GetWndBuf (hwnd) hwnd ウ ィ ン ド ウ に表示 さ れてい る フ ァ イ ル バ ッ フ ァ のハン ド ルを返 し ます。 GetWndClientRect (hwnd) Rect レ コ ー ド を返 し ます。 指定 さ れた ウ ィ ン ド ウ の ク ラ イ ア ン ト 領域 を示す矩形が含ま れてい ます。 座標は、 ウ ィ ン ド ウ の ロ ーカルの座標 系で示 さ れ ます。 ク ラ イ ア ン ト 領域の矩形には、 ウ ィ ン ド ウ の フ レー ムやその他の非 ク ラ イ ア ン ト 領域は含まれ ません。 353 ページの 「Rect レ コ ー ド 」 も 参照 し て く だ さ い。 GetWndDim (hwnd) DIM レ コ ー ド を返 し ます。 指定 さ れた hwnd ウ ィ ン ド ウ の ピ ク セル サ イ ズ を説明 し ます。 351 ページの 「DIM レ コ ー ド 」 も 参照 し て く だ さ い。 返 さ れ る 横サ イ ズは、 ウ ィ ン ド ウ のテ キ ス ト 領域のみの幅です。 左余 白や ソ ース ウ ィ ン ド ウ 付属のシ ン ボル ウ ィ ン ド ウ は含まれません。 GetWndHandle (hbuf) hbuf に よ っ て指定 さ れた フ ァ イ ル バ ッ フ ァ を表示す る 最前面 ウ ィ ン ド ウ の ウ ィ ン ド ウ ハン ド ルを返 し ます。 GetWndHandle は、 フ ァ イ ル バ ッ フ ァ が ウ ィ ン ド ウ にない場合は hNil を返 し ます。 フ ァ イ ル バ ッ フ ァ は、 複数の ウ ィ ン ド ウ に表示 さ れ る こ と も あ る た め、 GetWndHandle は前面か ら 背面へすべての ウ ィ ン ド ウ を検索 し ま Source Insight ユーザー マニ ュ アル 371 第6章 マ ク ロ言語ガ イ ド す。 そのため、 指定 さ れた フ ァ イ ル バ ッ フ ァ がア ク テ ィ ブな ウ ィ ン ド ウ の現在のバ ッ フ ァ の場合は、 その ウ ィ ン ド ウ のハン ド ルが常に返 さ れます。 GetWndHorizScroll (hwnd) hwnd ウ ィ ン ド ウ の水平ス ク ロ ールの状態を返 し ます。 水平ス ク ロ ール の状態は、 ス ク ロ ールの ピ ク セル数です。 GetWndLineCount (hwnd) hwnd ウ ィ ン ド ウ の垂直サ イ ズ を行で返 し ます。 こ れは、 ウ ィ ン ド ウ で 潜在的に表示可能な最大行数です。 フ ァ イ ル バ ッ フ ァ が ウ ィ ン ド ウ 全 体を占めていない場合で も 、 GetWndLineCount は最大行数を返 し ます。 GetWndLineWidth (hwnd, ln, cch) 指定 さ れた ウ ィ ン ド ウ で指定 さ れたテ キ ス ト 行の幅を返 し ます。 入力 : パラ メ ー タ 説明 hwnd ウィンドウ ln 測定 さ れ る テ キ ス ト を含む行番号。 ln が範囲外 の場合は、 –1 が返 さ れます。 cch 行で測定 さ れ る 文字数。 cch が –1 に設定 さ れて い る 場合は、 行全体の長 さ が測定 さ れます。 こ の関数で指定 さ れた ウ ィ ン ド ウ の文字幅を測定す る こ と がで き ます。 それぞれの ウ ィ ン ド ウ で使用 さ れてい る フ ォ ン ト は、 フ ァ イ ルの ド キ ュ メ ン ト の種類で決定 さ れ る ため、 テ キ ス ト 幅は ウ ィ ン ド ウ に よ っ て異な り ます。 構文フ ォーマ ッ ト も テ キ ス ト 幅に影響 し ます。 こ の関数は、 特定の文字を表示す る ために ウ ィ ン ド ウ を ス ク ロ ールす る ScrollWndHoriz と と も に使用で き ます。 例 行 100 の行全体の幅を測定す る には : dim = GetWndLineWidth(hwnd, 100, -1) Msg ("Line 100 is " # dim.cxp # " pixels wide.") 372 Source Insight ユーザー マニ ュ アル 第6章 ウ ィ ン ド ウ関数 行 200 の最初の 3 文字の幅を測定す る には : Dim = GetWndLineWidth(hwnd, 200, 3) GetWndParent (hwnd) ウ ィ ン ド ウ の親 ウ ィ ン ド ウ へのハン ド ルを返 し ます。 親がない場合は hNil を返 し ます。 GetWndRect (hwnd) 指定 さ れた ウ ィ ン ド ウ の画面の矩形座標を含む Rect レ コ ー ド を返 し ま す。 矩形には、 ウ ィ ン ド ウ フ レーム と 非 ク ラ イ ア ン ト 領域が含まれま す。 353 ページの 「Rect レ コ ー ド 」 も 参照 し て く だ さ い。 GetWndSel (hwnd) hwnd に よ っ て指定 さ れた ウ ィ ン ド ウ の選択の状態を返 し ます。 選択の 状態は、 Selection レ コ ー ド に返 さ れます。 353 ページの 「Selection レ コ ー ド 」 も 参照 し て く だ さ い。 GetWndSelIchFirst (hwnd) hwnd ウ ィ ン ド ウ の選択範囲にあ る 最初の文字の イ ンデ ッ ク ス を返 し ま す。 GetWndSelIchLim (hwnd) hwnd ウ ィ ン ド ウ の選択範囲にあ る 最後の文字の 1 つ後の イ ンデ ッ ク ス を返 し ます。 GetWndSelLnFirst (hwnd) hwnd ウ ィ ン ド ウ の選択範囲の最初の行番号を返 し ます。 GetWndSelLnLast (hwnd) hwnd ウ ィ ン ド ウ の選択範囲の最後の行番号を返 し ます。 GetWndVertScroll (hwnd) hwnd ウ ィ ン ド ウ の垂直ス ク ロ ールの状態を返 し ます。 垂直ス ク ロ ール の状態 と は、 ウ ィ ン ド ウ の上部に表示 さ れ る 行番号です。 IchFromXpos (hwnd, ln, xp) 指定 さ れた ウ ィ ン ド ウ の行番号 (ln) にあ る ピ ク セルの x 位置 (xp) の文 字 イ ンデ ッ ク ス を返 し ます。 文字 イ ンデ ッ ク ス は、 指定 さ れた行のゼ ロ ベース の文字の イ ンデ ッ ク ス です。 こ の関数が呼ばれた時点で行が Source Insight ユーザー マニ ュ アル 373 第6章 マ ク ロ言語ガ イ ド 実際に表示 さ れてい る 必要はあ り ません。 376 ページの 「XposFromIch (hwnd, ln, ich)」 も 参照 し て く だ さ い。 入力 : パラ メ ー タ 説明 hwnd ウィンドウ ln 測定 さ れ る テ キ ス ト を含む行番号。 ln が範囲外 の場合は、 –1 が返 さ れます。 xp ウ ィ ン ド ウ全体の左端に対 し て相対的な x 位置。 xp が行の幅を超え る 場合は、 行の文字総数が返 さ れます。 メモ : XposFromIch 関数を使用 し て、 逆マ ッ ピ ン グ を実行する こ と がで き ま す。 IsWndMax (hwnd) hwnd ウ ィ ン ド ウ が現在最大化 さ れてい る 場合は、 TRUE を返 し ます。 IsWndMin (hwnd) hwnd ウ ィ ン ド ウ が現在最小化 さ れてい る 場合は、 TRUE を返 し ます。 IsWndRestored (hwnd) hwnd ウ ィ ン ド ウ が現在最大化 も 最小化 も さ れていない場合は、 TRUE を返 し ます。 MaximizeWnd (hwnd) hwnd に よ っ て指定 さ れた ウ ィ ン ド ウ を最大化 ( ま たは 「拡大」 ) し ま す。 MinimizeWnd (hwnd) hwnd に よ っ て指定 さ れた ウ ィ ン ド ウ を最小化 ( ま たは 「ア イ コ ン化」 ) し ます。 NewWnd (hbuf) 新規 ウ ィ ン ド ウ を作成 し 、 ウ ィ ン ド ウ に hbuf フ ァ イ ル バ ッ フ ァ を表示 し ます。 NewWnd は ウ ィ ン ド ウ ハン ド ルを返すか、 ま たはエ ラ ーの場 合は hNil を返 し ます。 374 Source Insight ユーザー マニ ュ アル 第6章 ウ ィ ン ド ウ関数 ScrollWndHoriz (hwnd, pixel_count) hwnd ウ ィ ン ド ウ を pixel_count で指定 さ れた分だけ水平に ス ク ロ ール し ます。 pixel_count が 0 よ り も 少ない場合は、 行の逆方向に ス ク ロ ール し ます ( 画面の内容は、 右に ス ク ロ ール し ます )。 pixel_count が 0 よ り も 大 き い場合は、 行方向に ス ク ロ ール し ます ( 画 面の内容は、 左に ス ク ロ ール し ます )。 ScrollWndToLine (hwnd, ln) hwnd ウ ィ ン ド ウ を ス ク ロ ール し て、 行番号 ln を ウ ィ ン ド ウ 上部に表 示 し ます。 ScrollWndVert (hwnd, line_count) hwnd ウ ィ ン ド ウ を line_count で指定 さ れた分だけ垂直に ス ク ロ ール し ます。 line_count が 0 よ り も 少ない場合は、 フ ァ イ ルの逆方向に ス ク ロ ール し ます ( 画面の内容は下に ス ク ロ ール し ます )。 line_count が 0 よ り も 少ない場合は、 フ ァ イ ル方向に ス ク ロ ール し ます ( 画面の内容は上に ス ク ロ ール し ます )。 SetCurrentWnd (hwnd) 最前面のア ク テ ィ ブ ウ ィ ン ド ウ を設定 し ます。 hwnd は ウ ィ ン ド ウ ハ ン ド ルを ア ク テ ィ ブに し ます。 SetWndRect (hwnd, left, top, right, bottom) 指定 さ れた ウ ィ ン ド ウ の新 し い位置を設定 し ます。 深度 (Z-order) には 影響 し ません。 指定 さ れた座標は、 ウ ィ ン ド ウ の親 ウ ィ ン ド ウ の ロ ー カルの ピ ク セル座標系です。 ウ ィ ン ド ウ がアプ リ ケーシ ョ ン ウ ィ ン ド ウ の場合は、 座標系はグ ロ ーバル画面の ピ ク セル座標系です。 SetWndSel (hwnd, selection_record) hwnd で指定 さ れた ウ ィ ン ド ウ の選択範囲の状態を selection_record で指 定 さ れた Selectn レ コ ー ド に設定 し ます。 373 ページの 「GetWndSel (hwnd)」 も 参照 し て く だ さ い。 353 ページの 「Selection レ コ ー ド 」 を 参照 し て く だ さ い。 ToggleWndMax (hwnd) 最大化サ イ ズ と リ ス ト ア サ イ ズの hwnd ウ ィ ン ド ウ を切 り 替え ます。 Source Insight ユーザー マニ ュ アル 375 第6章 マ ク ロ言語ガ イ ド XposFromIch (hwnd, ln, ich) 指定 さ れた ウ ィ ン ド ウ の行番号 (ln) にあ る 文字位置 (ich) の ピ ク セルの x 位置番号を返 し ます。 x 位置は ウ ィ ン ド ウ 全体の左端に対 し て相対的 です。 こ の関数が呼ばれた時点で行が実際に表示 さ れてい る 必要はあ り ません。 373 ページの 「IchFromXpos (hwnd, ln, xp)」 も 参照 し て く だ さ い。 入力 : パラ メ ー タ 説明 hwnd ウィンドウ ln 測定 さ れ る テ キ ス ト を含む行番号。 ln が範囲外 の場合は、 –1 が返 さ れます。 ich 指定 さ れた行のゼ ロ ベース の文字の イ ンデ ッ ク ス であ る 文字 イ ンデ ッ ク ス。 ich が行の文字数を 超え る 場合は、 行末の x 位置が返 さ れます。 メモ : IchFromXpos 関数を使用 し て、 逆マ ッ ピ ン グ を実行する こ と がで き ま す。 Bookmark 関数 すべてのブ ッ ク マー ク は、 単一のブ ッ ク マー ク リ ス ト に保持 さ れま す。 ブ ッ ク マー ク 関数を使用 し て、 すべてのブ ッ ク マー ク を列挙 し 、 ブ ッ ク マー ク の追加 と 削除を行 う こ と がで き ます。 ブ ッ ク マー ク リ ス ト は、 ワ ー ク スペース フ ァ イ ルに保持 さ れ ます。 BookmarksAdd (name, filename, ln, ich) 新 し いブ ッ ク マー ク を追加 し ます。 新 し いブ ッ ク マー ク 名は name で 指定 さ れ ます。 ブ ッ ク マー ク 位置は、 filename フ ァ イ ルの行番号 ln、 文字 イ ンデ ッ ク ス ich です。 成功 し た場合は True、 エ ラ ーの場合は False を返 し ます。 BookmarksCount () こ の関数は、 ブ ッ ク マー ク リ ス ト のブ ッ ク マー ク 数を返 し ます。 BookmarksItem を使用 し て、 リ ス ト の特定の イ ンデ ッ ク ス のブ ッ ク マー ク にア ク セ スす る こ と がで き ます。 BookmarksDelete (name) name と い う 名前のブ ッ ク 名を削除 し ます。 376 Source Insight ユーザー マニ ュ アル 第6章 シ ンボル リ ス ト 関数 BookmarksItem (index) こ の関数は、 指定 さ れた イ ンデ ッ ク ス のブ ッ ク マー ク を返 し ます。 ブ ッ ク マー ク リ ス ト のサ イ ズは BookmarksCount に よ っ て返 さ れ ます。 イ ンデ ッ ク ス値は、 ゼ ロ か ら BookmarksCount で返 さ れ る 値 よ り も 1 つ 少ない数ま での値です。 こ の例では、 すべてのブ ッ ク マー ク を列挙 し ます。 cmark = BookmarksCount() imark = 0 while (imark < cmark) { bookmark = BookmarksItem(imark) // … do something with bookmark imark = imark + 1 } 350 ページの 「Bookmark レ コ ー ド 」 も 参照 し て く だ さ い。 BookmarksLookupLine (filename, ln) 指定 さ れた位置のブ ッ ク マー ク を検索 し ます。 フ ァ イ ルは filename で、 行番号は ln です。 Bookmark レ コ ー ド を返すか、 ま たはブ ッ ク マー ク が見つか ら ない場合 は nil を返 し ます。 350 ページの 「Bookmark レ コ ー ド 」 も 参照 し て く だ さ い。 BookmarksLookupName (name) name と い う 名前のブ ッ ク マー ク を検索 し ます。 Bookmark レ コ ー ド を返すか、 ま たはブ ッ ク マー ク が見つか ら ない場合 は nil を返 し ます。 350 ページの 「Bookmark レ コ ー ド 」 も 参照 し て く だ さ い。 シ ンボル リ ス ト 関数 シ ン ボル リ ス ト はゼ ロ ベース で イ ンデ ッ ク ス さ れた Symbol レ コ ー ド の集ま り です。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 一部のシ ン ボル ア ク セ ス関数はシ ン ボル リ ス ト ハン ド ルを返 し ます。 シ ン ボル リ ス ト は、 割 り 当て リ ソ ース です。 ア ク セ ス が終了 し た ら SymListFree で解放す る 必要があ り ます。 Source Insight はマ ク ロ 終了時 に自動で動的に割 り 当て ら れた リ ソ ース を ク リ ーン ア ッ プ し ます。 た だ し 、 使用 さ れていないハン ド ラ を解放せずに多 く のハン ド ラ を割 り Source Insight ユーザー マニ ュ アル 377 第6章 マ ク ロ言語ガ イ ド 当てた場合には、 Source Insight で リ ソ ース を使い果た し て し ま う 可能 性があ り ます。 SymListCount () こ の関数は、 シ ン ボル リ ス ト のシ ン ボル数を返 し ます。 SymListItem を使用 し て、 リ ス ト の特定の イ ンデ ッ ク ス のシ ン ボル レ コ ー ド にア ク セ スす る こ と がで き ます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 SymListFree (hsyml) こ の関数は、 指定 さ れたシ ン ボル リ ス ト の割 り 当て を解除 し ます。 SymListInsert (hsyml, isym, symbolNew) こ の関数は、 シ ン ボル レ コ ー ド を シ ン ボル リ ス ト hsyml に挿入 し ま す。 シ ン ボルは、 isymBefore の直前に挿入 さ れ ます。 isymBefore が –1 の場合、 シ ン ボルは リ ス ト の最後に追加 さ れます。 シ ン ボル レ コ ー ド は symbolNew に提供 さ れ ます。 354 ページの 「Symbol レ コ ー ド 」 も 参 照 し て く だ さ い。 SymListItem (hsyml, isym) こ の関数は、 シ ン ボル リ ス ト hsyml のゼ ロ ベース の イ ンデ ッ ク ス isym の Symbol レ コ ー ド を返 し ます。 シ ン ボル リ ス ト のサ イ ズは SymListCount に よ っ て返 さ れます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 イ ンデ ッ ク ス値は、 ゼ ロ か ら SymListCount で返 さ れ る 値 よ り も 1 つ少 ない数ま での値です。 こ の例では、 シ ン ボル リ ス ト のすべてのシ ン ボルを列挙 し ます。 csym = SymListCount(hsyml) isym = 0 while (isym < csym) { symbol = SymListItem(isym) // … do something with symbol Msg ("symbol name = " # symbol.name) isym = isym + 1 } SymListNew () 新規の空のシ ン ボル リ ス ト を割 り 当て ます。 新規のシ ン ボル リ ス ト ハン ド ルを返すか、 ま たはエ ラ ーの場合は hNil を返 し ます。 シ ン ボル リ ス ト での作業が終了 し た ら 、 SymListFree を呼び出す必要があ り ま す。 378 Source Insight ユーザー マニ ュ アル 第6章 シ ンボル関数 SymListRemove (hsyml, isym) シ ン ボル リ ス ト hsyml か ら 要素を削除 し ます。 isym にあ る シ ン ボル要 素は削除 さ れ ます。 シ ンボル関数 シ ン ボル関数で、 Source Insight のシ ン ボル検索エ ン ジ ン にア ク セ スす る こ と がで き ます。 Source Insight は、 プ ロ ジ ェ ク ト のシ ン ボル情報を シ ン ボル デー タ ベース で管理 し ます。 こ れ ら のシ ン ボル関数はシ ン ボ ル デー タ ベース と Source Insight の ビル ト イ ン言語パーサ を活用 し て ソ ース フ ァ イ ル中のシ ン ボルを特定 し ます。 Source Insight に よ る シ ン ボル情報の管理方法お よ び検索規則について の説明は、 「プ ロ ジ ェ ク ト 」 の章の 「シ ン ボルお よ びプ ロ ジ ェ ク ト 」 の セ ク シ ョ ン を参照 し て く だ さ い。 Symbol レ コ ー ド Symbol レ コ ー ド はシ ン ボル宣言です。 シ ン ボルの場所 と 種類を指定 し ます。 プ ロ ジ ェ ク ト 内ま たは開いてい る フ ァ イ ル バ ッ フ ァ 内にあ る シ ン ボルを一意に指定す る のに使用 し ます。 Symbol レ コ ー ド は、 い く つかの関数に よ っ て返 さ れます。 ま た、 い く つかの関数への入力 と し て使用 さ れ ます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 GetBufSymCount(hbuf) hbuf バ ッ フ ァ で宣言 さ れてい る シ ン ボル数を返 し ます。 シ ン ボルが何 も 宣言 さ れていない場合やフ ァ イ ルの処理を続け ら れない場合、 ま た は フ ァ イ ルの ド キ ュ メ ン ト の種類が言語パーサ を指定 し ていない場合 は、 ゼ ロ を返 し ます。 GetBufSymLocation(hbuf, isym) hbuf バ ッ フ ァ の isym に よ っ て イ ンデ ッ ク ス さ れたシ ン ボルの Symbol レ コ ー ド を返 し ます。 パース さ れたそれぞれの フ ァ イ ル バ ッ フ ァ は定 義 さ れてい る シ ン ボルの イ ンデ ッ ク ス を管理 し ます。 イ ンデ ッ ク ス は シ ン ボル名で格納 さ れます。 Symbol イ ンデ ッ ク ス値は、 ゼ ロ か ら GetBufSymCount で返 さ れ る 数か ら 1 を引いた数ま での値です。 こ の関 数は、 シ ン ボル イ ンデ ッ ク ス (isym) を シ ン ボルの Symbol レ コ ー ド に マ ッ プ し ます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 379 第6章 マ ク ロ言語ガ イ ド GetBufSymName(hbuf, isym) hbuf バ ッ フ ァ の isym に よ っ て イ ンデ ッ ク ス さ れたシ ン ボルの名前を返 し ます。 パース さ れたそれぞれの フ ァ イ ル バ ッ フ ァ は定義 さ れてい る シ ン ボルの イ ンデ ッ ク ス を管理 し ます。 イ ンデ ッ ク ス はシ ン ボル名で 格納 さ れ ます。 Symbol イ ンデ ッ ク ス値は、 ゼ ロ か ら GetBufSymCount で返 さ れ る 数か ら 1 を引いた数ま での値です。 こ の関数は、 シ ン ボル イ ンデ ッ ク ス (isym) を シ ン ボル名にマ ッ プ し ます。 こ の例は、 すべての フ ァ イ ル バ ッ フ ァ シ ン ボルを繰 り 返 し ます。 isymMax = GetBufSymCount (hbuf) isym = 0 while (isym < isymMax) { symname = GetBufSymName (hbuf, isym) ... isym = isym + 1 } GetCurSymbol () 現在の選択範囲があ る シ ン ボルの名前を返 し ます。 現在の選択範囲は ア ク テ ィ ブな ウ ィ ン ド ウ の選択範囲 ( ま たはカー ソ ル位置 ) です。 GetCurSymbol は、 シ ン ボルが見つか ら ない場合は空の文字列を返 し ま す。 GetSymbolLine (symbol_name) symbol_name と い う 名前のシ ン ボルの行番号を返 し ます。 複数のシ ン ボルが同 じ 名前で定義 さ れてい る 場合にユーザーは適切な も の を選択 す る こ と がで き ます。 GetSymbolLocation (symbol_name) symbol_name で指定 さ れてい る シ ン ボル名の場所を返 し ます。 場所は Symbol レ コ ー ド に返 さ れ ます。 シ ン ボルが見つか ら ない場合は空の文 字列を返 し ます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 こ の関数は、 検索処理を Source Insight が Jump To Definition コ マ ン ド を 使用 し た と き にシ ン ボルを検索す る の と 同 じ 方法で実行 し ます。 シ ン ボルが現在のプ ロ ジ ェ ク ト や開いてい る フ ァ イ ルで見つか ら ない場合、 すべてのプ ロ ジ ェ ク ト シ ン ボル パ ス にあ る すべてのプ ロ ジ ェ ク ト も 検 索 さ れ ます。 複数の宣言が symbol_name に対 し て見つか っ た場合は、 ユーザーに複数の定義 リ ス ト が呈示 さ れ ます。 GetSymbolLocationEx を呼び出 し て、 検索処理を よ り 強力に制御で き 、 ま た、 同 じ シ ン ボル名で複数の定義を持つシ ン ボルを特定で き ます。 380 Source Insight ユーザー マニ ュ アル 第6章 シ ンボル関数 こ の例では、 シ ン ボルの定義を検索 し 、 ソ ース フ ァ イ ル と 行番号を表 示 し ます。 symbol = Ask("What symbol do you want to locate?") loc = GetSymbolLocation(symbol) if (loc == "") Msg (symbol # " was not found") else Msg (symbol # " was found in " # loc.file # " at line " # loc.lnFirst) フ ァ イル名の特定 GetSymbolLocation では、 フ ァ イ ル名を検索す る こ と も で き ます。 単純 な フ ァ イ ル名を symbol_name パ ラ メ ー タ と し て指定す る こ と に よ り 、 GetSymbolLocation はプ ロ ジ ェ ク ト ま たはプ ロ ジ ェ ク ト シ ン ボル パ ス の フ ァ イ ルを検索 し 、 完全修飾パ ス を location.file フ ィ ール ド の フ ァ イ ルに返 し ます。 こ れは、 単純な フ ァ イ ル名を フル パ ス に拡張す る のに 役立ち ます。 例: loc = GetSymbolLocation("simple.c") fullfilename = loc.file // fullfilename could be something like "d:\proj\simple.c" GetSymbolLocationEx (symbol_name, output_buffer, fMatchCase, LocateFiles, fLocateSymbols) symbol_name で指定 さ れたシ ン ボルに対す る すべての宣言を見つけ ま す。 各宣言の位置は、 Symbol レ コ ー ド と し ての output_buffer バ ッ フ ァ に行 と し て追加 さ れ ます。 fMatchCase の場合は、 シ ン ボル名の大文字 小文字が完全に一致 し なければな り ません。 fLocateFiles の場合は、 プ ロ ジ ェ ク ト ま たはプ ロ ジ ェ ク ト のシ ン ボル パ ス の フ ァ イ ル名が特定 さ れ ます。 フ ァ イ ルの拡張子を指定す る 必要はあ り ません。 fLocateSymbols の場合、 シ ン ボル定義が特定 さ れ ます。 fLocateFiles も fLocateSymbols も True に設定 さ れます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 レ コ ー ド 変数を文字列 と し 表現で き る ため、 Symbol レ コ ー ド はバ ッ フ ァ のテ キ ス ト 行 と し て記述 さ れ る こ と があ り ます。 Symbol レ コ ー ド を出力バ ッ フ ァ か ら 読み取 る には、 GetBufLine 関数を使用 し て、 行テ キ ス ト 全体を返 し ます。 こ の場合は、 Symbol レ コ ー ド です。 Symbol レ コ ー ド の説明は GetSymbolLocation を参照 し て く だ さ い。 GetSymbolLocationEx は一致 し た宣言の数を返すか、 ま たは何 も 見つか ら ない場合はゼ ロ を返 し ます。 GetSymbolLocation 関数 と は異な り 、 こ の関数は symbol_name と 一致す る 複数の宣言を見つけ ます。 こ の関数を使用 し て、 出力バ ッ フ ァ の各 Source Insight ユーザー マニ ュ アル 381 第6章 マ ク ロ言語ガ イ ド 行を ス キ ャ ンす る こ と に よ り 、 それぞれの場所を列挙す る こ と がで き ます。 こ の例では、 シ ン ボルを検索 し 、 見つか っ たそれぞれの宣言を列挙 し ます。 symbol = Ask("What symbol do you want to locate?") hbuf = NewBuf("output") count = GetSymbolLocationEx(symbol, hbuf, 1, 1, 1) ln = 0 while (ln < count) { loc = GetBufLine(hbuf, ln) msg (loc.file # " at line " # loc.lnFirst) ln = ln + 1 } CloseBuf(hbuf) フ ァ イル名の特定 GetSymbolLocationEx では、 フ ァ イ ル名を検索す る こ と も で き ます。 単 純な フ ァ イ ル名を symbol_name パ ラ メ ー タ と し て指定す る こ と に よ り 、 GetSymbolLocationEx はプ ロ ジ ェ ク ト ま たはプ ロ ジ ェ ク ト シ ン ボ ル パ ス の フ ァ イ ルを検索 し 、 完全修飾パ ス を location.file フ ィ ール ド の フ ァ イ ルに返 し ます。 GetSymbolLocation の例を参照 し て く だ さ い。 fLocateFiles が TRUE で、 シ ン ボル名が拡張子な し で指定 さ れてい る 場 合、 GetSymbolLocationEx は、 拡張子に関わ ら ず こ の基本名を持つフ ァ イ ルを特定 し ます。 た と えば、 symbol_name に 「dlg」 を指定 し た場 合、 GetSymbolLocationEx は 「dlg.c」 ( フ ァ イ ル ) と 「dlg.h」 ( 別の フ ァ イ ル ) を返 し ます。 さ ら に、 fLocateSymbols も TRUE に設定 さ れてい る 場合は、 「DLG」 ( デー タ 型 ) も 返 さ れます。 GetSymbolFromCursor (hbuf, ln, ich) 指定 さ れた カー ソ ル位置にあ る シ ン ボル名の Symbol レ コ ー ド を返 し ます。 hbuf はバ ッ フ ァ ハン ド ルです。 ln は行番号です。 ich は、 行上 のゼ ロ ベース の文字 イ ンデ ッ ク ス です。 ジ ャ ンプす る 代わ り に、 Symbol レ コ ー ド を返す こ と を除 き 、 Jump To Definition コ マ ン ド 同 じ よ う に動作 し ます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 GetSymbolLocationFromLn (hbuf, ln) hbuf バ ッ フ ァ 内の行番号 In にあ る シ ン ボルの Symbol レ コ ー ド を返 し ます。 ln にあ る シ ン ボルは、 宣言に指定 さ れた行番号 ln が含まれてい る シ ン ボルです。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 382 Source Insight ユーザー マニ ュ アル 第6章 シ ンボル関数 JumpToLocation (symbol_record) symbol_record で指定 さ れた場所にジ ャ ン プ し ます。 Symbol レ コ ー ド の フ ァ イ ルが開 き 、 カー ソ ルを そ こ で定義 さ れてい る シ ン ボルに移動 し ます。 こ れは、 Jump To Definition コ マ ン ド と 同 じ よ う に動作 し ます。 Symbol レ コ ー ド は GetSymbolLocation 関数に よ っ て返 さ れます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 JumpToSymbolDef (symbol_name) symbol_name と い う 名前のシ ン ボルの定義にジ ャ ン プ し ます。 フ ァ イ ルが開 き 、 カー ソ ルがそ こ で定義 さ れてい る シ ン ボルに移動 し ます。 こ れは、 Jump To Definition コ マ ン ド と 同 じ よ う に動作 し ます。 SymbolChildren (symbol) 指定 さ れたシ ン ボルの子を含む新 し いシ ン ボル リ ス ト ハン ド ルを返 し ます。 シ ン ボルの子は、 シ ン ボルのボデ ィ 内で宣言 さ れたシ ン ボルで す。 た と えば、 ク ラ ス の子は ク ラ ス メ ンバです。 symbol には Symbol レ コ ー ド が含まれます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 SymListFree を呼び出 し て SymbolChildren に よ っ て返 さ れたシ ン ボル リ ス ト ハン ド ルを解放 し ます。 Symbol List 関数を使用 し て、 こ の関数に よ っ て返 さ れたシ ン ボル リ ス ト にア ク セ ス で き ます。 Source Insight ユーザー マニ ュ アル 383 第6章 マ ク ロ言語ガ イ ド 例 こ の例では、 シ ン ボルの定義 と その子を表示 し ます。 symbolname = Ask("What symbol do you want to locate?") symbol = GetSymbolLocation(symbolname) if (symbol == nil) Msg (symbolname # " was not found") else { hsyml = SymbolChildren(symbol) cchild = SymListCount(hsyml) ichild = 0 while (ichild < cchild) { childsym = SymListItem(hsyml, ichild) Msg (childsym.symbol # " was found in " # childsym.file # " at line " # childsym.lnFirst) ichild = ichild + 1 } SymListFree(hsyml) } SymbolContainerName (symbol) シ ン ボル名の コ ン テナ コ ン ポーネ ン ト を返 し ます。 symbol には Symbol レ コ ー ド が含まれます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 各シ ン ボル名は、 ド ッ ト (.) 文字で区切 ら れたパ ス の コ ン ポーネ ン ト に 分類 さ れ ます。 た と えば、 「myclass.member1」 と い う シ ン ボル名では、 「member1」 は 「myclass」 に含まれてい ます。 SymbolDeclaredType (symbol) symbol で指定 さ れた宣言の種類の Symbol レ コ ー ド を返 し ます。 symbol には Symbol レ コ ー ド が含まれます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 SymbolLeafName (symbol) 「 リ ーフ」 を返すか、 ま たはシ ン ボル名の右端の コ ン ポーネ ン ト を返 し ます。 symbol には Symbol レ コ ー ド が含まれます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 各シ ン ボル名は、 ド ッ ト (.) 文字で区切 ら れたパ ス の コ ン ポーネ ン ト に 分類 さ れ ます。 た と えば、 「myclass.member1」 と い う シ ン ボル名では、 「member1」 は 「myclass」 に含まれてい ます。 384 Source Insight ユーザー マニ ュ アル 第6章 関数の検索 SymbolParent (symbol) 指定 さ れたシ ン ボルの親の Symbol レ コ ー ド を返 し ます。 シ ン ボルの 親は、 そのシ ン ボルを含むシ ン ボルです。 symbol には Symbol レ コ ー ド が含まれます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 SymbolRootContainer (symbol) ルー ト ま たはシ ン ボル名の最 も 右側の コ ン ポーネ ン ト を返 し ます。 symbol には Symbol レ コ ー ド が含まれます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 各シ ン ボル名は、 ド ッ ト (.) 文字で区切 ら れたパ ス の コ ン ポーネ ン ト に 分類 さ れ ます。 た と えば、 「myclass.member1」 と い う シ ン ボル名では、 「member1」 は 「myclass」 に含まれてい ます。 SymbolStructureType (symbol) 指定 さ れたシ ン ボルの構造 タ イ プの Symbol レ コ ー ド を返 し ます。 構 造 タ イ プは、 シ ン ボルの struct タ イ プ ま たは ク ラ ス タ イ プで、 typedefs に よ っ て間接的に参照 さ れ る 可能性があ り ます。 symbol には Symbol レ コ ー ド が含まれます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 関数の検索 関数は単語やパ タ ーンへの参照を検索 し ます。 GetSourceLink (hbufSource, lnSource) Link レ コ ー ド の ソ ース リ ン ク 先を返 し ます。 ソ ース バ ッ フ ァ は hbufSource で ソ ース行番号は lnSource です。 指定 さ れた行に ソ ース リ ン ク が含ま れていない場合は、 空の文字列が返 さ れ ます。 351 ページ の 「Link レ コ ー ド 」 も 参照 し て く だ さ い。 リ ン ク 先は、 あ る 行番号のあ る フ ァ イ ルの場所を ポ イ ン ト し ます。 こ の ソ ース リ ン ク 情報は、 2 つの任意の場所に リ ン ク し ます。 た と えば、 検索結果バ ッ フ ァ には、 検索パ タ ーン に一致す る それぞれの行の ソ ー ス リ ン ク が含ま れてい ます。 LoadSearchPattern(pattern, fMatchCase, fRegExp, fWholeWordsOnly) [Search] コ マ ン ド 、 [Search Forward] コ マ ン ド 、 [Search Backward] コ マ ン ド で使用 さ れた検索パ タ ーン を ロ ー ド し ます。 Source Insight ユーザー マニ ュ アル 385 第6章 マ ク ロ言語ガ イ ド 検索パ タ ーン文字列は pattern で指定 さ れます。 fMatchCase の場合、 検索では大文字 と 小文字が区別 さ れます。 fRegExpr の場合、 パ タ ーン には正規表現が含まれ ます。 それ以外の場 合は、 パ タ ーンは単純な文字列です。 fWholeWordsOnly の場合は、 完全に一致す る 単語だけが検索 さ れ ます。 ReplaceInBuf(hbuf, oldPattern, newPattern, lnStart, lnLim, fMatchCase, fRegExp, fWholeWordsOnly, fConfirm) 指定 さ れたバ ッ フ ァ で検索処理 と 置換処理を実行 し ます。 検索パ タ ーン文字列は、 oldPattern で指定 さ れます。 置換パ タ ーン文字列は、 newPattern で指定 さ れます。 行範囲は、 lnSart か ら lnLim で指定 さ れ ます。 置換処理は、 lnStart up か ら lnLim - 1 ま での行で行われ ます。 fMatchCase の場合、 検索では大文字 と 小文字が区別 さ れます。 fRegExpr の場合、 パ タ ーン には正規表現が含まれ ます。 それ以外の場 合は、 パ タ ーンは単純な文字列です。 fWholeWordsOnly の場合は、 完全に一致す る 単語だけが検索 さ れ ます。 fConfirm の場合、 置換を行 う 前に確認 さ れ ます。 SearchForRefs (hbuf, word, fTouchFiles) プ ロ ジ ェ ク ト 全体で単語中に含まれ る 単語文字列への参照を検索 し ま す。 word を含むそれぞれの行がバ ッ フ ァ hbuf に追加 さ れ ます。 fTouchFiles が TRUE の場合、 word を含む各フ ァ イ ルでは、 最終更新時 の タ イ ム ス タ ン プが現在の時間に設定 さ れます。 こ の関数は、 [Lookup References] コ マ ン ド に似てい ます。 word には複 数の単語を含め る こ と がで き ますが、 こ の関数は単一単語の方が よ り 高速に動作 し ます。 386 Source Insight ユーザー マニ ュ アル 第6章 関数の検索 こ の例では、 新規の検索フ ァ イ ルを作成 し 、 参照を検索 し ます。 macro LookupRefs (symbol) { hbuf = NewBuf("Results") // create output buffer if (hbuf == 0) stop SearchForRefs(hbuf, symbol, 0) SetCurrentBuf(hbuf) // put buffer in a window } SearchInBuf (hbuf, pattern, lnStart, ichStart, fMatchCase, fRegExp, fWholeWordsOnly) hbuf バ ッ フ ァ のパ タ ーン を検索 し ます。 検索は行番号 lnStart と 文字 イ ンデ ッ ク ス ichFirst で開始 し ます。 SearchInBuf は、 一致テ キ ス ト の橋 渡 し をす る Sel レ コ ー ド を返 し ます。 何 も 見つか ら ない場合は、 空の 文字列が返 さ れ ます。 Sel レ コ ー ド の説明は GetWndSel を参照 し て く だ さ い。 fMatchCase の場合、 検索では大文字 と 小文字が区別 さ れます。 fRegExpr の場合、 パ タ ーン には正規表現が含まれ ます。 それ以外の場 合は、 パ タ ーンは単純な文字列です。 fWholeWordsOnly の場合は、 完全に一致す る 単語だけが検索 さ れ ます。 SetSourceLink (hbufSource, lnSource, target_file, lnTarget) 新規の ソ ース リ ン ク を作成 し ます。 リ ン ク ソ ース バ ッ フ ァ は hbufSource です。 リ ン ク ソ ース の行番号は lnSource です。 リ ン ク タ ー ゲ ッ ト フ ァ イ ルは target_file でパ ス文字列で指定 さ れます。 リ ン ク タ ーゲ ッ ト の行番号は lnTarget です。 成功 し た場合は True、 そ う でない場合は False を返 し ます。 Target_file は必ず し も 存在す る 必要はあ り ません。 target_file が存在 し ないために 処理が失敗す る こ と はあ り ません。 ま た、 target_file が開いてい る 必要 も あ り ません。 一貫 し た結果を得 る ため、 target_file にはフ ァ イ ルの完全修飾パ ス名を 含め ます。 ただ し 、 こ の関数に簡単な フ ァ イ ル スペ ッ ク を渡 し て、 現 在のプ ロ ジ ェ ク ト と プ ロ ジ ェ ク ト シ ン ボル パ ス に含ま れてい る フ ァ イ ルに基づいて target_file が拡張 さ れます。 ソ ース バ ッ フ ァ が閉 じ る か、 ま たは ソ ース行が削除 さ れ る と ソ ース リ ン ク は破棄 さ れ ます。 Source Insight ユーザー マニ ュ アル 387 第6章 マ ク ロ言語ガ イ ド プ ロ ジ ェ ク ト 関数 プ ロ ジ ェ ク ト 関数では、 プ ロ ジ ェ ク ト を開いた り 閉 じ た り 、 ま たはプ ロ ジ ェ ク ト 情報を入手す る こ と が可能です。 AddConditionVariable(hprj, szName, szValue) コ ー ド の解析中に #if な ど の条件文を評価す る のに使用 さ れ る 条件付 き 解析変数を追加 し ます。 Hprj はプ ロ ジ ェ ク ト へのハン ド ルです。 hprj が hNil の場合、 新 し い変 数がグ ロ ーバル条件 リ ス ト に追加 さ れます。 変数名は szName で指定 さ れ、 値は szValue で指定 さ れます。 グ ロ ーバル リ ス ト と プ ロ ジ ェ ク ト 固有 リ ス ト の 2 つの条件 リ ス ト があ り ます。 プ ロ ジ ェ ク ト を開 く と 、 2 つの リ ス ト がマージ さ れ、 グ ロ ー バル リ ス ト のエ ン ト リ は、 プ ロ ジ ェ ク ト 固有の リ ス ト で上書 き さ れま す。 388 ページ の 「DeleteConditionVariable」 も 参照 し て く だ さ い。 86 ペー ジの 「条件付 き 解析」 も 参照 し て く だ さ い。 AddFileToProj(hprj, filename) 指定 さ れた filename を hprj プ ロ ジ ェ ク ト に追加 し ます。 CloseProj (hprj) hprj プ ロ ジ ェ ク ト を終了 し ます。 DeleteConditionVariable(hprj, szName) コ ー ド の解析中に #if な ど の条件文を評価す る のに使用 さ れ る 条件付 き 解析変数を削除 し ます。 Hprj はプ ロ ジ ェ ク ト へのハン ド ルです。 hprj が hNil の場合、 変数がグ ロ ーバル条件 リ ス ト か ら 削除 さ れます。 変数名は、 szName で指定 さ れます。 グ ロ ーバル リ ス ト と プ ロ ジ ェ ク ト 固有 リ ス ト の 2 つの条件 リ ス ト があ り ます。 プ ロ ジ ェ ク ト を開 く と 、 2 つの リ ス ト がマージ さ れ、 グ ロ ー バル リ ス ト のエ ン ト リ は、 プ ロ ジ ェ ク ト 固有の リ ス ト で上書 き さ れま す。 388 ページ の 「AddConditionVariable」 も 参照 し て く だ さ い。 86 ページ の 「条件付 き 解析」 も 参照 し て く だ さ い。 388 Source Insight ユーザー マニ ュ アル 第6章 プ ロ ジ ェ ク ト 関数 DeleteProj (proj_name) proj_name で指定 さ れてい る プ ロ ジ ェ ク ト を削除 し ます。 そのプ ロ ジ ェ ク ト が現在開いてい る 場合は、 最初にプ ロ ジ ェ ク ト を閉 じ る か ど う か を確認す る メ ッ セージが表示 さ れます。 ユーザーがプ ロ ジ ェ ク ト を閉 じ ない場合は、 プ ロ ジ ェ ク ト は削除 さ れ ません。 EmptyProj () プ ロ ジ ェ ク ト か ら すべての フ ァ イ ルを削除す る こ と に よ り 、 プ ロ ジ ェ ク ト を空に し ます。 実際の フ ァ イ ル自体には影響はあ り ません。 成功 し た場合は True、 エ ラ ーの場合は False を返 し ます。 GetCurrentProj () 現在開いてい る プ ロ ジ ェ ク ト のハン ド ル (hprj) を返 し ます。 Source Insight では、 ユーザーは一度に 1 つのプ ロ ジ ェ ク ト を開 く こ と がで き ますが、 マ ク ロ 言語か ら は複数のプ ロ ジ ェ ク ト を開 く こ と がで き ます。 GetProjDir (hprj) hprj プ ロ ジ ェ ク ト の ソ ース デ ィ レ ク ト リ パ ス を返 し ます。 GetProjFileCount (hprj) hprj プ ロ ジ ェ ク ト に追加 さ れた フ ァ イ ル数を返 し ます。 GetProjFileName (hprj, ifile) hprj プ ロ ジ ェ ク ト の イ ンデ ッ ク ス フ ァ イ ルに関連付け ら れてい る プ ロ ジ ェ ク ト フ ァ イ ルの名前を返 し ます。 各プ ロ ジ ェ ク ト には、 フ ァ イ ル名で ソ ー ト さ れたプ ロ ジ ェ ク ト フ ァ イ ルの イ ンデ ッ ク ス があ り ます。 GetProjFileName は、 イ ンデ ッ ク ス を フ ァ イ ル名にマ ッ プ し ます。 フ ァ イ ル イ ンデ ッ ク ス値は、 ゼ ロ か ら GetProjFileCount で返 さ れ る 数ま での値です。 次の例は、 すべてのプ ロ ジ ェ ク ト フ ァ イ ルを統合 し ます。 ifileMax = GetProjFileCount (hprj) ifile = 0 while (ifile < ifileMax) { filename = GetProjFileName (hprj, ifile) .. ifile = ifile + 1 } GetProjName (hprj) hprj プ ロ ジ ェ ク ト の名前を返 し ます。 名前には、 プ ロ ジ ェ ク ト フ ァ イ ルの フルパ ス が含まれてい ます。 Source Insight ユーザー マニ ュ アル 389 第6章 マ ク ロ言語ガ イ ド GetProjSymCount (hprj) hprj プ ロ ジ ェ ク ト のシ ン ボル数を返 し ます。 GetProjSymLocation (hprj, isym) hprj プ ロ ジ ェ ク ト の イ ンデ ッ ク ス isym に関連付け ら れたシ ン ボルの Symbol レ コ ー ド にあ る シ ン ボルの位置情報を返 し ます。 354 ページの 「Symbol レ コ ー ド 」 も 参照 し て く だ さ い。 各プ ロ ジ ェ ク ト には、 シ ン ボル名で ソ ー ト さ れたシ ン ボルの イ ンデ ッ ク ス があ り ます。 GetProjSymLocation は イ ンデ ッ ク ス を シ ン ボルの Symbol レ コ ー ド にマ ッ プ し ます。 シ ン ボル イ ンデ ッ ク ス値は、 ゼ ロ か ら GetProjSymCount で返 さ れ る 数ま での値です。 JumpToLocation を呼び出 し て、 GetProjSymLocation に よ り 返 さ れ る Symbol レ コ ー ド に移動す る こ と がで き ます。 Symbol レ コ ー ド についての詳細は、 GetSymbolLocation を参照 し て く だ さ い。 GetProjSymName (hprj, isym) プ ロ ジ ェ ク ト の イ ンデ ッ ク ス isym に関連付け ら れてい る シ ン ボルの名 前を返 し ます。 各プ ロ ジ ェ ク ト には、 シ ン ボル名で ソ ー ト さ れたシ ン ボルの イ ンデ ッ ク ス があ り ます。 GetProjSymName は、 イ ンデ ッ ク ス を シ ン ボル名に マ ッ プ し ます。 Symbol イ ンデ ッ ク ス値は、 ゼ ロ か ら GetProjSymCount で返 さ れ る 数か ら 1 を引いた数ま での値です。 こ の例は、 すべてのプ ロ ジ ェ ク ト シ ン ボルを統合 し ます。 isymMax = GetProjSymCount (hprj) isym = 0 while (isym < isymMax) { symname = GetProjSymName (hprj, isym) .. isym = isym + 1 } NewProj (proj_name) 新規プ ロ ジ ェ ク ト を作成 し 、 プ ロ ジ ェ ク ト ハン ド ル (hprj) を返 し ます。 ま たはエ ラ ーの場合は、 hNil を返 し ます。 OpenProj (proj_name) proj_name と い う 名前のプ ロ ジ ェ ク ト を開 き 、 プ ロ ジ ェ ク ト ハン ド ル (hprj) を返 し ます。 ま たはエ ラ ーの場合は hNil を返 し ます。 390 Source Insight ユーザー マニ ュ アル 第6章 その他のマ ク ロ関数 RemoveFileFromProj(hprj, filename) hprj プ ロ ジ ェ ク ト か ら 指定 さ れた filename を削除 し ます。 デ ィ ス ク 上 の フ ァ イ ルは変更 さ れた り 、 削除 さ れ ません。 SyncProj (hprj) hprj プ ロ ジ ェ ク ト を同期 し ます。 プ ロ ジ ェ ク ト のすべての フ ァ イ ルが、 外部の変更に対 し てチ ェ ッ ク さ れ、 変更 さ れた フ ァ イ ルに対 し て Source Insight のシ ン ボル デー タ ベース が イ ン ク リ メ ン タ ルに更新 さ れ ます。 SyncProjEx(hprj, fAddNewFiles, fForceAll, fSupressWarnings) hprj プ ロ ジ ェ ク ト を同期 し ます。 プ ロ ジ ェ ク ト のすべての フ ァ イ ルが、 外部の変更に対 し てチ ェ ッ ク さ れ、 変更 さ れた フ ァ イ ルに対 し て Source Insight のシ ン ボル デー タ ベース が イ ン ク リ メ ン タ ルに更新 さ れ ます。 fAddNewFiles が True の場合は、 新 し い フ ァ イ ルが自動でプ ロ ジ ェ ク ト に追加 さ れ ます。 [Document Options] コ マ ン ド で定義 さ れてい る ド キ ュ メ ン ト タ イ プに一致す る フ ァ イ ル名のみが追加 さ れ ます。 fForceAll の場合、 プ ロ ジ ェ ク ト にあ る 各フ ァ イ ルは タ イ ム ス タ ン プに 関わ ら ず、 再同期 さ れ ます。 fSuppressWarnings の場合、 フ ァ イ ルを開 く 際にエ ラ ーが発生 し て も Source Insight は警告 メ ッ セージ を発行 し ません。 その他のマ ク ロ関数 こ れ ら の関数は、 ほかのカ テ ゴ リ ーには属 し ませんが、 役立つ関数で す。 DumpMacroState (hbufOutput) こ の関数は、 hbufOutput バ ッ フ ァ に実行中のマ ク ロ の現在の状態を説 明す る テ キ ス ト を追加 し ます。 マ ク ロ の状態は、 すべての変数の値、 実行ス タ ッ ク か ら 成 り ます。 こ の関数は、 マ ク ロ をデバ ッ グす る 際に 役立ち ます。 GetProgramEnvironmentInfo () Source Insight が実行 さ れてい る 環境についての情報が含まれてい る ProgEnvInfo レ コ ー ド を返 し ます。 351 ページの 「ProgEnvInfo レ コ ー ド 」 も 参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 391 第6章 マ ク ロ言語ガ イ ド GetProgramInfo () Source Insight の情報が含まれてい る ProgInfo 構造体を返 し ます。 352 ページの 「ProgInfo レ コ ー ド 」 も 参照 し て く だ さ い。 マ ク ロ についてのその他の情報 デバ ッ グ Source Insight にはマ ク ロ のデバ ッ ガーは含まれてい ません。 し か し 、 マ ク ロ は解釈 さ れ る ため、 "Msg" 関数を コ ー ド 中の重要なポ イ ン ト で 使用 し て、 文字列 と 変数値を出力 し 、 簡単に何が行われてい る か を知 る こ と がで き ます。 360 ページの 「Msg (s)」 も 参照 し て く だ さ い。 現在のカー ソ ル位置でマ ク ロ 文の実行を開始す る には、 [Run Macro] を 使用 し ます。 実行を開始す る 行に挿入ポ イ ン ト を配置 し 、 [Run Macro] コ マ ン ド を実行す る だけです。 DumpMacroState 関数を使用 し て、 実行マ ク ロ の実行ス タ ッ ク と 変数状 態を ダ ン プす る こ と がで き ます。 391 ページの 「DumpMacroState (hbufOutput)」 も 参照 し て く だ さ い。 持続性 グ ロ ーバル変数は、 実行間で保持 さ れ ますが、 セ ッ シ ョ ン間では保持 さ れ ません。 ロ ーカル変数は、 実行間で も セ ッ シ ョ ン間で も 保持 さ れ ません。 ただ し 、 フ ァ イ ルに値を格納す る か、 ま たは レ ジ ス ト リ キー の書 き 込み / 読み取 り を行 う こ と に よ り 値を保持す る こ と がで き ます。 非自己書き換えマ ク ロ 実行中にマ ク ロ が自身を書 き 換え ない よ う に し て く だ さ い。 Source Insight は、 マ ク ロ が実行中のマ ク ロ を含むフ ァ イ ルを編集 し よ う と す る と 異常終了 し ます。 サン プル マ ク ロ マ ク ロ フ ァ イ ルは Source Insight の 「utils.em」 に含ま れてい ます。 こ の フ ァ イ ルには、 い く つかの役立つ関数が含まれていて、 サン プル と し て参考にで き ます。 392 Source Insight ユーザー マニ ュ アル 第6章 イ ベン ト ハン ド ラ イ ベン ト ハン ド ラ イ ベン ト ハン ド ラ は、 特定の イ ベン ト が発生す る と 呼び出 さ れ る 、 Source Insight のマ ク ロ 言語で記述 さ れた関数です。 詳細は、 395 ペー ジの第 7 章 「マ ク ロ イ ベン ト ハン ド ラ 」 を参照 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 393 マ ク ロ言語ガ イ ド 394 第6章 Source Insight ユーザー マニ ュ アル 第7章 マ ク ロ イベン ト ハン ド ラ こ の章では、 Source Insight のマ ク ロ 言語で記述 さ れた イ ベン ト ハン ド ラ 関数について説明 し ます。 イ ベン ト ハン ド ラ は、 特定の イ ベン ト が 発生す る と 呼び出 さ れ る 関数です。 こ の章は、 マ ク ロ 言語の規則 と 構 文について理解 し てい る こ と を前提に し てい ます。 マ ク ロ イ ベン ト ハン ド ラ イ ベン ト ハン ド ラ は、 特定の イ ベン ト が発生す る と 呼び出 さ れ る 、 Source Insight のマ ク ロ 言語で記述 さ れた関数です。 'macro' キー ワ ー ド を使用 し て関数を定義す る 代わ り に、 'event' キー ワー ド を使用 し ます。 例: event FileOpen(sFile) { } イ ベン ト ハン ド ラ 関数は値を返 し ません。 イ ベン ト ハン ド ラ 関数を使 用 し て イ ベン ト を終了 さ せた り 、 プ ロ グ ラ ムに値を返す こ と はで き ま せん。 イ ベン ト 関数パ ラ メ ー タ は 正確に入力 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 395 第7章 マ ク ロ イ ベン ト ハン ド ラ イ ベ ン ト ハン ド ラ 名 イ ベン ト ハン ド ラ の名前 と 関数パ ラ メ ー タ は事前に定義 さ れてい ま す。 イ ベン ト ハン ド ラ の関数名 と パ ラ メ ー タ は正確に記述 し て く だ さ い。 Source Insight でサポー ト さ れてい る イ ベン ト は次の と お り です。 ア プ リ ケーシ ョ ン イ ベン ト event AppStart() event AppShutdown() event AppCommand(sCommand) ド キュ メ ン ト イベン ト event event event event event event event DocumentNew(sFile) DocumentOpen(sFile) DocumentClose(sFile) DocumentSave(sFile) DocumentSaveComplete(sFile) DocumentChanged(sFile) DocumentSelectionChanged(sFile) プロジ ェ ク ト イベン ト event ProjectOpen(sProject) event ProjectClose(sProject) ス テー タ ス バー イ ベ ン ト event StatusbarUpdate(sMessage) イ ベン ト ハン ド ラの使用 イ ベン ト ハン ド ラ には さ ま ざ ま な用途があ り ます。 次にい く つかの例 を示 し ます。 396 • ア ク テ ィ ビ テ ィ のモニ タ と 記録。 た と えば、 ロ グ フ ァ イ ルに動 作を記録 し 、 後でその情報を使用 し てプ ロ ジ ェ ク ト の編集 さ れ た部分を解析で き ます。 • Source Insight 内の動作 と 他のプ ロ グ ラ ムやフ ァ イ ルの同期。 • Source Insight の動作の変更。 • フ ァ イ ル保存前の後処理。 • 新 し い フ ァ イ ルの前処理。 Source Insight ユーザー マニ ュ アル 第7章 イ ベン ト ハン ド ラの Source Insight への追加 イ ベン ト ハン ド ラの Source Insight への追加 イ ベン ト ハン ド ラ フ ァ イルを プ ロ ジ ェ ク ト に追加 し ます。 イ ベン ト ハン ド ラ は、 マ ク ロ ソ ース フ ァ イ ルに保存 さ れます。 つま り 、 拡張子は .em です。 同 じ フ ァ イ ルに イ ベン ト 関数 と マ ク ロ 関数を 記述す る こ と がで き ます。 イ ベン ト ハン ド ラ を記述 し た ら 、 カ レ ン ト プ ロ ジ ェ ク ト に追加 し ます。 プ ロ ジ ェ ク ト に関係な く イ ベン ト を処理 す る 場合は、 ベース プ ロ ジ ェ ク ト に追加 し ます。 Source Insight は指定 さ れた イ ベン ト ハン ド ラ が見つか ら ない場合、 無視 し ます。 Source Insight はプ ロ ジ ェ ト 、 プ ロ ジ ェ ク ト シ ン ボル パ ス、 お よ びベース プ ロ ジ ェ ク ト を検索 し ます。 .em フ ァ イ ルは、 必ずプ ロ ジ ェ ク ト に追加 し て く だ さ い。 追加 し ない と 、 Source Insight は フ ァ イ ル内の イ ベン ト ハン ド ラ を呼び出 し ませ ん。 こ れは、 イ ベン ト ハン ド ラ が記述 さ れてい る .em フ ァ イ ルを開い た際に、 誤っ て イ ベン ト ハン ド ラ が実行 さ れない よ う にす る ためで す。 イ ベン ト ハン ド ラの有効化 [Preferences] で イ ベン ト ハン ド ラ を 有効に し て く だ さ い。 イ ベン ト ハン ド ラ は使用す る 前に有効に し なければな り ません。 セ キ ュ リ テ ィ 上の理由か ら 、 デフ ォ ル ト では無効に さ れてい ます。 イ ベ ン ト ハン ド ラ を有効にす る には、 [Options] > [Preferences] を選択 し て [General] タ ブ を ク リ ッ ク し ます。 次に、 [Enable event handlers] チ ェ ッ ク ボ ッ ク ス を オ ンに し ます。 い っ たん イ ベン ト ハン ド ラ を有効にす る と 、 設定が保存 さ れ る ため、 再度有効にす る 必要はあ り ません。 ま た、 メ ニ ュ ーに割 り 当て た り 、 キース ト ロ ー ク を割 り 当て る こ と が で き る [Enable Event Handlers] ユーザーレベル コ マ ン ド も あ り ます。 メモ : セキ ュ リ テ ィ 上の理由か ら 、 [Enable Event Handlers] コ マ ン ド を マ ク ロ か ら 実行す る こ と はで き ません。 イ ベン ト ハン ド ラ フ ァ イルの編集 Source Insight は、 変更 さ れ、 保存 さ れていない フ ァ イ ルの イ ベン ト ハ ン ド ラ を無視 し ます。 そのため、 イ ベン ト ハン ド ラ ソ ース フ ァ イ ル を編集 し てい る 場合、 編集中の イ ベン ト ハン ド ラ は実行 さ れ ません。 編集が完了 し た ら 、 フ ァ イ ルを保存 し て く だ さ い。 フ ァ イ ルを保存す る と 、 Source Insight は イ ベン ト ハン ド ラ を実行す る よ う にな り ます。 イ ベン ト ハン ド ラのエ ラ ー 1 つの イ ベン ト ハン ド ラ で構文エ ラ ーま たは ラ ン タ イ ム エ ラ ーが発生 す る と 、 すべての イ ベン ト ハン ド ラ が残 り の Source Insight のセ ッ シ ョ Source Insight ユーザー マニ ュ アル 397 第7章 マ ク ロ イ ベン ト ハン ド ラ ン で無効に さ れ、 マ ク ロ エ ラ ー メ ッ セージが表示 さ れ ます。 再度 イ ベ ン ト ハン ド ラ を有効にす る には、 Source Insight を再起動 し ます。 同期イ ベン ト と 非同期イ ベン ト 一部の イ ベン ト ハン ド ラ は、 イ ベン ト が発生す る と す ぐ に呼び出 さ れ ます。 こ れ ら は 「同期」 イ ベン ト と 呼ばれます。 た と えば、 DocumentNew は ユーザーが新規 ド キ ュ メ ン ト を作成す る と す ぐ に呼び 出 さ れます。 し か し 、 一部の イ ベン ト ハン ド ラ は、 イ ベン ト が発生 し た後 ( 通常、 短いア イ ド ル時間の後 ) に呼び出 さ れます。 こ れ ら は 「非同期」 イ ベ ン ト と 呼ばれます。 こ れ ら の イ ベン ト ハン ド ラ は、 イ ベン ト 発生 と 同 時にユーザーに よ っ て記述 さ れたマ ク ロ を呼び出 し た場合、 Source Insight が不安定にな る ため、 非同期にな っ てい ます。 その他の ヒ ン ト イ ベン ト ハン ド ラ は、 1 つの フ ァ イ ルにすべて を保存す る か、 ま たは 「event-something.em」 の よ う な名前のい く つかの フ ァ イ ルに保存 し て く だ さ い。 こ れに よ り 、 こ れ ら の フ ァ イ ルを プ ロ ジ ェ ク ト か ら 削除 し 、 効率的に イ ベン ト ハン ド ラ を無効にす る こ と がで き ます。 グ ロ ーバル変数は、 カ ウ ン タ の追加、 お よ び イ ベン ト 間の状態の管理 に便利です。 ア プ リ ケーシ ョ ン イ ベン ト アプ リ ケーシ ョ ン イ ベン ト は、 Source Insight アプ リ ケーシ ョ ン全体に 適用 さ れ ます。 event AppStart() Source Insight アプ リ ケーシ ョ ン を ロ ー ド し 、 初期化 し た後に呼び出 さ れます。 カ レ ン ト プ ロ ジ ェ ク ト と ワー ク スペース セ ッ シ ョ ンは既に ロ ー ド さ れてい ます。 event AppShutdown() Source Insight アプ リ ケーシ ョ ン を終了す る 直前に呼び出 さ れ ます。 event AppCommand(sCommand) 指定 さ れたユーザーレベル コ マ ン ド を実行 し た直後に呼び出 さ れ ま す。 398 Source Insight ユーザー マニ ュ アル 第7章 ド キ ュ メ ン ト イ ベン ト ド キ ュ メ ン ト イ ベン ト ド キ ュ メ ン ト イ ベン ト は、 フ ァ イ ル バ ッ フ ァ を開いた時、 閉 じ た時、 保存 し た時、 お よ び変更 し た時に適用 さ れ ます。 event DocumentNew(sFile) 指定 さ れた フ ァ イ ル バ ッ フ ァ が作成 さ れた直後に呼び出 さ れ ます。 event DocumentOpen(sFile) フ ァ イ ル バ ッ フ ァ が開かれた直後に呼び出 さ れ ます。 event DocumentClose(sFile) フ ァ イ ル バ ッ フ ァ が閉 じ ら れた直後に呼び出 さ れます。 event DocumentSave(sFile) フ ァ イ ル バ ッ フ ァ が保存 さ れ る 直前 に呼び出 さ れます。 保存 さ れ る 直 前に フ ァ イ ル バ ッ フ ァ を編集で き ます。 保存 さ れた 後 に編集す る 場合 は、 DocumentSaveComplete イ ベン ト を使用 し ます。 event DocumentSaveComplete(sFile) フ ァ イ ル バ ッ フ ァ が保存 さ れた 直後 に呼び出 さ れ ます。 保存 さ れ る 前 に編集す る 場合は、 DocumentSave イ ベン ト を使用 し ます。 event DocumentChanged(sFile) フ ァ イ ル バ ッ フ ァ がユーザーに よ っ て編集 さ れた場合に呼び出 さ れ ま す。 こ の イ ベン ト は非同期で処理 さ れ ます。 つま り 、 ユーザーが入力 し てい る 時に呼び出 さ れ る わけではあ り ません。 一定時間後に呼び出 さ れ ます。 こ の関数を使用 し て、 こ の イ ベン ト ハン ド ラ 内の フ ァ イ ル を編集で き ます。 非同期で呼び出 さ れ る ため、 sFile フ ァ イ ルは開かれ ていない可能性があ る こ と に注意 し て く だ さ い。 event DocumentSelectionChanged(sFile) ユーザーがカ レ ン ト フ ァ イ ルでテ キ ス ト を選択 し た場合やカー ソ ルを 移動 し た場合に呼び出 さ れ ます。 こ の イ ベン ト は非同期で処理 さ れ ま す。 つま り 、 ユーザーがカー ソ ルを移動 し てい る 時に呼び出 さ れ る わ けではあ り ません。 一定時間後に呼び出 さ れ ます。 非同期で呼び出 さ れ る ため、 sFile フ ァ イ ルは開かれていない可能性があ る こ と に注意 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 399 第7章 マ ク ロ イ ベン ト ハン ド ラ プ ロ ジ ェ ク ト イ ベン ト プ ロ ジ ェ ク ト イ ベン ト は、 Source Insight プ ロ ジ ェ ク ト を開いた時、 ま たは閉 じ た時に適用 さ れ ます。 event ProjectOpen(sProject) プ ロ ジ ェ ク ト が開かれた後に呼び出 さ れます。 event ProjectClose(sProject) プ ロ ジ ェ ク ト が閉 じ ら れ る 前に呼び出 さ れ ます。 ス テー タ ス バー イ ベン ト ス テー タ ス バー イ ベン ト は、 ス テー タ ス バー テ キ ス ト が変更 さ れた 時に発生 し ます。 event StatusbarUpdate(sMessage) ス テー タ ス バーの内容が変更 さ れた場合に呼び出 さ れ ます。 こ の イ ベ ン ト は非同期で処理 さ れ ます。 つま り 、 ス テー タ ス バーを変更 し てい る 時に呼び出 さ れ る わけではあ り ません。 一定時間後に呼び出 さ れま す。 こ の関数を使用 し て、 こ の イ ベン ト ハン ド ラ 内の フ ァ イ ルを編集 で き ます。 400 Source Insight ユーザー マニ ュ アル 第8章 付録 : 以前のバージ ョ ンから のア ッ プグレー ド こ の付録では、 Source Insight バージ ョ ン 2.0、 2.1、 3.0、 お よ び 3.1 か ら のア ッ プグ レー ド について説明 し ます。 バージ ョ ン 3.1 またはバージ ョ ン 3.0 からのア ッ プグ レー ド バージ ョ ン 3.0 ま たは 3.1 か ら ア ッ プグ レー ド す る 場合は、 こ のセ ク シ ョ ン をお読み く だ さ い。 ま た、 こ の章を読む と 、 Source Insight バー ジ ョ ン 3.5 について詳 し く 知 る こ と も で き ます。 バージ ョ ン 3.5 には、 重要な変更が含まれてい ます。 ユーザーご と のデー タ フ ォルダ ユーザーご と の デー タ は、 My Documents\Sourc e Insight フ ォルダ に保存 さ れます。 バージ ョ ン 3.5 では、 ユーザーご と のデー タ の場所が変更 さ れてい ま す。 ユーザーご と のデー タ は、 My Documents フ ォ ルダの Source Insight Source Insight ユーザー マニ ュ アル 401 付録 : 以前のバージ ョ ンか らのア ッ プグ レー ド 第8章 サブ フ ォ ルダ内に保存 さ れ ます。 Source Insight フ ォ ルダ内には、 次の サブ フ ォ ルダがあ り ます。 • Projects フ ォルダ - プ ロ ジ ェ ク ト デー タ フ ァ イ ルのデフ ォ ル ト の 場所です。 デフ ォ ル ト では、 各プ ロ ジ ェ ク ト は Projects フ ォ ルダ 内の別々のサブ フ ォ ルダに保存 さ れ ます。 • Settings フ ォルダ - 設定フ ァ イ ルのための フ ォ ルダです。 以前の 設定フ ァ イ ルは、 こ こ に コ ピー さ れ ます、 • Backup フ ォルダ - フ ァ イ ルを保存す る 際に作成 さ れ る バ ッ ク ア ッ プ ソ ース フ ァ イ ルのための フ ォ ルダです。 • Projects\NetFramework フ ォルダ - NetFramework プ ロ ジ ェ ク ト の ための フ ォ ルダです ( イ ン ス ト ール さ れてい る 場合 )。 こ のプ ロ ジ ェ ク ト には、 Source Insight が使用す る .Net Framework ク ラ ス ラ イ ブ ラ リ シ ン ボルが格納 さ れてい ます。 • Projects\Base フ ォルダ - ベース プ ロ ジ ェ ク ト のための フ ォ ルダで す。 ユーザーご と に別々のベース プ ロ ジ ェ ク ト があ り ます。 My Documents 以下にユーザー デー タ を保存す る こ と で、 デー タ の安 全性 と 機密性が確保 さ れ、 デー タ への書 き 込み権が保証 さ れ ます。 ユーザーご と のプ ロ ジ ェ ク ト リ ス ト [Open Project] コ マ ン ド で表示 さ れ る よ う に、 ユーザーご と に別々のプ ロ ジ ェ ク ト リ ス ト があ り ます。 プ ロ ジ ェ ク ト リ ス ト フ ァ イ ルは、 ユーザーの Projects フ ォ ルダに保存 さ れてい ます。 [Open Project] ダ イ ア ロ グ ボ ッ ク ス で [Browse] ボ タ ン を ク リ ッ ク し 、 リ ス ト にないプ ロ ジ ェ ク ト を検索す る こ と も で き ます。 ア ク セ ス権があ る 限 り 、 プ ロ ジ ェ ク ト を開 く こ と がで き ます。 開いたプ ロ ジ ェ ク ト は、 プ ロ ジ ェ ク ト リ ス ト に追加 さ れます。 プ ロ ジ ェ ク ト フ ァ イルの保存 各プ ロ ジ ェ ク ト のプ ロ ジ ェ ク ト 設定は、 次の 2 つの フ ォ ルダ を指定 し ます。 402 • プ ロ ジ ェ ク ト デー タ デ ィ レ ク ト リ - Source Insight がプ ロ ジ ェ ク ト デー タ フ ァ イ ルを保管す る 場所です。 た と えば、 .pr フ ァ イ ルは こ こ に格納 さ れ ます。 デフ ォ ル ト では、 新規プ ロ ジ ェ ク ト を作 成す る 場合、 Source Insight は Projects フ ォ ルダにプ ロ ジ ェ ク ト デー タ デ ィ レ ク ト リ を作成 し ます。 • プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ - プ ロ ジ ェ ク ト ソ ース フ ァ イ ル が位置す る メ イ ン の場所です 。 以前のバージ ョ ン の Source Insight では、 プ ロ ジ ェ ク ト ルー ト デ ィ レ ク ト リ と 呼ばれてい ま し た。 Source Insight ユーザー マニ ュ アル 第8章 バージ ョ ン 2 から のア ッ プグ レー ド こ れ ら 2 つの別の フ ォ ルダ を使用す る こ と で、 Source Insight のデー タ を ソ ース フ ァ イ ル と 別の場所に格納で き ます。 さ ら に、 Source Insight のプ ロ ジ ェ ク ト フ ァ イ ルは、 常に個々のユーザー デー タ エ リ アに保 存 さ れ る ため、 同 じ マシ ンの他のユーザーか ら ア ク セ ス で き ません。 両方の フ ォ ルダで同 じ 場所を使用す る こ と は可能です。 プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ の場所を編集す る には、 [Project Settings] コ マ ン ド を使用 し ます。 カ ス タ ム コ マ ン ド デ ィ レ ク ト リ の置換 カ ス タ ム コ マ ン ド では、 次の メ タ 文字が こ れ ら のデ ィ レ ク ト リ に置換 さ れ ます。 • %j - プ ロ ジ ェ ク ト ソ ース デ ィ レ ク ト リ • %J - プ ロ ジ ェ ク ト デー タ デ ィ レ ク ト リ .NET Framework のサポー ト .NET Framework ク ラ ス ラ イ ブ ラ リ シ ン ボルは Source Insight が作成 し た NetFramework プ ロ ジ ェ ク ト に格納 さ れ ます。 Source Insight は、 ユーザーのプ ロ ジ ェ ク ト フ ォ ルダの NetFramework フ ォ ルダにプ ロ ジ ェ ク ト を保存 し ます。 Source Insight は、 .NET Framework ク ラ ス ラ イ ブ ラ リ のシ ン ボルを宣言 す る 「 ソ ース フ ァ イ ル」 のセ ッ ト も イ ン ス ト ール し ます。 こ れ ら の ソ ース は、 Source Insight プ ロ グ ラ ム フ ォ ルダの NetFramework フ ォ ル ダに保存 さ れ ます。 マシ ン ご と に 1 つの コ ピーがあ り ます。 こ れ ら の 「 ソ ース フ ァ イ ル」 は C# 構文のマシ ン生成フ ァ イ ルです。 し か し 、 こ れ ら の ソ ース フ ァ イ ルは厳密な C# 互換ではあ り ません。 フ ァ イ ルの 内容は、 Source Insight の新 し いバージ ョ ン では変更 さ れ る こ と があ り ます。 Source Insight で NetFramework プ ロ ジ ェ ク ト を作成す る には、 [Setup Common Projects] コ マ ン ド を使用す る か、 [Preferences: Symbol Lookups] ダ イ ア ロ グ ボ ッ ク ス で [Create Common Projects] ボ タ ン を ク リ ッ ク し ます。 バージ ョ ン 2 からのア ッ プグレー ド バージ ョ ン 2.0 ま たは 2.1 か ら ア ッ プグ レー ド す る 場合は、 こ のセ ク シ ョ ン をお読み く だ さ い。 Source Insight ユーザー マニ ュ アル 403 付録 : 以前のバージ ョ ンか らのア ッ プグ レー ド 第8章 バージ ョ ン 3 のイ ン ス ト ール マシ ンにバージ ョ ン 2.x を イ ン ス ト ール し てい る 場合、 バージ ョ ン 2.x. と 異な る デ ィ レ ク ト リ にバージ ョ ン 3.5 を イ ン ス ト ール し て く だ さ い。 以前のプ ロ ジ ェ ク ト を開 く Source Insight 3.5 は、 バージ ョ ン 2.x で作成 さ れたプ ロ ジ ェ ク ト フ ァ イ ルを読み取 る こ と がで き ますが、 バージ ョ ン 3.5 の形式に変換す る 必 要があ り ます。 Source Insight バージ ョ ン 2.x を続けて使用す る 場合は、 バージ ョ ン 3.5 用にプ ロ ジ ェ ク ト を作成 し 直す こ と をお勧め し ます。 以前のプ ロ ジ ェ ク ト の検索 バージ ョ ン 3.5 をバージ ョ ン 2.x と 異な る デ ィ レ ク ト リ に イ ン ス ト ール す る 場合、 バージ ョ ン 3.5 に以前のプ ロ ジ ェ ク ト の記録はあ り ません。 ただ し 、 以前のプ ロ ジ ェ ク ト を開 く こ と は可能です。 バージ ョ ン 2.x のプ ロ ジ ェ ク ト を開 く には、 [Project] > [Open Project] コ マ ン ド を使用 し ます。 ダ イ ア ロ グ ボ ッ ク ス で [Browse] ボ タ ン を ク リ ッ ク し 、 以前の .PR フ ァ イ ルを参照 し ます。 以前の .PR フ ァ イ ルを選択 し 、 [OK] を ク リ ッ ク し てか ら [Open] を ク リ ッ ク し ます。 Source Insight は、 プ ロ ジ ェ ク ト をバージ ョ ン 3.5 の形式に変換 し ます。 以前のカ ス タ マ イ ズのロー ド 設定フ ァ イ ルは、 カ ス タ マ イ ズ を保存す る ために使用 さ れます。 バー ジ ョ ン 3.5 では、 設定フ ァ イ ルの フ ォーマ ッ ト が変更 さ れてい ますが、 Source Insight は 2.x 形式の フ ァ イ ル も 読み取 る こ と がで き ます。 ま た、 フ ァ イ ルの拡張子 も .CF か ら .CF3 に変更 さ れてい ます。 以前の設定フ ァ イ ルを ロ ー ド す る には、 [Options] > [Load Configuration] コ マ ン ド を使用 し ます。 [Load] ボ タ ン を ク リ ッ ク し 、 Source Insight バージ ョ ン 2.x の イ ン ス ト ール デ ィ レ ク ト リ を参照 し ます。 拡張子が .CF の フ ァ イ ルが表示 さ れ ます。 バージ ョ ン 2.x の メ イ ン グ ロ ーバル 設定フ ァ イ ルは global.cf です。 こ の フ ァ イ ルを選択 し 、 [OK] を ク リ ッ ク し ます。 以前の設定フ ァ イ ルが ロ ー ド さ れ、 自動的に新 し いグ ロ ー バル設定フ ァ イ ル global.cf3 に保存 さ れ ます。 404 Source Insight ユーザー マニ ュ アル 第8章 バージ ョ ン 3 の新機能 バージ ョ ン 3 と バージ ョ ン 2 の併用 た と えば、 バージ ョ ン 3.5 と 2.x を同 じ マシ ン で使用で き ます。 それぞ れ別の レ ジ ス ト リ 設定を使用す る ため、 併用 し て も 問題あ り ません。 し か し 、 下記のガ イ ド ラ イ ン に従っ て く だ さ い。 • マシ ンにバージ ョ ン 2.x を イ ン ス ト ール し てい る 場合、 バージ ョ ン 2.x. と 違 う デ ィ レ ク ト リ にバージ ョ ン 3.5 を イ ン ス ト ール し て く だ さ い。 • バージ ョ ン 2.x と バージ ョ ン 3.5 の イ ン ス タ ン ス を同時に実行 し ないで く だ さ い。 • プ ロ ジ ェ ク ト フ ァ イ ルは互換性があ り ますが、 バージ ョ ン 3.5 用に別のプ ロ ジ ェ ク ト を作成す る こ と をお勧め し ます。 • バージ ョ ン 2.x のプ ロ ジ ェ ク ト を開 く には、 [Open Project] ダ イ ア ロ グ ボ ッ ク ス で [Browse] ボ タ ン を ク リ ッ ク し 、 以前の .PR フ ァ イ ルを指定す る 必要があ り ます。 新 し いデ ィ レ ク ト リ にバー ジ ョ ン 3.5 を イ ン ス ト ール し た場合、 バージ ョ ン 3.5 のデ ィ レ ク ト リ に以前のプ ロ ジ ェ ク ト は含まれません。 • [Options] > [Load Configuration] コ マ ン ド で以前の設定フ ァ イ ルを 開 く こ と がで き ます。 2.x のデ ィ レ ク ト リ で以前の *.CF フ ァ イ ルを選択 し て く だ さ い。 新 し い設定フ ァ イ ルの拡張子は .CF3 に 変更 さ れてい る こ と に注意 し て く だ さ い。 バージ ョ ン 3 の新機能 Source Insight は、 バージ ョ ン 2.x か ら 大幅に変更 さ れてい ます。 主な 変更点を次に要約 し ます。 Source Insight ユーザー マニ ュ アル 405 付録 : 以前のバージ ョ ンか らのア ッ プグ レー ド 第8章 言語機能の改良 バージ ョ ン 3.0 では、 構文解析やシ ン ボル参照な ど、 言語固有の機能 が大幅に変更 さ れてい ます。 い く つかの変更点を次に示 し ます。 • ク ラ ス と 構造体の メ ンバを追跡 し 、 コ ンパ イ ルせずに動的に ク ラ ス継承を解読す る 状況依存シ ン ボル参照エ ン ジ ン。 バージ ョ ン 2.1 では、 フ ィ ール ド メ ンバや継承は追跡で き ませんで し た。 • C++ と Java の入れ子の ク ラ ス と 構造体のサポー ト 。 • C++ の ク ラ ス テ ン プ レー ト と 関数テ ン プ レー ト のサポー ト 。 • C++ の名前空間のサポー ト 。 • 補完 さ れた C 構造体 と ユニオ ン ( つま り 、 イ ン ラ イ ン構造 ) のサ ポー ト 。 • C++ のテ ン プ レー ト ク ラ ス と テ ン プ レー ト 関数のサポー ト 。 • 匿名の構造体 と ユニオ ン のサポー ト 。 • • Source Insight のパーサーのア ッ プ ス ト リ ーム で ソ ース コ ー ド ト ー ク ン を置換す る ため、 さ ま ざ ま な キー ワー ド やプ リ プ ロ セ ッ サ を処理す る こ と がで き る ユーザー定義可能な ト ー ク ン置 換マ ク ロ 。 #ifdef 分岐の有効 / 無効を マー ク す る ためのユーザー定義可能な コ ンパ イ ル時定数。 コ ー ド メ ト リ ク ス。 • 新 し い ビル ト イ ン言語の解析 と 表示のサポー ト 。 • • 406 • Perl お よ び PerlScript • Visual Basic お よ び VBScript • JavaScript お よ び JScript • • 埋め込みス ク リ プ ト を含む HTML、 ASP、 お よ び JSP C# ユーザー定義のカ ス タ ム言語のサポー ト 。 Source Insight ユーザー マニ ュ アル 第8章 バージ ョ ン 3 の新機能 参照機能 と 解析機能の改良 Source Insight は、 プ ロ グ ラ ム のシ ン ボル情報へのア ク セ ス に優れてい ます。 • 作業中、 動的に コ ール ツ リ ー、 ク ラ ス ツ リ ー、 お よ び参照ツ リ ーを更新 し て表示す る 新 し い リ レーシ ョ ン ウ ィ ン ド ウ 。 • よ り 優れた フ ァ イ ル リ ス ト 機能 と シ ン ボル リ ス ト 機能を備え た プ ロ ジ ェ ク ト ウ ィ ン ド ウ。 • シ ン ボル シ ラ ブル イ ンデ ッ ク ス。 シ ン ボル名の部分文字列が イ ンデ ッ ク ス付け さ れてい る ため、 シ ン ボル名の最初の部分が分 か ら な く て も 、 名前の一部を入力す る だけで済みます。 • 非常に大規模なプ ロ ジ ェ ク ト に も 迅速に対応す る よ う に最適化 さ れたシ ン ボル デー タ ベース。 • [Smart Reference Matching] オプシ ョ ン を使用 し 、 適切なシ ン ボル への参照のみを表示す る よ う に改良 さ れた [Lookup References] コ マ ン ド 。 コ メ ン ト や非ア ク テ ィ ブ コ ー ド を ス キ ッ プ / 認識す る こ と も で き ます。 キー ワー ド 検索機能を備え た新 し い [Search Project] コ マ ン ド 。 イ ン タ ーネ ッ ト 検索に似てお り 、 プ ロ ジ ェ ク ト 内の単語を検索 し ます。 • Source Insight ユーザー マニ ュ アル 407 付録 : 以前のバージ ョ ンか らのア ッ プグ レー ド 第8章 編集機能 と 表示機能の改良 バージ ョ ン 3.0 では、 編集機能 と 表示機能が大幅に変更 さ れてい ます。 408 • ユーザー定義ス タ イ ルの リ ッ チ テ キ ス ト 書式に も 対応 し 、 大幅 に改良 さ れた表示機能を提供す る 構文フ ォ ーマ ッ ト 。 Source Insight は、 プ ロ ジ ェ ク ト の単語情報に基づいて ス タ イ ルを自動 的に適用 し ます。 構文フ ォ ーマ ッ ト には次の も のが含まれ ます。 • 関数、 ク ラ ス、 変数な ど の宣言ス タ イ ル。 • い く つかの リ ッ チ 「 コ メ ン ト 」 ス タ イ ル。 • • ロ ーカル、 パ ラ メ ー タ 、 グ ロ ーバル、 マ ク ロ 、 関数な ど、 異な る タ イ プのシ ン ボルへの参照ス タ イ ル。 自動注釈 と 特殊な構文修飾。 • シ ン ボル名入力時の自動補完 。 • イ ン ク リ メ ン タ ル検索。 • すべての適切な コ ン テ キ ス ト のシ ン ボル名を変更す る 新 し い状 況依存 [Smart Rename] コ マ ン ド 。 ロ ーカル変数の名前を素早 く 変更で き ます。 • フ ァ イ ル保存時の操作履歴 と 変更履歴の保存、 お よ び 2 段階の 改訂マー ク の表示。 • 行番号の表示。 • 改ページ と ページ番号の表示。 • 右余白の表示。 • ユーザー定義の [Work] メ ニ ュ ー。 • 保存操作中の フ ァ イ ル制御の改良。 • その他の UI の改良。 次の も のが含まれ ます。 • ウ ィ ン ド ウ の結合の改善。 • すべての ウ ィ ン ド ウ 用のカ ス タ マ イ ズ可能な フ ォ ン ト と 色。 • ダ イ ア ロ グ ボ ッ ク ス の位置の記録。 • 複数選択 リ ス ト 。 • ツールバーの改良。 Source Insight ユーザー マニ ュ アル 第8章 新しいコマン ド 新しいコ マン ド 新しいコ マン ドのリ ス ト Source Insight バージ ョ ン 2.x か ら バージ ョ ン 3.5 で新 し く 追加 さ れた コ マ ン ド を次の表に要約 し ます。 表 8.1: バージ ョ ン 2.x 以降新 し く 追加 さ れた コ マ ン ド コマン ド 説明 Activate Relation Window リ レーシ ョ ン ウ ィ ン ド ウ を開いて選択 し ます。 Add and Remove Project Files カ レ ン ト プ ロ ジ ェ ク ト の フ ァ イ ルを追加 / 削除 し ます。 以前の [Add Files] コ マ ン ド と [Remove Files] コ マ ン ド の代わ り です。 Advanced Options さ ま ざ ま な内部キ ャ ッ シ ュ を有効 / 無効に し ます。 ト ラ ブル シ ュ ーテ ィ ン グ用に提供 さ れてい ます。 Build Project カ ス タ ム ツール コ マ ン ド : プ ロ ジ ェ ク ト を ビル ド し ます。 Check In カ ス タ ム ソ ース管理 : カ レ ン ト フ ァ イ ルをチ ェ ッ ク イ ン し ま す。 Check Out カ ス タ ム ソ ース管理 : カ レ ン ト フ ァ イ ルをチ ェ ッ ク ア ウ ト し ま す。 Checkpoint カ レ ン ト フ ァ イ ルをデ ィ ス ク に保存 し 、 変更履歴を消去 し ま す。 Checkpoint All 開いてい る すべての フ ァ イ ルをデ ィ ス ク に保存 し て、 変更履歴 を消去 し ます。 Clean Build カ ス タ ム ツール コ マ ン ド : プ ロ ジ ェ ク ト 全体を ビル ド し ます。 Clear Highlights すべての ソ ース ウ ィ ン ド ウ で単語のハ イ ラ イ ト 表示を ク リ ア し ます。 ハ イ ラ イ ト 表示を行 う には、 [Highlight Word] コ マ ン ド を 使用 し ます。 Color Options ユーザ イ ン タ ーフ ェ イ ス項目の色を指定 し ます。 Compile File カ ス タ ム ツール コ マ ン ド : カ レ ン ト フ ァ イ ルを コ ンパ イ ル し ま す。 Drag Line Down 選択 さ れてい る テ キ ス ト を 1 行下に移動 し ます。 Drag Line Down More 選択 さ れてい る テ キ ス ト を数行下に移動 し ます。 Drag Line Up 選択 さ れてい る テ キ ス ト を 1 行上に移動 し ます。 Drag Line Up More 選択 さ れてい る テ キ ス ト を数行上に移動 し ます。 Edit Condition 選択 さ れてい る 解析条件の値を編集 し ます。 Expand Special ツ リ ー リ ス ト 内で使用 : 選択 さ れた項目を指定 さ れた ツ リ ー レ ベルま で展開 し ます。 General Options 全般的な設定を指定 し ます。 Source Insight ユーザー マニ ュ アル 409 付録 : 以前のバージ ョ ンか らのア ッ プグ レー ド 第8章 表 8.1: バージ ョ ン 2.x 以降新 し く 追加 さ れた コ マ ン ド コマン ド 説明 Go To Next Change/Go To Previous Change カー ソ ルを次 / 前の変更 し たブ ロ ッ ク に移動 し ます。 つま り 、 次 / 前の変更マー ク に移動 し ます。 Highlight Word すべての ソ ース ウ ィ ン ド ウ でカー ソ ル位置の単語のハ イ ラ イ ト 表示を切 り 替え ます。 紙面で蛍光ペン を使用す る のに似てい ま す。 HTML Help HTML ヘルプ フ ァ イ ルで現在選択 し てい る 単語を キーワー ド 検 索 し ます。 Incremental Search 入力に従っ て、 パ タ ーン を イ ン ク リ メ ン タ ルに検索 し ます。 Incremental Search Backward 入力に従っ て、 パ タ ーン を逆方向に イ ン ク リ メ ン タ ルに検索 し ます。 Insert ASCII ASCII 値で文字を挿入 し ます。 Jump To Base Type 選択 さ れてい る シ ン ボルのベース構造 タ イ プにジ ャ ンプ し ます。 Jump To Caller 選択 さ れてい る 関数を呼び出す関数にジ ャ ンプ し ます。 Jump To Prototype 選択 さ れてい る 関数の関数プ ロ ト タ イ プにジ ャ ンプ し ます。 Keyword List 現在の言語の構文フ ォーマ ッ ト に使用 さ れ る キーワー ド リ ス ト を編集 し ます。 Language Properties カ ス タ ム言語プ ロ パテ ィ を編集 し ます。 Line Numbers 行番号の表示を切 り 替え ます。 Lock Relation Window リ レーシ ョ ン ウ ィ ン ド ウ の ロ ッ ク を切 り 替え ます。 ロ ッ ク し て も コ ン テ ン ツは変更 さ れません。 Lowercase 選択 さ れてい る テ キ ス ト を小文字に変換 し ます。 New Relation Window 新規 リ レーシ ョ ン ウ ィ ン ド ウ を作成 し ます。 リ レーシ ョ ン ウ ィ ン ド ウ はい く つで も 作成で き ます。 各ウ ィ ン ド ウ に、 独自のオ プシ ョ ン を設定で き ます。 Next Relation Window View リ レーシ ョ ン ウ ィ ン ド ウ のア ウ ト ラ イ ン ビ ュ ー と グ ラ フ ビ ュ ー を交互に表示 し ます。 Preferences 各種ユーザー オプシ ョ ン を指定 し ます。 こ のダ イ ア ロ グ ボ ッ ク ス にはプ ロ パテ ィ シー ト が 1 つあ り 、 い く つかの タ ブに、 表示、 フ ァ イ ル、 構文フ ォーマ ッ ト な ど、 さ ま ざ ま なオプシ ョ ンが含 まれてい ます。 Project Document Types プ ロ ジ ェ ク ト ウ ィ ン ド ウ で ド キ ュ メ ン ト タ イ プご と にプ ロ ジ ェ ク ト フ ァ イ ルを表示 し ます。 Project File Browser プ ロ ジ ェ ク ト ウ ィ ン ド ウ で フ ァ イ ル ブ ラ ウ ザを表示 し ます。 Project File List プ ロ ジ ェ ク ト ウ ィ ン ド ウ に、 すべてのプ ロ ジ ェ ク ト フ ァ イ ルを 表示 し ます。 Project Symbol Classes プ ロ ジ ェ ク ト ウ ィ ン ド ウ に、 ク ラ ス ご と にプ ロ ジ ェ ク ト シ ン ボ ルを表示 し ます。 410 Source Insight ユーザー マニ ュ アル 第8章 新しいコマン ド 表 8.1: バージ ョ ン 2.x 以降新 し く 追加 さ れた コ マ ン ド コマン ド 説明 Project Symbol List プ ロ ジ ェ ク ト ウ ィ ン ド ウ に、 すべてのプ ロ ジ ェ ク ト シ ン ボルを 表示 し ます。 Project Window Properties プ ロ ジ ェ ク ト ウ ィ ン ド ウ のプ ロ パテ ィ を表示 し ます。 Recent Files サブ メ ニ ュ ーに最近開いた フ ァ イ ルの名前が含まれてい ます。 Refresh Relation Window 現在選択 さ れてい る シ ン ボルの リ レーシ ョ ン で リ レーシ ョ ン ウ ィ ン ド ウ を更新 し ます。 Relation Graph Properties リ レーシ ョ ン ウ ィ ン ド ウ の Graph プ ロ パテ ィ を表示 し ます。 Relation Window リ レーシ ョ ン ウ ィ ン ド ウ のオン と オ フ を切 り 替え ます。 Relation Window Properties リ レーシ ョ ン ウ ィ ン ド ウ のプ ロ パテ ィ を表示 し ます。 Reload File デ ィ ス ク か ら カ レ ン ト フ ァ イ ルを リ ロ ー ド し ます。 保存 し た後 の変更はすべて消去 さ れます。 Run Project カ ス タ ム ツール コ マ ン ド : プ ロ ジ ェ ク ト の実行フ ァ イ ルを実行 し ます。 Save A Copy カ レ ン ト フ ァ イ ルを新 し い フ ァ イ ルに保存 し ます。 カ レ ン ト フ ァ イ ルは上書 き ま たは変更 さ れません。 Search Project すべてのプ ロ ジ ェ ク ト フ ァ イ ルでテ キ ス ト ま たはキーワー ド を 検索 し ます。 Searching Options… 検索結果を制御す る オプシ ョ ン を指定 し ます。 Setup Common Projects… コ モン外部プ ロ ジ ェ ク ト を作成 し ます。 Setup HTML Help デ ィ ス ク 上の HTML Help フ ァ イ ルを検索 し ます。 Show Relations 選択 さ れてい る シ ン ボルの情報を表示す る よ う に リ レーシ ョ ン ウ ィ ン ド ウ を更新 し ます。 Simple Tab タ ブ を挿入 し ます。 Smart Tab モー ド は無効にな り ます。 Smart Beginning of Line 状況依存の Beginning of Line コ マ ン ド 。 Smart End of Line 状況依存の End of Line コ マ ン ド 。 Smart Tab command さ ま ざ ま な位置で使用 さ れ、 カー ソ ルを次の 「フ ィ ール ド 」 に 移動 し ます。 フ ィ ール ド は、 「カ レ ン ト コ ン テ キ ス ト 内の位置」 と し て定義 さ れます。 Source Dynamics on the Web イ ン タ ーネ ッ ト ブ ラ ウ ザで Source Dynamics の Web サ イ ト を表 示 し ます。 Special Edit サブ メ ニ ュ ーに特殊な編集 コ マ ン ド が含まれてい ます。 Style Properties 表示ス タ イ ルの フ ォーマ ッ ト プ ロ パテ ィ を設定 し ます。 Symbol Lookup Options シ ン ボル定義の検索オプシ ョ ン を設定 し ます。 Symbol Window Properties 各 ソ ース ウ ィ ン ド ウ の左側にシ ン ボル ウ ィ ン ド ウ のプ ロ パテ ィ を表示 し ます。 Source Insight ユーザー マニ ュ アル 411 付録 : 以前のバージ ョ ンか らのア ッ プグ レー ド 第8章 表 8.1: バージ ョ ン 2.x 以降新 し く 追加 さ れた コ マ ン ド コマン ド 説明 Sync File to Source Control Project カ ス タ ム ソ ース管理 : 選択 さ れてい る フ ァ イ ルの最新版を取得 し ます。 Sync to Source Control Project カ ス タ ム ソ ース管理 : すべてのプ ロ ジ ェ ク ト フ ァ イ ルの最新版 を取得 し ます。 構文フ ォーマ ッ ト ソ ース フ ァ イ ルを表示す る ための構文フ ォーマ ッ ト オプシ ョ ン を指定 し ます。 Toggle Case 選択 さ れてい る テ キ ス ト の大文字 / 小文字を切 り 替え ます。 Touch All Files in Relation リ レーシ ョ ン ウ ィ ン ド ウ で参照 さ れてい る すべての フ ァ イ ルの タ イ ム ス タ ンプ を更新 し ます。 Typing Options 入力オプシ ョ ン と 編集オプシ ョ ン を指定 し ます。 Undo Check Out カ ス タ ム ソ ース管理 : カ レ ン ト フ ァ イ ルのチ ェ ッ ク ア ウ ト を元 に戻 し ます。 Uppercase 選択 さ れてい る テ キ ス ト を大文字に変換 し ます。 Window List ソ ース ウ ィ ン ド ウ の リ ス ト を管理 し ます。 以前のバージ ョ ン と のフ ァ イル形式の互換性 バージ ョ ン 3.5 は、 バージ ョ ン 2.x のプ ロ ジ ェ ク ト フ ァ イ ル と 他のい く つかの フ ァ イ ルを開 く こ と がで き ますが、 すべての情報が コ ピー さ 412 Source Insight ユーザー マニ ュ アル 第8章 新しいコマン ド れ る わけではあ り ません。 ま た、 一部の イ ンデ ッ ク ス を作成 し 直す必 要があ り ます。 バージ ョ ン 2.x の フ ァ イル バージ ョ ン 3.5 での対応 プロジェ ク ト フ ァ イ ル – *.PR バージ ョ ン 3.5 は、 プ ロ ジ ェ ク ト フ ァ イ ルを開き 、 バージ ョ ン 3.5 の形式に変換 し ます。 シ ン ボル デー タ ベース の イ ンデ ッ ク ス を作成 し 直す必要があ る た め、 時間がかか る こ と があ り ます。 完了す る と 、 シ ン ボルの検索を行 う こ と がで き ます。 ただ し 、 バ ッ ク グ ラ ン ド ま たは [Project] > [Synchronize Files] コ マ ン ド を使用 し て、 後でプ ロ ジ ェ ク ト 全体を解析 し 直 す必要があ り ます。 こ の変換に よ り 、 ソ ース フ ァ イ ルを一か ら 追加 し 直す必要がない と い う 利点が得 ら れます。 バージ ョ ン 2.1 は、 バージ ョ ン 3.5 形式のプ ロ ジ ェ ク ト を開 く こ と がで き ますが、 2.1 形式にダ ウ ン コ ンバー ト し 、 再度シ ン ボル デー タ ベース の イ ン デ ッ ク ス を作成 し 直す必要があ り ます。 v 2.x と v 3.5 の間で頻繁に切 り 替え る 場合は、 それ ぞれの形式のプ ロ ジ ェ ク ト フ ァ イ ルを管理する こ と をお勧め し ます。 v 3.5 のプ ロ ジ ェ ク ト の方が関連フ ァ イ ルが多 く 、 一部の拡張子が変更 さ れてい る こ と に注意 し て く だ さ い。 各プ ロ ジ ェ ク ト には次の フ ァ イ ル拡張子が含 まれてい ます : .PR、 .PS、 .PO、 .PFI、 .PRI、 .IMB、 .IMD、 .IAB、 .IAD 設定フ ァ イ ル - *.CF バージ ョ ン 3.5 は、 バージ ョ ン 2.x の設定フ ァ イ ル を開 く こ と がで き ますが、 バージ ョ ン 3.5 の フ ァ イ ル形式には下位互換性があ り ません。 v 2.x と v 3.5 を併用で き る よ う に、 デフ ォ ル ト の拡張子が .CF か ら .CF3 へ変更 さ れてい ます。 v 3.5 を イ ン ス ト ール し てか ら 、 [Options] > [Load Configuration] コ マ ン ド を使用 し て、 .CF フ ァ イ ル ( 通常は、 Global.CF と 呼 ばれ、 v 2.x のプ ロ グ ラ ム デ ィ レ ク ト リ にあ る ) を 検索で き ます。 v 2.x の設定フ ァ イ ルに保存 さ れてい る 表示オプ シ ョ ンは変換 さ れませんが、 キー割 り 当てや メ ニ ュ ー割 り 当てな ど、 他のカ ス タ マ イ ズは変換 さ れ ます。 v 2.x では、 終了時に確認ダ イ ア ロ グが表示 さ れま し たが、 v 3.5 では、 設定の変更が自動的に保存 さ れ る こ と に注意 し て く だ さ い。 Source Insight ユーザー マニ ュ アル 413 付録 : 以前のバージ ョ ンか らのア ッ プグ レー ド バージ ョ ン 2.x の フ ァ イル 414 第8章 バージ ョ ン 3.5 での対応 ワー ク スペース フ ァ イ ル - *.WK バージ ョ ン 3.5 は、 バージ ョ ン 2.x の ワ ー ク スペー ス フ ァ イ ルを読み取る こ と がで き ません。 以前の 2.x のセ ッ シ ョ ンは、 v 3.5 で開 く 際に リ ス ト ア さ れ ます。 リ カバ リ フ ァ イ ル *.RCV バージ ョ ン 3.5 は、 バージ ョ ン 2.x の リ カバ リ フ ァ イ ルを読み取 る こ と がで き ません。 ク ラ ッ シ ュ し た バージ ョ ン 2.x のセ ッ シ ョ ン を修復す る 場合、 最初 にバージ ョ ン 2.x で リ カバ リ を実行す る 必要があ り ます。 プロジェ ク ト リ ス ト フ ァ イル – Projects.DB バージ ョ ン 2.x と 重複 し ない よ う に、 プ ロ ジ ェ ク ト リ ス ト フ ァ イ ル名が Projects.DB3 に変更 さ れてい ま す。 sihook プ ロ グ ラ ム コ ン ポーネ ン ト sihook.exe プ ロ グ ラ ムは変更 さ れてい ます。 ま た、 重複 し ない よ う に sihook3.exe に名前が変更 さ れて い ます。 Source Insight ユーザー マニ ュ アル 第9章 第9章 License Agreement SOURCE DYNAMICS SOURCE INSIGHT VERSION 3.x END-USER LICENSE AGREEMENT IMPORTANT-READ CAREFULLY: This Source Insight End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Source Dynamics, Inc. for the Source Dynamics SOFTWARE identified above, which includes the User Manual, any associated SOFTWARE components, any media, any printed materials other than the User Manual, and any "online" or electronic documentation ("SOFTWARE").By installing, copying, or otherwise using the SOFTWARE, you agree to be bound by the terms of this EULA.If you do not agree to the terms of this EULA, do not install or use the SOFTWARE.If the SOFTWARE was mailed to you, return the media envelope, UNOPENED, along with the rest of the package to the location where you obtained it within 30 days from purchase. 1.The SOFTWARE is licensed, not sold. 2.GRANT OF LICENSE. (a)Evaluation Copy.You may use the SOFTWARE without charge on an evaluation basis for thirty (30) days from the day that you install the SOFTWARE.You must pay the license fee and register your copy to continue to use the SOFTWARE after the thirty (30) days.If you continue to use the SOFTWARE after the thirty (30) days without paying the license fee you will be using the SOFTWARE on an unlicensed basis. (b)Redistribution of Evaluation Copy.If you are using SOFTWARE on an evaluation basis you may make copies of the evaluation SOFTWARE as you wish; give exact copies of the original evaluation SOFTWARE to anyone; and distribute the evaluation SOFTWARE in its unmodified form via electronic means (Internet, BBS's, Shareware distribution libraries, CD-ROMs, etc.).You may not charge any fee for the copy or use of the evaluation SOFTWARE itself, but you may charge a distribution fee that is reasonably related to any cost you incur distributing the evaluation SOFTWARE (e.g. packaging).You must not represent in any way that you are selling the SOFTWARE itself.Your distribution of the evaluation SOFTWARE will not entitle you to any compensation from Source Dynamics.You must distribute a copy of this EULA with any copy of the SOFTWARE and anyone to whom you distribute the SOFTWARE is subject to this EULA. (c)Registered Copy.After you have purchased the license for SOFTWARE, and have received the serial number enabling the registered copy, you are licensed to copy the SOFTWARE only into the memory of the number of computers corresponding to the number of licenses purchased.The primary user of the computer on which each licensed copy of the SOFTWARE is installed may make a second copy for his or her exclusive use on a portable computer.Under no other circumstances may the SOFTWARE be operated at the same time on more than the number of computers for which you have paid a separate license fee.You may not duplicate the SOFTWARE in whole or in part, except that you may make one copy of the SOFTWARE for backup or archival purposes.You may terminate this license at any time by destroying the original and all copies of the SOFTWARE in whatever form.You may permanently transfer all of your rights under this EULA provided you transfer all copies of the SOFTWARE (including copies of all prior versions if the SOFTWARE is an upgrade) and retain none, and the recipient agrees to the terms of this EULA. 3.RESTRICTIONS.You may not reverse engineer, de-compile, or disassemble the SOFTWARE, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.You may not rent, lease, or lend the SOFTWARE.You may permanently transfer all of your rights under this EULA, provided the recipient agrees to the terms of this EULA.You may not publish or publicly distribute any serial numbers, access codes, unlock-codes, passwords, or other end-user-specific registration information that would allow a third party to activate the SOFTWARE without a valid license. Source Insight ユーザー マニ ュ アル 415 License Agreement 第9章 4.SUPPORT SERVICES.Source Dynamics may provide you with support services related to the SOFTWARE.Use of Support Services is governed by the Source Dynamics polices and programs described in the user manual, in online documentation, and/or other Source Dynamics-provided materials, as they may be modified from time to time.Any supplemental SOFTWARE code provided to you as part of the Support Services shall be considered part of the SOFTWARE and subject to the terms and conditions of this EULA. 5.TERMINATION.Without prejudice to any other rights, Source Dynamics may terminate this EULA if you fail to comply with the terms and conditions of this EULA.In such event, you must destroy all copies of the SOFTWARE. 6.COPYRIGHT.The SOFTWARE is protected by United States copyright law and international treaty provisions.You acknowledge that no title to the intellectual property in the SOFTWARE is transferred to you.You further acknowledge that title and full ownership rights to the SOFTWARE will remain the exclusive property of Source Dynamics and you will not acquire any rights to the SOFTWARE except as expressly set forth in this license.You agree that any copies of the SOFTWARE will contain the same proprietary notices which appear on and in the SOFTWARE. 7.EXPORT RESTRICTIONS.You agree that you will not export or re-export the SOFTWARE to any country, person, entity, or end user subject to U.S.A.export restrictions.Restricted countries currently include, but are not necessarily limited to Cuba, Iran, Iraq, Libya, North Korea, Sudan, and Syria.You warrant and represent that neither the U.S.A.Bureau of Export Administration nor any other federal agency has suspended, revoked or denied your export privileges. 8.LIMITED WARRANTY.Source Dynamics, Inc. warrants that the Software will perform substantially in accordance with the accompanying written materials for a period of 90 days from the date of your receipt of the Software.Any implied warranties on the Software are limited to 90 days.Some states do not allow limitations on duration of an implied warranty, so the above limitation may not apply to you.SOURCE DYNAMICS, INC. DISCLAIMS ALL OTHER WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT, WITH RESPECT TO THE SOFTWARE AND THE ACCOMPANYING WRITTEN MATERIALS.This limited warranty gives you specific legal rights.You may have others, which vary from state to state. 9.LIMITATION OF LIABILITY.IN NO EVENT SHALL SOURCE DYNAMICS OR ITS SUPPLIERS BE LIABLE TO YOU FOR ANY CONSEQUENTIAL, SPECIAL, INCIDENTAL, OR INDIRECT DAMAGES OF ANY KIND ARISING OUT OF THE DELIVERY, PERFORMANCE, OR USE OF THE SOFTWARE, EVEN IF SOURCE DYNAMICS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.IN ANY EVENT, SOURCE DYNAMICS'S LIABILITY FOR ANY CLAIM, WHETHER IN CONTRACT, TORT, OR ANY OTHER THEORY OF LIABILITY WILL NOT EXCEED THE GREATER OF U.S.$1.00 OR LICENSE FEE PAID BY YOU. 10.U.S.GOVERNMENT RESTRICTED RIGHTS.The SOFTWARE is provided with RESTRICTED RIGHTS.Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph ©(1)(ii) of The Rights in Technical Data and Computer SOFTWARE clause of DFARS 252.2277013 or subparagraphs ©(i) and (2) of the Commercial Computer SOFTWARE-Restricted Rights at 48 CFR 52.227-19, as applicable.Manufacturer is Source Dynamics, Inc., 22525 SE 64th Place, Suite 260, Issaquah, WA 98027, USA. 11.MISCELLANEOUS.If you acquired the SOFTWARE in the United States, this EULA is governed by the laws of the state of Washington.If you acquired the SOFTWARE outside of the United States, then local laws may apply. If you have any questions concerning this EULA or wish to contact Source Dynamics for any reason, please write: Source Dynamics, Inc., 22524 SE 64th Place, Suite 260, Issaquah, WA 98027, USA; or call (425) 5573630; or send electronic mail to support@sourceinsight.com. 416 Source Insight ユーザー マニ ュ アル
© Copyright 2024 Paperzz