2013-02-08 5 views

risposta

15

Ci sono voluti un po 'di tempo per capire gli argomenti. casella di testo comando diff dovrebbe contenere percorso per IntelliJ, come: /Applications/IntelliJ\ IDEA\ 12.app/Contents/MacOS/idea

enter image description here

+2

È simile per WebStorm (testato su Yosemite e sulle ultime versioni di WS e ST). Comando Diff: '/ Applications/WebStorm.app/Contents/MacOS/webstorm' Argomenti:' diff $ LOCAL $ PWD/$ REMOTE' – Ricardo

+1

Si prega di fare attenzione con spazi vuoti supplementari. È necessario il percorso completo, anche se la directory principale è su '$ PATH' – Ricardo

+0

potresti dover utilizzare uno script di avvio sui sistemi non.windows: https://www.jetbrains.com/help/idea/2016.1/running-intellij -idea-as-a-diff-or-merge-command-line-tool.html? origine = old_help – Structed

11

di Windows
Diff Comando: C:\Program Files (x86)\JetBrains\IntelliJ IDEA 12.1.2\bin\idea.exe
Argomenti: diff $LOCAL $PWD/$REMOTE

Merge Command: C:\Program Files (x86)\JetBrains\IntelliJ IDEA 12.1.2\bin\idea.exe
Argomenti: (Questo non funziona bene per me. Sto avendo probing pathing . LEMS)merge $LOCAL $PWD/$REMOTE $PWD/$BASE $MERGED


Come di 12.1, questi sono gli argomenti per l'utilizzo di diff di IntelliJ e unire gli strumenti al di fuori del programma:

strumento diff
<path to IntelliJ IDEA launcher> diff <path to file1> <path to file2>

strumento di unione
<path to IntelliJ IDEA launcher> merge <path to file1> <path to file2> <path to file3> <path to output>

OFFICIAL DOCUMENTATION: running-intellij-idea-as-a-diff-or-merge-command-line-tool


FWIW, ho finito per usare IntelliJ per il mio controllo del codice sorgente. Mi piace più di Sourcetree. È abbastanza robusto.

+0

Sto usando intellij per conflitti e diff, ma io uso sourcetree per cose normali. – ThanksBro

+1

Ho provato a usare Intellij come strumento di unione ma sto ricevendo degli errori in quanto non ottiene i file temporanei corretti creati da Albero dei sorgenti. È come se non attendesse che l'albero dei sorgenti finisse di creare i provvisori, poi ottiene un riferimento al numero sbagliato. – Shad

4

Se qualcuno è interessato a Studio Android impostazioni Mac:

<path to IntelliJ IDEA launcher>: 
/Applications/Android\ Studio.app/Contents/MacOS/studio 

Diff tool 
<path to IntelliJ IDEA launcher> diff <path to file1> <path to file2> 

Merge tool 
<path to IntelliJ IDEA launcher> merge <path to file1> <path to file2> <path to file3> <path to output> 

L'unico problema che ho notato è che Android Studio non può mostrare più di 1 diff in una sola volta. Quando provo, si lamenta che il file non può essere mostrato

1

Per gli strumenti di fusione sulle finestre, questi argomenti funzionato per me:

merge $PWD/$LOCAL $PWD/$REMOTE $PWD/$MERGED 
3

su Mac con IntelliJ 2016

diff $LOCAL $PWD/$REMOTE 

merge $PWD/$LOCAL $PWD/$REMOTE $PWD/$BASE $PWD/$MERGED 
12

Per OSX Android Studio ho compiuto con questa procedura:

aperto IntelliJ/Android Studio -> Strumenti -> Crea riga di comando di avvio Something like this:

Dopo di che, Preferenze Sorgenti aperti: e mettere "/ usr/local/bin/studio" in Diff/Merge Command. Ti piace questa:  Like This:

Argomenti Diff: diff $ LOCALE $ PWD/$ TELECOMANDO

Unisci Argomenti: merge $ PWD/$ LOCALE $ PWD/$ REMOTE $ PWD/$ BASE $ PWD/$ MERGED

E se tutto va bene dovrebbe funzionare.

+0

Boa, molto bello! –

0

On macOS con IntelliJ IDEA CE.

Diff Comando: open
Argomenti: -W -b com.jetbrains.intellij.ce --args diff "$LOCAL" "$PWD/$REMOTE"

enter image description here

Dove:

  • open: comando di sistema per aprire i file e le directory.
  • -W: Cause open attendere fino a quando le applicazioni che si apre (o che erano già aperte) sono terminate.
  • -b com.jetbrains.intellij.ce: identificativo del pacchetto per l'applicazione da utilizzare all'apertura del file.
  • --args: tutti gli argomenti rimanenti vengono passati all'applicazione aperta nel parametro argv a main().
0

Come @Shad ha menzionato, IntelliJ potrebbe non eseguire una diff/unione in Windows perché i file temporanei non sono stati ancora creati.

Una soluzione è quella di creare un file delayed-intellij.bat come segue:

ping 127.0.0.1 -n 2 > nul "C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.1\bin\idea64.exe" %*

quindi utilizzare questo file in SourceTree: C:\temp\idea64-delayed.bat, e lancerà lo strumento di fusione con un breve ritardo.