はじめに
ここでは、VS Codeから Zowe Explorer、Z Open Editorを使用して実施できる基本的な操作(無償でできる範囲)のうち、主にソース編集(テキストファイルの編集)に関連する機能について、主要なものをいくつかピックアップして解説します。
関連記事
VS Code - z/OS連携 (1)概要
VS Code - z/OS連携 (2)基本構成
VS Code - z/OS連携 (3)基本操作: ソース編集
VS Code - z/OS連携 (4)基本操作: JES操作など
VS Code - z/OS連携 (5)DBBユーザー・ビルド
VS Code - z/OS連携 (6)Advanced Capability
VS Code - z/OS連携 (7)AIエージェントの活用: 概要
VS Code - z/OS連携 (8)AIエージェントの活用: 実践編
全体像
VS CodeでCOBOL, PL/I, JCLなどのソースを編集することを想定した場合、大きく2通りの考え方があります。
1つは編集対象のソースがGitなどz/OS以外で管理されているケースです。この場合、基本的にはGit Cloneをしてローカル・リポジトリにソースをコピーして編集する、という流れになりますので、ローカル(PC上)のファイルを編集するのと基本的には同様です。
もう1つは、Zowe Explorer経由でz/OS環境に接続して、直接z/OS上のPDSメンバーなどを扱うケースです。この場合、直接z/OSのリソースを編集するイメージで操作することになりますが、実際のところ内部的には、以下の処理が行われることになります。
- 一度操作対象のデータをローカルのメモリ上にダウンロードして保持
- ローカルのメモリ上のデータをエディターで編集
- 保存する際にはそれをアップロード
ダウンロード/アップロードの際には、EBCDIC⇔UTF-8間での文字コード変換が行われることになります。
ローカルではメモリ上の仮想ファイルシステムにあるUTF-8化されたファイルを扱うことになるので、エディター上の操作はローカルのファイルを扱うのと操作感は共通です。
プロパティー設定箇所の整理
それぞれ機能を使用する際に影響するプロパティー類が各種提供されていますが、それらの設定箇所について整理しておきます。
VS Code 設定
VS Code Extensionを追加すると、VS Codeの設定として、Extensionに関するプロパティーが設定できます。
VS Codeのメニューから [ファイル] - [ユーザー設定] - [設定]で表示される画面で設定が可能です。
Zowe Explorer, Z Open Editor関連のプロパティーもここから設定可能です。
プロパティーを設定する単位をユーザー単位かワークスペース単位かで選択できます。設定内容はそれぞれ以下のようなファイルに保持されることになります。
- ユーザー単位:
<ユーザーのホームディレクトリ>\AppData\Roaming\Code\User\setting.json - ワークスペース単位:
- Single-folder:
.vscode\setting.json - Multi-root:
xxx.code-workspace
- Single-folder:
zapp.yaml
VS Code上の設定とは別に、Z Open Editorはアプリケーション開発支援機能に関連する設定情報を保持するためのZAPPファイル(zapp.yaml)という設定ファイルがあります。
参考: Configuring your applications with ZAPP files
これに関連する設定として、Generate Zapp On Demand(zopeneditor.zapp.generateZappOnDemand) というプロパティーがあり、デフォルトで有効化されています。

