 <chapter id="file-operations">
  <title>ファイル操作</title>
  <!-- ============= File operations: Creating a new file === -->
  <sect1 id="creating-files">
   <title>新しいファイルの作成</title>
   <para>
   新しいファイルを作成する場合はメニューバーから <menuchoice><guisubmenu>ファイル(_F)</guisubmenu><guimenuitem>新規(_N)</guimenuitem></menuchoice> を選択するか、ツールバーにある <guibutton>新規ファイル</guibutton> を選択して下さい。新しいページがエディタ (あるいは、既に親ドキュメントが表示されている場合は新しいウィンドウ) の中に表示されます。
新しいドキュメントには <filename>newfile#1</filename>, <filename>newfile#2</filename>, <filename>newfile#3</filename> ... という名前が付けられます。
   </para>
   <important>
   <title>備忘録</title>
   <para>
   クラッシュした時にデータを失わないよう、なるべく早く新しいドキュメントを保存して下さい。
   </para>
   </important>
  </sect1>

 <!-- ============= File operations: Opening and saving files === -->
  <sect1 id="open-save-files">
   <title>ファイルを開く、ファイルの保存</title>
   <para>
    <orderedlist>
     <listitem>
      <para>
       <emphasis>ファイルを開く:</emphasis> 
       既存のファイルを開く場合はメニューバーから <menuchoice><guisubmenu>ファイル(_N)</guisubmenu><guimenuitem>開く(_O)</guimenuitem></menuchoice> を選択するか、ツールバーの <guibutton>開く</guibutton> ボタンをクリックするか、もしくは <keycombo><keycap>[CTRL]</keycap><keycap>O</keycap></keycombo> を押します。すると <interface>ファイルを開く</interface> ダイアログが表示されます。
       <figure id="open-file">
        <title>"ファイルを開く" ダイアログ</title>
        <screenshot>
		<screeninfo>"ファイルを開く" ダイアログ</screeninfo>
         <graphic fileref="figures/open_file.png" format="PNG" srccredit="andyp"></graphic>
        </screenshot>
       </figure>
       開くファイルを選択するか入力して <guibutton>OK</guibutton> ボタンをクリックして下さい。気が変わったら <guibutton>キャンセル</guibutton> ボタンをクリックして、ファイルを開かずにダイアログを閉じて下さい。
      </para>
     </listitem>
     
     <listitem>
      <para>
       <emphasis>ファイルの保存:</emphasis> 
       ファイルを保存する場合はメニューバーから <menuchoice><guisubmenu>ファイル(_F)</guisubmenu><guimenuitem>保存(_S)</guimenuitem></menuchoice> を選択するか、ツールバーの <guibutton>保存</guibutton> ボタンをクリックするか、もしくは <keycombo><keycap>[CTRL]</keycap><keycap>S</keycap></keycombo> を押します。するとファイルが保存されます。ファイル名のない新しいファイルの場合は <interface>名前を付けて保存</interface> ダイアログが表示されます。ファイル名を入力して <guibutton>OK</guibutton> ボタンをクリックすると、新しいファイルが指定した名前で保存されます。
      </para>
     </listitem>
      
     <listitem>
      <para>
      <emphasis>ファイルに名前を付けて保存:</emphasis> 
      保存するファイルに新しい名前を付けることも可能です。この場合は、メニューバーから <menuchoice><guisubmenu>ファイル(_F)</guisubmenu><guimenuitem>名前を付けて保存(_A)</guimenuitem></menuchoice> を選択して下さい。<interface>名前を付けて保存</interface> ダイアログが表示され、新しいファイル名の入力待ちになります。名前を入力して <guibutton>OK</guibutton> ボタンをクリックして下さい。
      </para>
      <note>
       <title>注記</title>
       <para>
       既存のファイルに対して <guimenuitem>名前を付けて保存</guimenuitem> を実行しても、元々あったファイルは削除されません。最後に保存した状態から何も変更されていない状態のままです。もし既に存在しているファイル名を新しいファイル名にした場合は、確認ダイアログが表示され、上書きするかどうかの確認待ちになります。<guibutton>はい</guibutton> をクリックすると上書きされます。
       </para>
      </note>
     </listitem>
     
     <listitem>
      <para>
      <emphasis>ファイルを閉じる:</emphasis> 
      ファイルを閉じる場合はメニューバーから <menuchoice><guisubmenu>ファイル(_F)</guisubmenu><guimenuitem>ファイルを閉じる(_C)</guimenuitem></menuchoice> を選択するか、ツールバーの <guibutton>閉じる</guibutton> ボタンをクリックして下さい。すると、現在編集中のファイルを閉じます。ファイルが保存されていない場合、あるいは新しいファイルの場合、<application>Anjuta</application> はそのファイルを閉じる前に保存するかどうかをたずねます。
      </para>
     </listitem> 
    </orderedlist>
   </para>
   <note>
   <title>備忘録</title>
    <para>
    自動保存を有効にしていると、新しいファイルは自動的に保存されません。最初は手動でファイルを保存して下さい。<guimenuitem>全て保存(_A)</guimenuitem> オプションも同様に自動的に保存しません: 最初に手動でファイルを保存していない場合、新しいファイルも保存されません。<emphasis>自動保存する前、または <guimenuitem>全て保存(_A)</guimenuitem> を実施する前に、予め手動でファイルを保存して下さい。</emphasis>    
	</para>
   </note>
  </sect1>
 
 <!-- ============= File operations: Editing files === -->
  <sect1 id="editing-files">
   <title>ファイルの編集</title>
   <para>
    <application>Anjuta</application> はソースファイルの編集や関連した作業を支援するために、たくさんのヘルパー機能を搭載しています。これ以降のセクションでそれらの機能の使い方をご紹介します。
   </para>
  </sect1>

 <!-- ============= File operations: Browsing with the tags browser ===   -->
  <sect1 id="browsing-files">
   <title>タグ・ブラウザを使ったファイルの参照</title>
   <para>
    全 C/C++ ソースとヘッダファイルは、それらの中にあるタグを使って参照することができます。C/C++ のソースとヘッダファイルを開くと、利用可能なタグをスキャンします ("タグ" は関数定義や構造体、マクロなどを参照します)。
   </para>
   <para>
	<interface>ブラウザ</interface> ツールバーにある <guisubmenu>タグ</guisubmenu> メニューの中から表示したいタグの種類を選択して下さい。タグの種類が関数またはクラスの場合、さらにタグを表示するファイルを選択して下さい。それから、タグ (関数、クラスのメンバまたは他のタグ) を <guilabel>タグ</guilabel> ドロップダウン形式のボックスから選択して下さい。エディタにはその指定したファイルが表示され、指定したタグを含む行を強調表示します。
   </para>
   <para>利用可能なタグの種類は次に示すとおりです:</para>
	<itemizedlist>
     <listitem><para><emphasis>関数</emphasis></para></listitem>
     <listitem><para><emphasis>クラス</emphasis></para></listitem>
     <listitem><para><emphasis>構造体</emphasis></para></listitem>
     <listitem><para><emphasis>共有体</emphasis></para></listitem>
     <listitem><para><emphasis>列挙子</emphasis></para></listitem>
     <listitem><para><emphasis>大域変数 [グローバル変数]</emphasis></para></listitem>
     <listitem><para><emphasis>マクロ</emphasis></para></listitem>
    </itemizedlist>
    
    <orderedlist>
     <listitem>
      <para><emphasis>ファイル・モード操作:</emphasis> 
       何もプロジェクトを開いていない場合、<application>Anjuta</application> は <emphasis>ファイル・モード</emphasis> に入ります。このモードでは、<application>Anjuta</application> は開いたファイルだけをスキャンの対象とします。<application>Anjuta</application> は開いたファイルの中にある利用可能なタグの全てを追跡することになります。
      </para>
     </listitem>
     <listitem>
      <para><emphasis>プロジェクト・モード操作:</emphasis> 
