# 更新載入指令碼，並進行受控編輯

透過 `Qlik 程式碼` 的受控編輯功能，特性，您可以下載應用程式的載入指令碼的工作副本到您的機器進行本機編輯。這些本機副本透過 [繫結](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/QlikCode/code-extension-working-copy.htm#Binding) 連接到來源應用程式。您可以透過提取和推送傳入與傳出變更，將您的本機指令碼與遠端 Qlik Cloud 版本同步處理。本機 QVS 檔案也可以在 `Qlik 程式碼` 中編輯並繫結至 Qlik Cloud 應用程式，讓您無需先建立應用程式即可建置本機指令碼。

資訊備註這個工作流程允許儲存、更新並將腳本的本地副本與 Qlik Cloud 應用程式同步。對於簡單的檢查和快速編輯工作流程，請參閱 [直接更新載入指令碼以針對 Qlik Cloud](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/QlikCode/code-extension-cloud-backed.htm)。

## 什麼是繫結？

在 `Qlik 程式碼` 中，繫結是本機工作副本的載入指令碼 (或另一個本機 QVS 檔案) 與 Qlik Cloud 中的分析應用程式之間的連線。

繫結會在以下情況建立：

* 您下載一份指令碼的工作副本以供本機編輯 (請參閱 [下載一份指令碼的工作副本](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/QlikCode/code-extension-working-copy.htm#WorkingCopy))。

* 您手動繫結一個獨立的 QVS 檔案到現有的應用程式 (請參閱 [繫結現有的本機檔案](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/QlikCode/code-extension-working-copy.htm#BindOther))。

建立繫結之後，Qlik Cloud延伸會將本機檔案與應用程式之間的關係儲存在位於 [workspace](https://code.visualstudio.com/docs/editing/workspaces/workspaces) 根目錄的 resource-map.json 檔案中。

## 下載一份指令碼的工作副本

您可以將您應用程式的載入指令碼的運作中副本下載到您的本機電腦。當您執行此操作時，一份載入指令碼的副本會下載到您的[工作區](https://code.visualstudio.com/docs/editing/workspaces/workspaces)（QVS 格式），並且會在本地建立的檔案與來源應用程式之間自動建立一個[繫結](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/QlikCode/code-extension-working-copy.htm#Binding)。

本機工作副本會儲存到由預設工作副本資料夾設定所指定的資料夾中 (請參閱 [設定參考](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/QlikCode/code-extension-settings-reference.htm))，或者如果該設定為空，則儲存到[工作區](https://code.visualstudio.com/docs/editing/workspaces/workspaces)根目錄。

請執行下列動作：

1. 在 `VS 程式碼` [檔案總管](https://code.visualstudio.com/docs/editing/getting-started/userinterface#_explorer-view) 中，展開 Qlik Cloud。

2. 找到應用程式，然後按一下滑鼠右鍵。

3. 點擊 下載工作副本。

   如果您的工作區中已存在一或多個指令碼的本機副本，則會出現不同的選項：已下載的資源...。此選項可讓您導覽至現有的本機檔案。

下載並綁定本地副本後，您可以編輯它，使用來自遠端 Qlik Cloud 版本的傳入變更來更新它，並將您自己的本地變更推送到遠端 Qlik Cloud 版本。請參閱 [同步本機與遠端版本之間的變更](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/QlikCode/code-extension-working-copy.htm#Synchronizing)。

## 繫結現有的本機檔案

您也可以繫結現有的本機 QVS 檔案 (一個尚未連線到應用程式的檔案) 到 Qlik Cloud 應用程式，而不會覆寫您的本機內容。[繫結](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/QlikCode/code-extension-working-copy.htm#Binding) 將檔案連結至應用程式及其目前的指令碼版本。

請執行下列動作：

1. 在 `VS 程式碼` [檔案總管](https://code.visualstudio.com/docs/editing/getting-started/userinterface#_explorer-view) 中，以滑鼠右鍵按一下您要繫結的本機檔案。

2. 按一下 繫結至 Qlik Cloud 指令碼。

3. 選取要繫結的 Qlik Cloud 應用程式。

手動綁定檔案後，您可以編輯它，並使用來自遠端Qlik Cloud版本傳入的變更來更新它，然後將您自己的本機變更推送到遠端Qlik Cloud版本。請參閱 [同步本機與遠端版本之間的變更](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/QlikCode/code-extension-working-copy.htm#Synchronizing)。

## 解除綁定指令碼

使用 Qlik: 解除綁定 QCS 資源 命令 (可透過 [命令選擇區](https://code.visualstudio.com/docs/editing/getting-started/userinterface#_command-palette)) 來移除本機檔案與遠端版本之間的連結，而不會刪除任何一份複本。

## 同步本機與遠端版本之間的變更

資訊備註您需要有權限編輯應用程式的載入指令碼。如果您只有檢視存取權，您可以開啟指令碼為唯讀模式，但無法編輯。

在您下載或手動繫結指令碼後，您可以使用 `VS 程式碼` 文字編輯器編輯它。

`Qlik 程式碼` 提供以下選項：

* 更新本地腳本，使其包含遠端 Qlik Cloud 版本所做的變更。例如，另一位使用者編輯載入指令碼，無論是在 Qlik Cloud 中，或是使用他們自己的 `Qlik 程式碼` 安裝。

* 推送您自己的變更到遠端Qlik Cloud版本。

### 同步個別腳本

您可以個別同步處理指令碼。

請執行下列動作：

1. 在`VS 程式碼` [檔案總管](https://code.visualstudio.com/docs/editing/getting-started/userinterface#_explorer-view)中，找到指令碼的本機工作副本。

2. 右鍵按一下檔案，然後選取下列其中一項：

   * 從 Qlik Cloud 拉取：使用自您上次下載或更新指令碼以來所做的任何變更來更新您的本機複本。

   * 將變更推送到 Qlik Cloud：將您的本機變更推送到遠端 Qlik Cloud 版本。系統會提示您確認取代現有的指令碼。

### 批次同步處理指令碼

您也可以批次同步您的腳本。當您執行這些動作時，您會推送並提取您有權存取的所有應用程式和工作副本的變更。

請執行下列動作：

1. 在 `VS 程式碼` [檔案總管](https://code.visualstudio.com/docs/editing/getting-started/userinterface#_explorer-view) 中，展開 Qlik Cloud。

2. 在面板工具列中，選取下列其中一項：

   * the 從 Qlik Cloud 更新所有 icon (): 更新所有本機副本，其中包含自您上次下載或更新指令碼以來所做的任何變更。

   * the 推送所有變更至 Qlik Cloud icon (): 推送所有本機變更至遠端 Qlik Cloud 版本。

### 管理衝突

如果指令碼在Qlik Cloud自上次同步後發生變更，且您也有本機變更，`Qlik 程式碼`會偵測到衝突，並在可能的情況下提供解決選項。這些選項會顯示在 `VS 程式碼` 文字編輯器中。

* 確認合併：繼續執行所提議的變更合併。

* 取消合併：拒絕提議的合併並還原為本機副本。

提示備註`VS 程式碼` 提供原生選項，用於偵測並解決衝突。如需更多資訊，請參閱官方 `VS 程式碼` 文件，位於 [在 VS Code 中解決合併衝突](https://code.visualstudio.com/docs/sourcecontrol/merge-conflicts)。

[在 Qlik 程式碼 中編輯載入指令碼](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/QlikCode/code-extension-edit-load-script.htm)

[執行 Qlik 程式碼 命令](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/QlikCode/code-extension-commands.htm)