この設定が有効化されていると、最初にCOBOL,PL/I,ASMのソースをエディターで開いたタイミングで、ZAPPファイルが無ければ自動で作成されます(ワークスペースのトップに作成されます)。
name: ZAPPドキュメントの生成
description: >-
CRRZG5299I このデフォルト・ファイルは、開いているすべてのVS
Codeワークスペースのローカル・フォルダを検索するので、非常に効率が悪いことに注意してください。 ロケーション」の項目をできるだけ具体的に修正する。
リモートロケーションを指定するために、" MVS "というタイプの新しいエントリーを追加する。 詳しくはドキュメントを参照: <
https://ibm.github.io/zopeneditor-about/Docs/setting_propertygroup.html >
author: IBM Z Open Editor
propertyGroups:
- name: search-all
libraries:
- name: syslib
type: local
locations:
- '**'
- name: maclib
type: local
locations:
- '**'
- name: proclib
type: local
locations:
- '**'
このZAPPファイルには、COBOL COPYBOOKの探索パスや、DBBユーザー・ビルド時の各種パラメーターなどを指定することになります。
※Multi-rootワークスペースの場合、COPYBOOK探索パス等を指定するpropertyGroupsについては、全ワークスペースのトップにあるzapp.yamlファイルに指定されているものを全て参照することになりますのでご注意ください(探索先がたくさんある場合、探索順序によっては非常に時間がかかることになります)。
参考: Single-root versus multi-root workspaces
ソース編集関連機能
VS Code上のエディターでソース(COBOL, PL/I, ASM, JCLなどのテキストファイル)を開いて編集する操作に関連した機能について見ていきます。
詳細は以下のドキュメントもご参照ください。(ここではいくつか主要なものをピックアップして実際に試した内容について解説します)
参考: Making COBOL and PL/I code changes
言語の識別
COBOLやPL/Iなどのソースを編集する際に、対象のファイルやPDSメンバーをエディターで開くことになりますが、この時操作対象の言語によってエディターは動作が変わります。分かりやすい所でいえば、COBOLのソースを開いた場合はCOBOLの構文に従ってソースを解釈してキーワードごとに色分け表示をしてくれたり、Syntax Checkが行われたりします。
どのメンバー/ファイルをどの言語として認識するかというのは、一定のルールに従って判断されます。
ローカル・ファイル
ローカルのファイル(PC上のファイル)をVS Codeのエディターで編集したい場合、一般的に各ファイルにはファイルの内容に応じた拡張子が付けられますので、その拡張子を元にファイルの内容を判断します。例えば*.cblや*.cpyであればCOBOL、*.pliや*.incであればPL/Iといった具合です。
デフォルトで認識される拡張子は以下の通りです。
| Language | VS Code Language ID | Default File Extensions |
|---|---|---|
| Enterprise COBOL | cobol | .cbl .cpy .cob .copy .copybook .cobol .cobcopy |
| Enterprise PL/I | pl1 | .pli .pl1 .pc .pci .plinc .pcx .inc .include |
| Z High Level Assembler | hlasm | .s .assemble .asm .hla .hlasm .copyasm .macasm .bms .mac .dbd .mfs .pcb |
| REXX | rexx | .rexx |
| JCL | jcl | .jcl |
基本的にはこの範囲でファイルのネーミングルールを決めるのがおすすめですが、追加することも可能です。その場合は設定(setting.json)のプロパティーで追加指定可能です。
PDSメンバー
VS CodeからZowe Explorer経由でz/OSに接続し、MVSデータセット上のソース(PDSメンバー)を開いて編集する場合、対象となるPDSメンバーには拡張子が存在しませんので、ローカルファイルとは別のソース認識のルールが必要となります。
これは、言語ごとのプロパティーが容易されているのでVS Codeの設定(setting.json)で指定可能です。例えばCOBOLであれば、「Datasets: Cobol Datasets」(zopeneditor.datasets.cobolDatasets)にて指定可能で、デフォルトで以下のような設定になっています。

ここに指定されているネーミングルールのPDSデータセットに含まれるメンバーをVS Codeエディターで開いた場合は中身をCOBOLとみなして構文解釈することになります。例えば、USER01.APP01.COBOL、TEST.XXX.YYY.COBCOPY といったPDSに含まれるメンバーはCOBOLと解釈されます。
ちょっと分かりにくいのは、このプロパティーの変更は別のプロパティー"file.associations"を変更するためのものであって、実質的には"file.associations"の定義が動作に反映されます。
例えば、デフォルトのエントリーに加えて、".PGMSOR"というエントリをCobol Datasetsに追加したとします。

