プログラムエディタは、テキストが右から左に書き込まれる両方向言語(アラビア語やヘブライ語など)、および日本語や中国語などのマルチバイト文字セット言語をサポートしています。
ソースコードは、レポーティングモードではなくストラクチャードモードで作成することをお勧めします。 このようにしないと、エディタの展開/圧縮機能(「表示モードの設定」の「ソースコードの表示および非表示」を参照)が使用できなくなります。
ストラクチャードモードとレポーティングモードの違いについては、『プログラミングガイド』の「Natural プログラミングモード」セクションを参照してください。 ストラクチャードモードが有効になっているかどうかを確認する場合や、ストラクチャードモードをオンに切り替える場合は、『ファーストステップ』ドキュメントの「プログラミングモード」に記載されている指示に従ってください。
プログラミングに関するアドバイスについては、「コンテキスト依存ヘルプの使用」および『Natural for Windows』ドキュメントのメインの概要ページにある「言語」セクションを参照してください。
このセクションでは、以下のトピックについて説明します。
テキストの入力は、空のエディタウィンドウの最初の行(行番号 0010
)から開始します。
オブジェクトのソースコードに行を追加すると、追加された行に 10 単位の増分で番号が設定されます。 ソースコードに行を挿入すると、挿入された行に 1 単位の増分で番号が設定されます。 ソースコードの保存時には、最初の行が 0010
で開始し 10 単位の増分で、ソースコードのすべての行に番号が自動的に再設定されます。
それ以外にも、「行番号の再設定」に記載されている行番号再設定コマンドを使用して、すべてのソースコード行に番号を再設定することができます。
テキストを挿入するには
テキストを挿入するソースコードの位置にカーソルを置き(デフォルトにより現在の行が強調表示されます)、新しいテキストを入力するか、クリップボードからテキストを貼り付けます(「テキストのコピー、切り取り、貼り付け」を参照)。 「データフィールドのインポート」も参照してください。
または:
空行を挿入するには、新しい行の挿入先の上にあるソースコード行の先頭にカーソルを置き、Enter キーを押します。
新しいテキストがソースコードに挿入されます。
次のいずれかを選択できます。
1 つの単語。
ソースコードの 1 行内にある連続文字。
1 行以上にまたがる連続文字。
選択する単語をダブルクリックします。
または:
左マウスボタンまたは矢印キーを使用して、選択する単語の最初の文字にカーソルを置きます。 Shift キーを押したまま、または矢印キーを使用して、選択する単語の最後の文字までカーソルをドラッグします。
選択した単語が強調表示されます。
左マウスボタンまたは矢印キーを使用して、選択するテキストの最初の文字にカーソルを置きます。
左マウスボタンまたは Shift キーを押したまま、あるいは矢印キーを使用して、選択するテキストの最後の文字までカーソルをドラッグします。
選択したテキストが強調表示されます。
マウスボタンまたはキーを放します。
テキスト全体を選択するには
メニューの を選択します。
または:
次のツールバーボタンを選択します。
テキストの選択を解除するには
ソースコードのどこかをクリックします。
または:
矢印キーを押します。
テキストの強調表示がなくなります。
プログラムエディタのコピー/切り取りおよび貼り付け機能は、単一オブジェクトソース内または複数のオブジェクトソース間でテキストをコピー、移動、または削除するために使用します(「テキストのドラッグ & ドロップ」も参照)。
コピーされたテキストまたは切り取られたテキストは、クリップボードに置かれます。 このテキストは次のコピーまたは切り取り操作まではクリップボードに残り、その後、クリップボードから破棄されます。破棄されたテキストは復元できません。
切り取りまたは貼り付け操作は、実行後の取り消しが可能です。 「変更の取り消しまたはやり直し」を参照してください。
コピーおよび貼り付けの代替手段としてデータフィールドを作成する場合、「データフィールドのインポート」に記載されている指示に従って、フィールドを別のソースオブジェクトからインポートできます。
テキストのコピー、切り取り、貼り付けを行うには
「テキストの選択」に記載されている指示に従って、コピーまたは切り取りを行うテキストを選択します。
メニューの または を選択します。
または:
次のツールバーボタンのいずれかを選択してください。
(
)または( )または:
Ctrl + C キー(コピー)または Ctrl + X キー(切り取り)を押します。
選択したテキストがクリップボードに置かれ、アクティブなオブジェクトウィンドウに表示されているソースコードに貼り付けることができます。
テキストを別のオブジェクトソースに貼り付ける場合は、該当するソースを開きます。
コピーまたは切り取りを行ったテキストの貼り付け先の上にあるソースコード行にカーソルを置きます。
メニューの を選択します。
または:
次のツールバーボタンを選択します。
または:
Ctrl キーを押したまま V キーを押します。
テキストが、アクティブなオブジェクトウィンドウに表示されているソースコードの指定の位置に貼り付けられます。
同じテキストをもう一度貼り付ける場合は、手順 4 と 5 を繰り返します。
ドラッグ & ドロップ操作は、テキストの移動またはコピーに使用できます。 ドラッグ元およびドロップ先には、Natural スタジオまたはドラッグ & ドロップをサポートしている別のアプリケーションを使用できます。
ドラッグ & ドロップ操作は、実行後の取り消しが可能です。 「変更の取り消しまたはやり直し」を参照してください。
ドラッグ & ドロップ機能を使用してテキストを移動またはコピーするには
移動またはコピーするテキストを選択(「テキストの選択」も参照)し、選択した(強調表示された)テキストのどこかにマウスポインタを置きます。
左マウスボタンを押したまま、マウスを移動します。 また、テキストを移動(デフォルト)するのではなくコピーする場合は、Ctrl キーを押したままにします。
マウスポインタが矩形内で矢印ポインタに変わり、ドラッグ & ドロップ編集が有効であることが示されます。 コピー操作の場合には、矩形にプラス記号(+)が付加されます。 矢印ポインタの横にあるテキスト挿入キャレットは、選択したテキストをドロップできる位置を示します。
マウスポインタが "ドロップしない" ポインタ(スラッシュ付きの円)に変わった場合、現在のターゲット位置でドロップは受け入れられません。 この状態は、保護されたソースコード(「ソースコード行の保護」も参照)にテキストを挿入しようとしたか、ドロップ先にドラッグ & ドロップ機能がない場合に生じます。 保護されたソースコードで移動操作を実行すると、ターゲット位置にテキストが移動されるのではなく、コピーされます。
Esc キーを押すと、ドラッグ & ドロップ編集をキャンセルできます。
テキストのドロップ位置でマウスボタンを放します。
選択したテキストが、キャレットの現在位置でドロップされます。
"ドロップしない" ポインタが表示されているときにマウスボタンを放すと、ドラッグ & ドロップ操作はキャンセルされます。
エディタウィンドウで実行する編集操作は、RENUMBER
または STRUCT
など)から実行しなかった場合に適用されます。
取り消しまたはやり直しが可能な操作は、プログラムエディタの設定で指定された値によって決まり、割り当てられているメモリ量によって制限されます。『Natural スタジオの使用』ドキュメントの「オプションの設定」セクションの「プログラムエディタオプション」に記載されているエディタオプション[最大 Undo メモリ]および[最大 Undo 数]を参照してください。
エディタウィンドウを閉じると、取り消し/やり直しバッファがクリアされます。
取り消し操作では、行番号が操作の前の状態に復元されます。 やり直し操作では、行番号が以前の取り消し操作の前の状態に復元されます。
操作を取り消すには
メニューの を選択します。
または:
Ctrl キーを押したまま Z キーを押します。
または:
次のツールバーボタンを選択します。
ソースコードが、以前の編集操作またはやり直し操作の前の状態に復元されます。
取り消された操作をやり直すには
メニューの を選択します。
または:
Ctrl キーを押したまま Y キーを押します。
または:
次のツールバーボタンを選択します。
ソースコードが、以前の取り消し操作の前の状態に復元されます。
テキストを削除すると、オブジェクトから切り取られますが、クリップボードには配置されません。 削除したテキストを回復する唯一の方法は、削除操作を取り消すことです。 「変更の取り消しまたはやり直し」を参照してください。
テキストをソースから削除する場合、警告は表示されません。
テキストを削除するには
「テキストの選択」に記載されている指示に従って、テキストを選択します。
メニューの を選択します。
または:
次のツールバーボタンを選択します。
または:
Delete キーを押します。
アクティブなオブジェクトウィンドウに表示されているソースコードからテキストが削除されます。
ソースコード行全体をコメント行としてマークするかマークを解除したり、行内にコメントテキストを追加したりできます。
コメント行を追加するには
ソースコード行の先頭で、アスタリスク(*
)に続けて 1 文字以上の空白文字を入力します。 例:* This is a comment line.
または:
ソースコード行の先頭で、後続の空白なしで 2 つのアスタリスク(**
)を入力します。 例:**This is a comment line.
または:
ソースコード行の先頭で、後続の空白なしでスラッシュとアスタリスク(/*
)を入力します。 例:/* This is a comment line.
ステートメントにコメントを付加するには
ソースコード行のステートメントの最後に、空白、スラッシュ、アスタリスク(/*
)を入力します。
例:DEFINE DATA /*This is a comment.
行をコメント行としてマークするには
マークするソースコード行のどこかにカーソルを置きます。
または:
「テキストの選択」に記載されている指示に従って、1 行または複数行のソースコードを選択します。
メニューから、 を選択します。
または:
Ctrl キーを押したまま M キーを押します。
指定のソースコード行(複数可)の先頭に、コメントマーク(*
)に続いて空白文字が追加されます。
コメント行としての行からマークを解除するには
マークを解除するコメント行のどこかにカーソルを置きます。
または:
「テキストの選択」に記載されている指示に従って、1 行または複数行のソースコードを選択します。
メニューから、 を選択します。
または:
Ctrl + Shift + M キーを押します。
指定のソースコード行(複数可)からコメントマーク(*
、**
または /*
)が削除されます。
ソースコード行の番号を再設定するには
メニューの を選択します。
または:
次のツールバーボタンを選択します。
または:
コマンド行で、次のシステムコマンドを入力します。
RENUMBER
『システムコマンド』ドキュメントの「RENUMBER
」も参照してください。
アクティブウィンドウのオブジェクトのソースコード行は、10 単位の増分で番号が再設定されます。
「参照するソースコード行番号の変更」 - 「ユーザー定義変数」、『プログラミングガイド』
大文字から小文字、または小文字から大文字にソースコードを変換できます。
テキストを大文字から小文字またはその逆に変換するには
「テキストの選択」に記載されている指示に従って、変換するテキストを選択します。
メニューから、 または を選択します。
または:
大文字に変換する場合は Ctrl + Shift + U キー、小文字に変換する場合は Ctrl + Shift + L キーを押します。
大文字への自動変換をオンにするには、『Natural スタジオの使用』ドキュメントの「オプションの設定」セクションの「プログラムエディタオプション」に記載されている指示に従って、該当するエディタオプションを設定します。 大文字への自動変換を使用すると、ソースコードを保存、チェック、カタログするたびに、ソースコード全体(コメントテキストを除く)が大文字に変換されます。 大文字への自動変換は、LOWSRCE
(小文字ソースが有効)コンパイルオプションが OFF
に設定されているメインフレームコンピュータのリモート環境に便利です。 詳細については、メインフレームの『システムコマンド』ドキュメントに記載されている「COMPOPT
」の「LOWSRCE
」を参照してください。
プログラムエディタには、テキストの編集中または既存のテキストの選択後に、指定の位置に自動改行を挿入するオプションがあります。
このオプションを有効にする場合、次の規則が適用されます。
新しいテキストの入力中または既存のテキストの変更中に、カーソルがルーラと交差するたびに改行が挿入されます (ルーラ位置の設定の詳細については、『Natural スタジオの使用』ドキュメントの「オプションの設定」セクションの「プログラムエディタオプション」を参照)。
ルーラの横にある空白文字で改行が挿入されます(行の先頭にある空白文字は無視されます)。
空白文字が存在しないと、下の例に示すようなルーラを超えた長い行が生成されます。
テキストの挿入またはテキスト文字列の置換によって長い行が生成された場合、自動改行は行われません。 このテキストを変更し、ルーラを超えて移動した場合にのみ、改行が挿入されます。
テキスト定数は、次の行に継続します。
カーソルがルーラと交差する改行では、アポストロフィ('
)または引用符("
)に続いてマイナス(-)記号が挿入されます。また、定数に 1 つ以上の空白文字が含まれている場合には、ルーラの横にある空白文字でも、この文字列が挿入されます。 さらに、アポストロフィ('
)または引用符("
)は、新しい行の先頭に追加されます。 次に例を示します。
コメントに空白文字が含まれているか、コメントの前に空白文字が存在する場合、コメントは次の行に継続します。 コメントを示すマーク(*
、**
または /*
)は、新しい行の先頭に自動的に追加されます。 次に例を示します。
分割行の最後で Back Space キーを使用すると、この行は次の行と連結されます。 前の改行の結果表示されたマークは新しい行で保持されるため、手動で削除する必要があります。
自動改行を有効にするには
『Natural スタジオの使用』ドキュメントの「オプションの設定」セクションの「プログラムエディタオプション」に記載されている指示に従って、[オプション]ダイアログボックスで、[ルーラ位置]スピンボックスを使用してルーラの位置を設定し、[自動改行]チェックボックスをオンにします。
テキストの入力中にカーソルがルーラを超えるたびに、改行が自動的に挿入されます。
既存のテキストに自動改行を挿入するには
目的のテキストのセクションを選択します。
メニューまたはコンテキストメニューから、 を選択します。
前述の規則に従って、自動改行が挿入されます。
プログラムエディタには、テキスト定数に含まれる 16 進の Unicode 形式の文字を表示したり、これらの文字を同等の 16 進形式に変換したりするオプションがあります。 文字を 16 進のコードページ形式または 16 進の Unicode 形式、あるいはその逆に変換することができます。 16 進のコードページ形式に変換する場合、ソースに定義されたコードページが使用されます。 ソースにコードページが定義されていない場合は、現在の Natural スタジオセッションに定義されたコードページが使用されます。
16 進の Unicode 形式を表示するには
1 文字の 16 進値を表示するには、テキスト定数に含まれている文字にマウスポインタを置きます。
または:
複数の文字の 16 進値を表示するには、テキスト定数から複数の文字を選択し、選択した文字にマウスポインタを置きます。
文字(複数可)の 16 進の Unicode 表現が、ツールヒントに表示されます。
文字を 16 進形式に変換するには
16 進のコードページ形式の場合は、テキスト定数から 1 文字以上を選択し、Ctrl + Alt + X キーを押します。
または:
16 進の Unicode 形式の場合は、テキスト定数から 1 文字以上を選択し、Ctrl + Alt + U キーを押します。
下のギリシャ文字 ΩΣΔΠΨ
の例に示すように、選択した文字が同等の 16 進形式に置き換えられます。
16 進のコードページ形式の場合:変換不可能な文字は、定義されたコードページの置換文字で置き換えられます。
定数の前にあるアポストロフィの前に、次のいずれかの接頭辞を指定します。
16 進の Unicode 形式の場合:UH
16 進のコードページ形式の場合:H
下の Unicode の例に示すように、定数は 16 進値で開始する必要があります。
したがって、テキスト定数の一部のみを変換する場合、下の Unicode の例に示すように複数の定数に分割して、構文エラーを避ける必要があります。
16 進形式を文字形式に変換するには
変換する 16 進文字列を選択し、Ctrl + Alt + C キーを押します。 次に例を示します。
'41424344'
のすべての数値は 'ABCD'
に変換されます。
選択した 16 進文字列に接頭辞 UH
または H
が付いていると、Unicode 文字として解釈されます。
例:
U'0041004200430044'
または UH'0041004200430044'
のすべての数値は、それぞれ U'ABCD'
または UH'ABCD'
に変換されます。
定義されたコードページで解釈できない 16 進値は、印刷不可能な文字で置き換えられます。
例:
'0041004200430044'
のすべての数値は、'[NUL]A[NUL]B[NUL]C[NUL]D'
に変換されます。
キー入力レコーダは、キーボードからの入力のみを記録および再生し、マウスの移動や操作は無視されます。 最後に記録されたキー入力シーケンスは、Natural スタジオセッションの間、保持されます。 後続のセッションで永続的に使用するため、キー入力シーケンスをマクロとして保存できます。
このセクションでは、以下のトピックについて説明します。
キー入力シーケンスを記録するには
記録を開始する位置にカーソルを置きます。
メニューから、 > を選択します。
または:
次のツールバーボタンを選択します。
または:
Ctrl + Shift + R キーを押します。
マウスポインタが、カセットテープのシンボルの付いた矢印ポインタに変わります。 これは、記録が進行中であることを示します。
記録するシーケンスのキーを押します。
記録を停止するには
メニューから、 > を選択します。
または:
次のツールバーボタンを選択します。
または:
Ctrl + Shift + S キーを押します。
記録が終了します。 記録内容は、現在のセッションの間保持され、その後で記録を行うと上書きされます。
記録されたキー入力シーケンスを再生するには
記録の再生を開始する位置にカーソルを置きます。
メニューから、 > を選択します。
または:
次のツールバーボタンを選択します。
または:
Ctrl + Shift + P キーを押します。
記録されたキー入力シーケンスが再生されます。
記録内容をマクロとして保存し、任意の Natural スタジオセッションで永続的に使用できます。 最も頻繁に使用するマクロまたはマクロコマンドをツールバーまたはメニューバーに追加したり、ショートカットを作成したりできます。 マクロコードの上書き、または不要になったマクロの削除が可能です。
記録内容をマクロとして保存するには
記録を停止した時点で、
メニューから、 > を選択します。[マクロの保存]ダイアログボックスが表示されます。
[名前]ボックスに 32 文字以内で名前を入力し、[OK]を選択してマクロを保存します。
指定した名前のマクロがすでに存在する場合、適切なメッセージが表示され、既存のマクロの内容を上書きするか、マクロを別の名前で保存するかが尋ねられます。上書きする場合は[はい]、名前を変更する場合は[いいえ]を選択します。
指定の名前でマクロが保存され、ユーザープロファイルに追加されて、[ツール]メニューの サブメニューに表示されます。
16 個までのマクロを保存できます。
マクロを実行するには
メニューの を選択します。
ユーザープロファイルに保存されているすべてのマクロが、サブメニューに表示されます。
マクロのリストから、目的のマクロを選択します。
マクロが実行され、記録されたキー入力シーケンスが再生されます。
マクロを削除するには
[マクロの削除]を選択します。
メニューから、 >ユーザープロファイルに保存されているすべてのマクロを示す[マクロの削除]ダイアログボックスが表示されます。
削除するマクロを選択し、[削除]を選択します。
マクロがリストから削除されます。
[OK]を選択して削除操作を確認し、マクロをユーザープロファイルから削除します。
または:
[キャンセル]を選択して、何も実行せずにダイアログボックスを終了します。
マクロまたはマクロコマンドをツールバーまたはメニューバーに追加するには
『Natural スタジオの使用』ドキュメントの「Natural スタジオのカスタマイズ」に記載されている指示に従って、[カスタマイズ]ダイアログボックスを呼び出し、[コマンド]ページを開きます。
[カテゴリ]ドロップダウンリストボックスから、[Tools.Macros]を選択します。
すべてのマクロコマンドおよび使用可能なマクロは、[コマンド]リストボックスに表示されます。
コマンドまたはマクロを選択し、メニューバーにドラッグします。 詳しい手順については、『Natural スタジオのカスタマイズ』を参照してください。
マクロまたはマクロコマンドにショートカットを割り当てるには
『Natural スタジオの使用』ドキュメントの「Natural スタジオのカスタマイズ」に記載されている指示に従って、[カスタマイズ]ダイアログボックスを呼び出し、[キーボード]ページを開きます。
[カテゴリ]ドロップダウンリストボックスから、[Tools.Macros]を選択します。
すべてのマクロコマンドおよび使用可能なマクロは、[コマンド]リストボックスに表示されます。
コマンドまたはマクロを選択し、選択したコマンドまたはマクロに対してショートカットとして割り当てるキーの組み合わせを押します。 詳しい手順については、『Natural スタジオのカスタマイズ』の「キーボード」を参照してください。
マクロまたはマクロコマンドにキーボードショートカットが割り当てられ、[ツール]メニューの[マクロ]サブメニューに表示されるマクロコマンド名またはマクロ名の横に表示されます。
読み取り専用タグを使用すると、単一のソースコード行またはソースコード行のブロックを不正な変更から保護できます。
保護されたソースコード行は編集できません。 また、「行の保護の例」で示しているように、保護されている行ブロックが最初の行(0010
)で開始し最後の行(ここでは 0090
)で終了している場合、ソースコードの先頭または最後に行を追加することはできません。 保護されているブロックの前後に保護されていない行が存在する場合にのみ、行を追加できます。
次のエディタ機能は、保護されているソースコード行では実行できません。
切り取りと貼り付け
削除
置換
コメントマークの追加/削除
大文字/小文字の変換
ソースの最初の行で開始し最後の行で終了する保護されたブロックの先頭/最後への行の追加/挿入
注意: 関連するソースオブジェクトがソースバッファに再ロードされた後、読み取り専用タグを変更または削除することはできません。 |
読み取り専用タグは、Natural システムファイルのソースオブジェクトに保存されます。 読み取り専用タグはソースバッファから削除されるため、関連するソースオブジェクトをソースバッファに再ロードすると非表示になります。 例えば、STRUCT
または RENUMBER
などのシステムコマンドをソースで実行するか、エディタウィンドウでソースオブジェクトを開くと、ソースオブジェクトがソースバッファに再ロードされます。
『システムコマンド』ドキュメントの「ソースコード行のインデント」の STRUCT
コマンドに記載されている指示に従って、保護されたソースコード行を構造的なインデントから除外することができます。
再ロードされたソースオブジェクトで読み取り専用タグが非表示になっている場合、保護されたソースコードは「行の保護の例」で示しているようにグレー表示になります (『Natural スタジオの使用』ドキュメントの「オプションの設定」セクションの「プログラムエディタオプション」に記載されている指示に従ってカラー定義を変更することにより、異なる背景色を指定できます)。
単一行を保護するには
保護する行の最後に、空白文字を入力し、次のタグを付加します。
/*<RO>
コードブロックを保護するには
保護するブロックの開始行の最後に、空白文字を入力し、次のタグを付加します。
/*<RO>>
保護するブロックの終了行の最後に、空白文字を入力し、次のタグを付加します。
/*<<RO>
ソースオブジェクトを保存するたびに、読み取り専用タグがソースバッファに再挿入されます。 次の操作を実行して、読み取り専用タグが再挿入されるのを防ぐことができます。
読み取り専用タグの再挿入を停止するには
ソースコードの最初の行の最後に、空白文字を入力し、次のタグを付加します。
/*<**>
ソースコードの最初の行に読み取り専用タグが含まれている場合、このタグを読み取り専用タグの直前(空白文字で区切らない)に配置します。
以下の「行の保護の例」も参照してください。
次のソースオブジェクトの例では、DEFINE DATA
ステートメントの行および連続するコメント行が読み取り専用タグで保護されています。 タグ /*<**>
によって、読み取り専用タグがソースバッファに再挿入されないことが保証されます。
次の例に示すように、ソースオブジェクトがソースバッファに再ロードされると、読み取り専用タグは非表示になります。 保護された行はグレー表示になります。