Funzione SccSetOption
Questa funzione imposta le opzioni che controllano il comportamento del plug-in del controllo del codice sorgente.
Sintassi
SCCRTN SccSetOption(
LPVOID pvContext,
LONG nOption,
LONG dwVal
);
Parametri
pvContext
[in] Struttura del contesto del plug-in del controllo del codice sorgente.
nOption
[in] Opzione impostata.
dwVal
[in] Impostazioni per l'opzione .
Valore restituito
L'implementazione del plug-in del controllo del codice sorgente di questa funzione dovrebbe restituire uno dei valori seguenti:
valore | Descrizione |
---|---|
SCC_OK | L'opzione è stata impostata correttamente. |
SCC_I_SHARESUBPROJOK | Restituito se nOption era SCC_OPT_SHARESUBPROJ e il plug-in del controllo del codice sorgente consente all'IDE di impostare la cartella di destinazione. |
SCC_E_OPNOTSUPPORTED | L'opzione non è stata impostata e non deve essere basata su . |
Osservazioni:
L'IDE chiama questa funzione per controllare il comportamento del plug-in del controllo del codice sorgente. Il primo parametro, nOption
, indica il valore che viene impostato, mentre il secondo, dwVal
, indica cosa fare con tale valore. Il plug-in archivia queste informazioni associate a un pvContext``,
oggetto in modo che l'IDE chiami questa funzione dopo aver chiamato SccInitialize (ma non necessariamente dopo ogni chiamata a SccOpenProject).
Riepilogo delle opzioni e dei relativi valori:
nOption |
dwValue |
Descrizione |
---|---|---|
SCC_OPT_EVENTQUEUE |
SCC_OPT_EQ_DISABLE SCC_OPT_EQ_ENABLE |
Abilita/disabilita l'accodamento degli eventi in background. |
SCC_OPT_USERDATA |
Valore arbitrario | Specifica un valore utente da passare alla funzione di callback OPTNAMECHANGEPFN . |
SCC_OPT_HASCANCELMODE |
SCC_OPT_HCM_NO SCC_OPT_HCM_YES |
Indica se l'IDE supporta attualmente l'annullamento di un'operazione. |
SCC_OPT_NAMECHANGEPFN |
Puntatore alla funzione di callback OPTNAMECHANGEPFN | Imposta un puntatore a una funzione di callback di modifica del nome. |
SCC_OPT_SCCCHECKOUTONLY |
SCC_OPT_SCO_NO SCC_OPT_SCO_YES |
Indica se l'IDE consente l'estrazione manuale dei file (tramite l'interfaccia utente del controllo del codice sorgente) o se devono essere estratte solo tramite il plug-in del controllo del codice sorgente. |
SCC_OPT_SHARESUBPROJ |
N/D | Se il plug-in del controllo del codice sorgente consente all'IDE di specificare la cartella del progetto locale, il plug-in restituisce SCC_I_SHARESUBPROJOK . |
SCC_OPT_EVENTQUEUE
Se nOption
è SCC_OPT_EVENTQUEUE
, l'IDE sta disabilitando (o riabilitando) l'elaborazione in background. Ad esempio, durante una compilazione, l'IDE potrebbe indicare al plug-in del controllo del codice sorgente di arrestare l'elaborazione inattiva di qualsiasi tipo. Dopo la compilazione, l'elaborazione in background viene riattivata per mantenere aggiornata la coda di eventi del plug-in. Corrispondente al SCC_OPT_EVENTQUEUE
valore di nOption
, sono disponibili due valori possibili per dwVal
, ovvero SCC_OPT_EQ_ENABLE
e SCC_OPT_EQ_DISABLE
.
SCC_OPT_HASCANCELMODE
Se il valore per nOption
è SCC_OPT_HASCANCELMODE
, l'IDE consente agli utenti di annullare operazioni lunghe. L'impostazione su dwVal
SCC_OPT_HCM_NO
(impostazione predefinita) indica che l'IDE non ha alcuna modalità di annullamento. Il plug-in del controllo del codice sorgente deve offrire il proprio pulsante Annulla se vuole che l'utente possa annullare. SCC_OPT_HCM_YES
indica che l'IDE consente di annullare un'operazione, pertanto il plug-in SCC non deve visualizzare il proprio pulsante Annulla. Se l'IDE imposta dwVal
SCC_OPT_HCM_YES
su , è pronto a rispondere ai SCC_MSG_STATUS
messaggi e DOCANCEL
inviati alla lpTextOutProc
funzione di callback (vedere LPTEXTOUTPROC). Se l'IDE non imposta questa variabile, il plug-in non deve inviare questi due messaggi.
SCC_OPT_NAMECHANGEPFN
Se nOption è impostato su SCC_OPT_NAMECHANGEPFN
e il plug-in del controllo del codice sorgente e l'IDE lo consentono, il plug-in può effettivamente rinominare o spostare un file durante un'operazione di controllo del codice sorgente. Verrà dwVal
impostato su un puntatore a funzione di tipo OPTNAMECHANGEPFN. Durante un'operazione di controllo del codice sorgente, il plug-in può chiamare questa funzione, passando tre parametri. Si tratta del nome precedente (con percorso completo) di un file, del nuovo nome (con percorso completo) del file e di un puntatore alle informazioni che hanno rilevanza per l'IDE. L'IDE invia in questo ultimo puntatore chiamando SccSetOption
con impostato su SCC_OPT_USERDATA
, puntando dwVal
ai nOption
dati. Il supporto per questa funzione è facoltativo. Un plug-in VSSCI che usa questa capacità deve inizializzare il puntatore a funzione e le variabili di dati utente su NULL
e non deve chiamare una funzione di ridenominazione a meno che non ne sia stata assegnata una. Deve anche essere pronto a contenere il valore assegnato o modificarlo in risposta a una nuova chiamata a SccSetOption
. Ciò non avviene durante un'operazione di comando del controllo del codice sorgente, ma può verificarsi tra i comandi.
SCC_OPT_SCCCHECKOUTONLY
Se nOption è impostato su SCC_OPT_SCCCHECKOUTONLY
, l'IDE indica che i file nel progetto attualmente aperto non devono mai essere estratti manualmente tramite l'interfaccia utente del sistema di controllo del codice sorgente. I file devono invece essere estratti solo tramite il plug-in del controllo del codice sorgente sotto il controllo IDE. Se dwValue
è impostato su SCC_OPT_SCO_NO
, significa che i file devono essere trattati normalmente dal plug-in e possono essere estratti tramite l'interfaccia utente del controllo del codice sorgente. Se dwValue
è impostato su SCC_OPT_SCO_YES
, è consentito archiviare solo i file del plug-in e l'interfaccia utente del sistema di controllo del codice sorgente non deve essere richiamata. Si tratta di situazioni in cui l'IDE potrebbe avere "pseudo-file" che hanno senso eseguire l'estrazione solo tramite l'IDE.
SCC_OPT_SHARESUBPROJ
Se nOption
è impostato su SCC_OPT_SHARESUBPROJ
, l'IDE sta verificando se il plug-in del controllo del codice sorgente può usare una cartella locale specificata quando si aggiungono file dal controllo del codice sorgente. Il valore del dwVal
parametro non è importante in questo caso. Se il plug-in consente all'IDE di specificare la cartella di destinazione locale in cui verranno aggiunti i file dal controllo del codice sorgente quando viene chiamato SccAddFromScc , il plug-in deve restituire SCC_I_SHARESUBPROJOK
quando viene chiamata la SccSetOption
funzione. L'IDE usa quindi il lplpFileNames
parametro della SccAddFromScc
funzione per passare la cartella di destinazione. Il plug-in usa la cartella di destinazione per inserire i file aggiunti dal controllo del codice sorgente. Se il plug-in non restituisce SCC_I_SHARESUBPROJOK
quando l'opzione SCC_OPT_SHARESUBPROJ
è impostata, l'IDE presuppone che il plug-in sia in grado di aggiungere file solo nella cartella locale corrente.