すると、自動的に「Files: Associations」のプロパティが以下のように更新されます。

デフォルトのパターンに加えて、「PGMSOR」を含むパターンが追記されました。
(削除や変更をする場合、こちらのプロパティも合わせて整合性をとる必要があるのでご注意ください)
参考:
Using the VS Code files.associations setting
上の設定を追加した後に、Zowe Explorerからz/OSに接続してxxx.PGMSORに含まれるメンバーを開くと、COBOLと認識されてCOBOL構文に従ってソースが解釈され、以下のように色分け表示されることになります。
画面の右下に"COBOL"と表示されていることからも、このソースがCOBOLとして認識されていることが分かります。この右下の"COBOL"部分をクリックして解釈させる言語を明示的に切り替えることも可能です。
以前は、PDS上のメンバーをVS Code上のエディターで開く場合、内部的にはローカル(PC上)に一時ファイルとして保持しそれを開くような実装になっていましたが、現在のバージョンではメモリー上の仮想ファイルシステム上で扱われるようになっています。
Data sets opened with Zowe Explorer are now opened in memory using the Zowe Explorer virtual file system. This file system has a different path structure for data set members than traditional file references. The path includes the Zowe profile name and begins with a Zowe resource-specific scheme. Additionally, instead of including the member in the file name, the member name is added as a new path segment (ex: zowe-ds:/rse/PDS.NAME/MEMBER).
COPYBOOK/INCLUDEファイル参照
ソース本体から別のファイルを参照しているケースがあります。COBOLだとCOPY文、PL/IだとINCLUDE文で他のファイルを参照してデータ定義を取り込んだりします。VS Codeではこのような外部ファイル参照を認識して支援する機能が提供されています。この時外部ファイルをどこから探索するか、探索パスをプロパティーで指定することができます。これはZAPPファイルで指定できます。
以降、COBOLの例で説明します。
ソース本体(参照元)のファイルと、COPYBOOK(参照先)のファイルが、それぞれどこにあるか(ローカルPC上 or z/OS上)を意識する必要があります。
まず、ソース本体(参照元)のファイルの配置場所についてですが、ローカル(PC上)のファイルを開く場合はVS Codeのエクスプローラーviewから対象のフォルダにあるソース本体を選択してエディタで開きます。
z/OS上のPDSメンバーの場合はVS CodeのZowe Explorer viewからz/OSに接続し対象のPDSにあるメンバーを選択してエディタで開きます。z/OS上のファイルをVS Codeで開く際は、ローカルPC上にソースがダウンロードされてそれをエディタで開いているイメージですので、その後のCOPYBOOK参照に関する挙動はローカル・ファイルを開いた場合と基本的には同様です。
さて、ローカルファイルにしろリモートのファイルにしろ、エディターで開いたソースの中にCOPY文で他のファイルを参照しているステートメントが含まれていた場合、構文チェックなどを行うために参照先ファイルもロードされます。参照している別ファイルの探索パスは、ZAPPファイル中のPropertyGroup内に、以下のように指定することができます。
name: ZoweTest01
description: Zowe Explorer Test
author: ISE
propertyGroups:
- name: cobol-copybooks
language: cobol
libraries:
- name: syslib
type: local
locations:
- '**/copybook'
- '**/copybook2'
- name: syslib
type: mvs
locations:
- CICSSHR.CICS004.COPYLIB
まず、propertyGroups以下に適当な名前のプロパティー・グループを定義します。ここでは、language: cobolを指定し、COBOL言語に関するプロパティーを定義しています。
libraries以下に、syslibという名前の定義を追加することで、参照先COPYBOOK探索場所を指定することができます。ソース本体(参照元)がローカル/リモートのいずれであっても、参照先ファイルの探索場所はローカル/リモートどちらも指定可能です。
COPYBOOKの探索場所は、ZAPPファイル上の type および locationsで指定します。ローカル・ファイルを探索させたい場合はtype: localを指定しlocations:にPC上のディレクトリパスを指定します。リモート・ファイルを探索させたい場合はtype: mvsを指定しlocations:にリモートのMVSデータセットを指定します。
上の例のように、local, mvs のタイプを両方指定することもできますし、各々複数のディレクトリ、データセットを指定することができます。ZAPPファイルに定義された順番に上から探索され、最初に見つかったファイルが参照されます。
リモート・ファイルの探索パスを指定するプロパティーとしてはデータセット名のみで、接続先z/OSを識別するオプションがありません。つまりZAPPファイル上では、どのz/OS環境を探索しにいくかというのを指定することはできません。type: mvsを指定した時に探索されるz/OS環境は、VS Codeの設定(settings.json)にて指定します。
Zopeneditor: Zowe プロパティで、defaultCliProfile の項目に、探索先のz/OS環境への接続プロファイル(z/OSMF or RSE)を指定します。