プロジェクトを開いている場合、<application>Anjuta</application> はプロジェクトとして指定されている全てのソースとヘッダファイルにあるタグをスキャンします。これによりファイルを一つ一つ手動で開くことなく、関数定義や構造体の定義、クラス定義などにジャンプすることが可能です。どこにタグがあるかを知る必要もありません (関数定義は除きます)。
      </para>
     </listitem>
    </orderedlist>
   <figure id="tags-toolbar">
    <title>タグ・ツールバー</title>
    <screenshot>
	 <screeninfo>タグ・ツールバー</screeninfo>
     <graphic fileref="figures/toolbar_tags.png" format="PNG" srccredit="andyp"></graphic>
    </screenshot>
   </figure>
   <tip>
    <title>ご心配無用！</title>
    <para>
タグを格納しているデータベースとの同期や更新について心配することはありません。<application>Anjuta</application> は全てを引き受けます。貴方はどのタグにジャンプしたいかを決定するだけで良いのです！
    </para>
   </tip>
  </sect1>

  <!-- ============= File operations: Searching and replacing in files === -->
  <sect1 id="search-replace-files">
   <title>テキストの検索と置換</title>
   <sect2 id="searching">
    <title>検索</title>
	
    <para>
     現在使用しているファイルの中から <emphasis>テキスト</emphasis> または <emphasis>正規表現</emphasis> の文字列を検索するには、<menuchoice><guisubmenu>編集(_E)</guisubmenu><guimenuitem>検索</guimenuitem></menuchoice> を選択するか、もしくは <keycombo><keycap>[ALT]</keycap><keycap>F</keycap></keycombo> を押します。すると、<interface>検索</interface> ダイアログが開きます。
    </para>

    <figure id="find-text">
     <title>テキスト検索ダイアログ</title>
     <screenshot>
	 <screeninfo>テキスト検索ダイアログ</screeninfo>
       <graphic fileref="figures/find_text.png" format="PNG" srccredit="andyp"></graphic>
     </screenshot>
    </figure>

    <para>
     検索する文字列を指定するにはテキストボックスを使用して下さい。そして検索する種類として通常のテキストか正規表現のどちらかを選択して下さい。検索する方向、大小文字の区別、検索する範囲なども指定することが可能です。<guibutton>Find</guibutton> ボタンをクリックすると検索が開始します。
    </para>
    <para>
     検索が完了すると、ドキュメントの中で一致したテキストが強調表示され、一致したものを含む行が表示されます。検索に失敗すると、<emphasis>一致するものがありませんでした</emphasis> というメッセージが表示されます。
    </para>
    <para>
    再度、検索する場合はメイン・ツールバーにある <guibutton>Find</guibutton> ボタンをクリックして下さい。これは検索する方向に対して次に一致するものを見つけだします。もちろん検索するテキストを変更することも可能です。その場合は、メイン・ツールバーにある <guilabel>テキストの検索</guilabel> テキストボックスの中に新しい文字列を入力して下さい。
    </para>
   </sect2>
   
   <sect2 id="replacing">
    <title>検索と置換</title>
    
	<figure id="find-and-replace">
     <title>検索と置換ダイアログ</title>
     <screenshot>
	 <screeninfo>検索と置換ダイアログ</screeninfo>
       <graphic fileref="figures/find_replace.png" format="PNG" srccredit="andyp"></graphic>
     </screenshot>
    </figure>
    
	<para>
     "検索と置換" はテキストの検索と似ていますが、<guilabel>検索と置換</guilabel> テキストボックスの中に置換する文字列を指定することが違います。そして該当する位置で置換するかどうかの選択待ちになります。
    </para>
   </sect2>
  </sect1>

 <!-- ============= File operations: Finding in multiple files and folders === -->
  <sect1 id="multiple-find-files">
   <title>複数のファイルとフォルダからの検索</title>
    <figure id="find-in-files">
     <title>ファイルダイアログの中で検索</title>
     <screenshot>
	 <screeninfo>ファイルダイアログの中で検索</screeninfo>
       <graphic fileref="figures/find_files.png" format="PNG" srccredit="andyp"></graphic>
     </screenshot>
    </figure>
	
   <para>
    ファイルと (また) はフォルダの中から検索する場合は、テキストボックスの中に検索対象となる全てのファイル名と (または) フォルダ名を入力して、<guibutton>追加</guibutton> ボタンをクリックします。
   </para>
   <para>
    ディレクトリの検索は再帰的に行われることに注意して下さい。ディレクトリ下の全てのファイル、そして全てのサブディレクトリ下のファイル、そしてそのサブーサブディレクトリ (と続いていく) 下のファイルは全て検索対象になります。
   </para>
   <para>
    一覧の中にあるエントリを削除したり編集したい場合は、クリックして選択して下さい。そして <guibutton>削除</guibutton> ボタンをクリックするか、テキストボックス内のエントリを修正して <guibutton>更新</guibutton> ボタンをクリックして下さい (訳注: <guibutton>更新</guibutton> は実装されていません)。
   </para>
   <para>
    <guibutton>クリア</guibutton> ボタンをクリックすると全てのエントリがクリアされます。
   </para>
   <para>
   検索する文字列を入力して、その文字列の大小文字を区別して検索するかどうかを指定して下さい。
   <guibutton>Find</guibutton> ボタンをクリックすると検索を開始します。
   </para>
   <para>
    検索結果がメッセージ・ウィンドウの中に一覧下されて表示されます。それらを一つをダブル・クリックすると、一致した文字列を含むファイルの該当する行数に表示が移動します。一致した行は強調表示されます。
   </para>
  </sect1>

 <!-- ============= File operations: Other special operations on files === -->
  <sect1 id="other-operations-files">
   <title>その他の特別なファイル操作</title>
   <sect2 id="highlighting">
   <title>強調表示</title>
   <para>
    <application>Anjuta</application> では、プログラミング言語別に強調表示させることが可能です。通常、これはファイルの拡張子からその種類を決定することによって自動的に行います。<application>Anjuta</application> がファイルの種類を決定することができなかった場合は、強調表示はされません。この場合は <menuchoice><guisubmenu>書式(_M)</guisubmenu><guimenuitem>強調表示のスタイル</guimenuitem></menuchoice> メニューからご希望のスタイルを選択することによって強制的に強調表示することが可能になります。
   </para>
   </sect2>
   <sect2 id="codefolding">
    <title>コードの折り畳み</title>
    <para>
     ブロック・コーディング・プロパティ (C/C++, Pascal, Java など) を持つソースファイルは、<emphasis>コードの折り畳み</emphasis> 機能を使って効率的に作業を進めることができます。ソースファイルの中にある全てのコードブロックは、<interface>編集ウィンドウ</interface> の折り畳みマージンの中にある、折り畳みポイント (通常は +/-, または ↑/↓ のシンボル) をクリックすることで、折り畳んだり広げたりすることができます。これらの折り畳みポイントはコードブロックを使用していたら、自動的にソースコードの中に表示されます。
    </para>
    <para>
     特にコードの折り畳み機能は数千行のコードをもつ大きなファイルを編集するといった時に便利です。一度折り畳むとドキュメントの表示範囲が小さくなり、ファイルの参照や編集が容易になります。
    </para>
   </sect2>
   
   <sect2 id="printing">
    <title>ファイルの印刷</title>
    <para>
     FIXME:
     </para>
     <para>
     多分 Stefan (訳注:開発者の一人である Stephane Demurget 氏のこと) はここに彼が実装した gnome-print について何か記述したいことでしょう。
    </para>
   </sect2>
   
   <sect2 id="autoformat">
    <title>ソースコードの自動整形</title>
    <para>
    現在使用中のファイルが C/C++ 言語のソースまたはヘッダファイルなら、ファイルの自動インデント機能 (自動整形) を使うことができます。この機能はソースコードに対して整然としたスタイルを提供し、読みやすさを向上したり、文法上で間違えそうな部分を減らし、そして開発効率を上げてくれます。この機能は、メイン・ツールバーにある <guibutton>書式の自動整形</guibutton> ボタンをクリックするか、メニューバーにある <menuchoice><guisubmenu>書式(_M)</guisubmenu><guimenuitem>書式の自動整形(_F)</guimenuitem></menuchoice> を選択することで実行することができます。設定にてカスタマイズを選択すると好みの書式に変更することができます。
    </para>
    <note>
	<title>インデントについて</title>
     <para>
      この機能を使用するためには <application>indent</application> ユーティリティを別途インストールする必要があります。詳細については <ulink type="info" url="info:indent"><application>indent</application> の info ページ</ulink> を参照下さい。
     </para>
    </note>
   </sect2>
  </sect1>
 </chapter>