setting.jsonだと以下のイメージです。
...
"zopeneditor.zowe": {
"defaultCliProfile": "odeinst1.zosmf"
},
...
ZAPPファイルにてプロパティー・グループのtype:mvsで指定されたライブラリについては、このdefaultCliProfileに指定されたz/OS環境上から探索されることになります。
このように、ZAPPファイルに記述したsyslib指定に従い参照しているファイルが見つかると、そのファイルの中身もロードされ、COBOLソースの構文解析が行われることになります。
先に示したように、COPYステートメントで指定したCOPYBOOKメンバー名にカーソルをあてるとホバーで内容が表示されますし、COPYBOOK内で定義された変数の解釈も行われて構文解析結果としてエディター上に反映されます(COPYBOOK参照がうまく機能しないと、未定義変数が使われていると判断されて構文エラーとなる)。
PL/Iについても同様にZAPPファイルのプロパティー・グループで制御可能です。以下、PL/IのINCLUDEファイル探索パスも指定したZAPPファイルの例です。
name: ZoweTest01
description: Zowe Explorer Test
author: ISE
propertyGroups:
- name: cobol-copybooks
language: cobol
libraries:
- name: syslib
type: local
locations:
- '**/copybook'
- '**/copybook2'
- name: syslib
type: mvs
locations:
- CICSSHR.CICS004.COPYLIB
- name: pli-includes
language: pl1
libraries:
- name: syslib
type: local
locations:
- '**/INCLUDES'
- name: syslib
type: mvs
locations:
- CICSSHR.CICS004.INCLUDES
文字コード変換
z/OS上のリソースをPCOMなどの3270端末エミュレーターで参照している限りにおいては文字コードを直接意識することは少ないですが、VS Codeからz/OS上のリソースを扱う場合は、操作ごとに文字コードを意識する必要があります。
例えば、Zowe Explorerにてz/OS上のPDSメンバーをエディターで開く場合、z/OS上のメンバーがPC上に転送されて表示されることになりますが、この時EBCDICからUTF-8に文字コード変換が行われます。エディター上で内容を変更して保存する際は、逆にUTF-8からEBCDICへの変換が行われてz/OSにアップロードされます。
これらの操作を行う際、z/OSMF接続を行っている場合、内部的にはz/OSMF提供のREST APIが使用されます。z/OSMF用の接続構成ファイル(zowe.settings.json)のプロパティーencodingを指定することで、UTF-8⇔EBCDIC変換におけるEBCDIC側の文字コードを指定することができます。
z/OSMF接続での文字コード指定例:
"profiles": {
"zosmf": {
"type": "zosmf",
"properties": {
"port": 10443,
"encoding": "IBM-939"
}
},
このように、日本語対応のコードページを指定することで、日本語を含むソースの編集が行えるようになります。
ちなみに、文字コード変換が入るということは、ソース中に含まれるのは"文字情報のみ"であることが前提であり、制御コードなど文字情報として扱えないデータが含まれているとコード変換が正しく行えず、エディターでの表示が行えなかったり、意図しない文字化けが生じることになります。
例えば、PCOMでは以下のようにx'0E', x'0F'のような制御コードのみをバイナリで指定したソースを編集することができます。

このソースをVS Codeで開こうとすると、以下のようなエラーで開くことができませんのでご注意ください。(もしくは文字化けしてデータが壊れる)

つまり、特殊な制御コードやバイナリデータなど、テキストとして文字コード変換できない情報を含むPDSメンバーはVS Codeのエディターでは扱えないということになります。
SO/SI表記
PCOMなどの3270エミュレーターではz/OS上にあるEBCDICのデータを参照しているため、DBCSの前後には区切り文字としてのSO/SIが含まれ、画面上はブランクのように表示されます。

PCOMだとCtrl+F1でSO/SI制御文字を→/←の文字で明示的に表示させることもできます。

COBOLやPL/Iなどホスト上で扱う言語は、桁位置に依存したルールが存在するので、SO/SIの分を意識するということは非常に重要です。
VS Code上のエディターでソースを編集する場合、Zowe Explorer経由でz/OS上のメンバーを参照する場合でも、内部的にはローカルにデータをUTF-8で変換して保持し、それをエディターで表示させるということを行っています。つまり、VS Code上で開いているテキスト情報はUTF-8に変換されたものであるため、SO/SIの情報は含まれていません。
そこで、見た目上SO/SIの分を付与して桁ずれを回避するための機能が提供されています。この機能を使用するには、VS Codeの設定の Encoding: File Patterns(zopeneditor.encodings.filePatterns)で、ファイル名のパターンとそれに対応するEBCDIC文字コードのマッピング情報を指定する必要があります。
例えば、このプロパティーで*.cblというファイル名に対して IBM-1399というEBCDICの文字コードをマッピングしてみます。

...
"zopeneditor.encodings.filePatterns": {
"*.cbl": "IBM-1399"
}
...
この設定を行うことで、指定したパターン(*.cbl)に合致するファイルはEBCDICではIBM-1399相当のテキストデータと判断され、IBM-1399に変換した後のDBCS文字の前後にSO/SI相当の表示記号が付与されて表示されることになります。
この機能はPC上のJavaのコンバーターが内部的に使用されています。IBM Java SDKは従来からEBCDIC系のコンバーターが提供されていましたが、なぜかSemeru V11以降 1390/1399のコンバーターが削除されてしまっていました。そのため、このfilePatternsでも1390/1399の文字コードを指定しても無効だったのですが、Z Open Editor 6.5.0の変更にて、ICU(International Components for Unicode)の拡張が追加されたことで1390/1399の利用ができるようになりました!
参考: IBM Z® Open Editor Change Log - 6.5.0 - 2026/04/10
Expanded support for EBCDIC code pages by adopting ICU (International Components for Unicode) in the language servers. This improvement enables accurate byte counting and overflow line detection for significantly more code pages. For configuration details, see Specifying an EBCDIC file encoding to use with the language servers.
filePatternsに指定するファイル名のパターンと文字コードのマッピング情報は、あくまでもエディター上でのファイル表示の際のエンコーディングを指定するものです。
エディターで開く前にz/OS上にあるデータを持ってくる、あるいは、編集後のデータをz/OS上に転送する際に行われるコード変換は、zowe.config.jsonに指定されたプロファイルのencodingの指定に従いますのでご注意ください。
基本的にはこれらのencoding指定は整合性を取って指定するようにしてください。
ファイル編集の競合
z/OS上のPDSメンバーをVS CodeのZowe Explorer経由で開いて編集している間は、当該メンバーへのロックは確保されていません。内部的にはREST APIでダウンロードしたファイルをPC上で編集し、保存する際にREST APIでアップロードするという操作が行われるためです。
つまり、VS Codeでソースを編集している間に、別のユーザーが同じファイルを編集してしまう可能性があります。その時の挙動を確認しておきます。
以下の操作を行ってみます。
- VS Code上で、あるPDSメンバーを開いて編集 (編集モードにするがまだ保存はしない)
- VS Codeでの編集中に、同じPDSメンバーをPCOMで開いて編集、保存し、PCOMのエディター閉じる
- VS Codeで編集中の同メンバーを保存する
3で編集した内容を保存しようとすると、この間に同ファイルに変更が入ったことを検知して以下のようなアラートを挙げてくれます。
Overwriteを選択すると裏で変更された内容を今回の変更内容で上書きします。
Compareを選択すると差分を比較でき、差分のあるコードブロックごとに確認可能です。
(右側の画面に必要な修正を反映した後、Ctrl+Sで保存し、右上の✓[上書き]で変更を反映)

z/OSMFプロファイルでは上のような挙動が確認できましたが、RSEプロファイルの場合競合が発生したことを警告するアラートが出力されず、変更結果が破棄されてしまう挙動が確認されました。以下Issue起票済み。
RSE profile: Concurrent edit conflict is not detected; VS Code save appears successful but changes are silently discarded #601
アウトライン表示
アウトライン・ビューを表示させておくと、エディターで開いたソースの種類(COBOL, PL/I, JCLなど)に応じて、各ソースの構造を階層的に表示してくれます。アウトライン・ビューで選択した箇所はエディターに同期されますので、長いソースを編集する際の補助として有用です。
コード補完機能
VS Codeではコーディングを行う際のアシスト機能として、IntelliSenseという機能が提供されています。キーワードの一部を入れると候補となるキーワード全体やセンテンスをリストしてくれて、そこから選択すればよいので、効率化や入力ミスの軽減につながります。
言語に応じて適切に補完してくれますが、Z Open Editor Extensionによって、COBOL, PL/I, ASM, JCL, REXXなどの言語、および、EXEC SQL, EXEC CICSなどメインフレーム上でよく使用されるミドルウェアのAPIの補完もサポートされるようになります。
参考: Z Open Editor - Introduction
また、単なるキーワードだけでなく、よく利用するコードブロックのパターンが"スニペット"として登録されていますのでそちらも利用可能です。
具体的には、エディター上でキーワードの一部を入れると自動的に候補がポップアップのリストで表示されますので、必要に応じてそこから選択すればコードが補完されます(既に入力済みの文字列があればそこにカーソルを合わせてCtrl + Space)。
例えば、COBOLのソースを編集中のエディター上で、「EVAL」というキーワードを入力すると、以下のように候補がリストされます。

3つ目のSnippetを選択すると、EVALUAE文の典型的な雛形が入力された状態になるので、あとは必要な個所を修正すればよいということになります。

独自にSnippetを登録することも可能です。
参考: Creating your own code snippets
z/OSリソース操作
直接的なソース編集機能ではありませんが、関連する機能をいくつかピックアップして試してみます。
MVSデータセット
フィルター
Zowe Explorer ViewでMVSデータセットやUSS上のファイルを参照する際、まずリストするデータセットやディレクトリを絞り込むためのフィルターを指定することになります。
Zowe Explorer Viewで"データセット"以下の接続先Profileの虫眼鏡アイコン(データセットの検索)をクリックします。

表示させたいデータセットの名前を指定します。ワイルドカードとして「*」が使用できます。
例えば、DEV01.*をフィルターとして指定すると、HLQがDEV01のデータセットのリストが表示されます。


フィルターには、カンマ「,」区切りで複数のデータセットを指定することができます。
例えば、SYS1.P*,DEV01.TEST01.*というフィルターを指定すると、複数フィルターに合致するデータセットの一覧を一度に表示させることができます。


さらに、PDSの場合メンバー名でもフィルターをかけることができます。
例えば、SYS1.P*(*JCL*),DEV01.TEST01.*というフィルターを指定すると、SYS1.P*のPDSデータセットについてはJCLを含むメンバーのみが表示されることになります。


VS Code - Zowe ExplorerのViewでは、VOLSERを指定したデータセット参照方法が明記されていないので、VOLSER指定でのデータセット参照はできないようです。すなわち、VS Codeから操作する対象のデータセットをカタログされている必要があります。
PDSメンバーの検索
特定のPDSデータセット内のメンバーから、特定の文字列を含むメンバーを検索することができます。
検索対象のPDSデータセットを右クリック - PDSメンバー検索 を選択

"ゾウ・リソース" view に結果が表示されます。(日本語表記が変ですが...)
チェックボックスにチェックを入れて「開く」をクリックすると、チェックしたメンバーがエディターで開くので、該当の文字列が記載されている箇所を確認することができます。

属性
データセットを右クリック - 属性の表示 を選択することで、データセットの属性を確認することができます。


データセット作成
属性を逐一設定してデータセットを作成することもできますが、手っ取り早く元になるデータセットから同じ属性で別のデータセットをAllocateすることもできます。
元にするデータセットを右クリック - 同じ属性の新しいデータセットに割り当てる を選択

元のデータセットと同じ属性で新しいデータセットがAllocateされます

コピー/移動
PDSメンバーをコピーしてみます。
コピー元のメンバーを右クリック - コピーを選択

メンバーをマウスでドラッグ&ドロップすると別のデータセットに移動できます。

PDSデータセットの単位でコピー/貼り付けを行うと、メンバーを含んだPDSの単位でコピすることもできます。
アップロード
PC - z/OS間でのファイルのアップロードを試してみます。
Zowe Explorer Viewで、アップロード先のデータセット(PDS)を右クリック - アップロードメンバーを選択

ローカルのファイル選択画面が表示されるので、アップロードしたいファイルを選択

ファイル名が8桁以上の場合は拡張子を含め末尾は切り捨てられます。デフォルトの文字コードはプロファイルに指定されているものが使われます。
メニューから"エンコード付きメンバーのアップロード"を選択すると、明示的にEncodingを指定することも可能です。
ダウンロード
PC - z/OS間でのファイルのアップロードを試してみます。
ダウンロード用のメニューは用意されていないのですが、以下の手順でダウンロードできます。
Zowe Explorer Viewからダウンロード対象のメンバーを選択してエディターで開きます。

エクスプローラーViewを開いて、エディターのタブをドラッグしてダウンロード先フォルダにドロップします。

これでPC上にダウンロードされます。拡張子はfile associationの設定に従います。

USS
フィルター
MVSデータセットと同様にフィルターにUSSディレクトリを指定することでそのディレクトリにアクセスすることができます。ただし、ワイルドカードや複数ディレクトリ指定はできません。
Zowe Explorer Viewで"USS"以下の接続先Profileの虫眼鏡アイコン(データセットの検索)をクリックします。

指定したディレクトリ以下のリソースが表示されアクセス可能となります。

属性
ディレクトリやファイルの属性を編集することができます。
例えば、USS上に以下のような状態のファイルがあるとします。
(以下、SSHでUSSのシェルに接続して確認している例)
DEV01:/u/DEV01/Test # ls -laT
total 38
drwxr-xr-x 2 DEV01 SYS1 8192 May 18 19:17 .
drwxr-xr-x 5 DEV01 SYS1 8192 May 18 19:14 ..
t IBM-1047 T=on -rw-r--r-- 1 DEV01 SYS1 8 May 18 19:15 text_ebcdic.txt
- untagged T=off -rw-r--r-- 1 DEV01 SYS1 8 May 18 19:17 text_untagged.txt
t UTF-8 T=on -rw-r--r-- 1 DEV01 SYS1 8 May 18 19:16 text_utf8.txt
DEV01:/u/DEV01/Test # env | grep BPX
_BPXK_AUTOCVT=ALL
DEV01:/u/DEV01/Test # cat text_ebcdic.txt
abc
xyz
DEV01:/u/DEV01/Test # cat text_untagged.txt
abc
xyz
DEV01:/u/DEV01/Test # cat text_utf8.txt
abc
xyz
DEV01:/u/DEV01/Test # od -tx1 text_ebcdic.txt
0000000000 81 82 83 15 A7 A8 A9 15
0000000010
DEV01:/u/DEV01/Test # od -tx1 text_untagged.txt
0000000000 81 82 83 15 A7 A8 A9 15
0000000010
DEV01:/u/DEV01/Test # od -tx1 text_utf8.txt
0000000000 61 62 63 0A 78 79 7A 0A
0000000010
最初の2つはEBCDICでエンコーディングされているテキストファイルで、最後の3つ目はUTF-8でエンコーディングされているテキストファイルです。
いずれも、「abc xyz」という文字列を含んでいます。HEX表記で見るとコードが違っているのが分かると思います。
これらのファイルは、タグの情報に基づいて適切にハンドリングされますので、VS Codeからエディターで開くと、いずれもきちんと開けます。

これらのファイルの属性情報をVS Code上からも確認してみます。
ファイルを右クリック - 属性の編集を選択

各ファイルの属性情報は以下のように参照できます。
untaggedのファイルをVS Codeのテキスト・エディターで開いて保存すると、テキスト・ファイルとして認識され、プロファイル指定のエンコーディングでタグ付けされます。
ディレクトリ/ファイル作成
対象のディレクトリを右クリック - ディレクトリの作成/ファイル作成 を選択することで、ディレクトリやファイルを新規作成することができます。
(作成できるファイルはテキストファイルです)
コピー/移動
ファイルやディレクトリをコピーできます。
複数ファイルをまとめてコピー、ディレクトリ単位でのコピーも可能です。
ドラッグ&ドロップでファイルを移動させることもできます。
アップロード
PC - z/OS間でのファイルのアップロードを試してみます。
Zowe Explorer ViewのUSSで、アップロード先のディレクトリを右クリック - ファイルをアップロード を選択

ローカルのファイル選択画面が表示されるので、アップロードしたいファイルを選択

文字コードはプロファイルに指定されているものが使われます。
メニューから"エンコード付きファイルのアップロード"を選択すると、明示的にEncodingを指定することも可能です。
ダウンロード
PC - z/OS間でのファイルのアップロードを試してみます。
ダウンロード用のメニューは用意されていないのですが、以下の手順でダウンロードできます。
Zowe Explorer Viewからダウンロード対象のUSSファイルを選択してエディターで開きます。

エクスプローラーViewを開いて、エディターのタブをドラッグしてダウンロード先フォルダにドロップします。

入力項目の履歴管理
Zowe Explorerでは、MVSデータセットを参照するときのフィルターや、PDMメンバー検索時の文字列など、プロンプトで何か文字列入力をうながされる場面があります。
この時、過去に入力した文字列が履歴としてリストアップされるので、繰り返し同じオペレーションを利用する場合には便利です。
例えば、MVSデータセットのフィルターを指定しようとすると、以下のように履歴がリスト表示されるので、同じ項目を指定したい場合は一から入力しなくても履歴を選択すればよいです(再入力の手間が省ける)。

一方で、誤った入力をしてしまった場合や、名前が変更されて意味をなさなくなったものが毎回リストされてしまってかえってうっとうしい場合もあるかもしれません。
その場合この履歴情報を管理することができます。
Ctrl + Shift + P でコマンドパレットを開き、edit historyと入力して、「Zowe Explorer: 変種履歴」を選択します。すると以下のような管理画面が開きますので、ここで各種履歴情報の管理が行えます。

































