2013-05-23 13 views
7

Utilizzo di Vim Syntastic con un progetto Android. (ad esempio com.myproject.project) Non è a conoscenza delle classi dichiarate nel mio progetto ma al di fuori del file corrente. per esempio. I seguenti flag errori:Vim Syntastic Java ignaro delle attuali classi di progetto

import com.myproject.project.SomeClass; 
... 
SomeClass someclass = new SomeClass(); 
+0

Syntastic funge solo da intermediario tra Vim e molti programmi esterni. Dovresti 1. scoprire quale programma è usato per controllare il tuo codice, 2. cercare nel suo documento un modo per renderlo più intelligente, 3. vedi se riesci a configurare Syntastic. – romainl

+0

Probabilmente javac si confonde perché lo stai eseguendo dalla directory sbagliata. – FDinoff

+0

Grazie. Lo sto usando in combinazione con You Complete Me (YCM). – lorean

risposta

10

Saw questo post Configure syntastic to work fine with Android projects che risolvono il problema:

Metodo 1:
All'interno editor di vim

:SyntasticJavacEditClasspath 

quindi aggiungere il seguente alla finestra del buffer

/path-to-your-app/bin/classes 
/path-to-your-android-sdk/platforms/android-19/*.jar 

Metodo 2:
Aggiungere il seguente alla .vimrc:

let g:syntastic_java_javac_classpath = "/<path-to-your-app>/bin/classes:/<path-to-your-android-sdk>/platforms/android-19/*.jar" 
+2

Informazioni sul metodo 2! Non so se qualcuno stia avendo la stessa situazione della mia ma ho provato a usare ":" per separare più classpath ma non funziona, quindi ho provato "\ n" e funziona. Esempio: "//bin/classes\n//platforms/android-19/*.jar". Ricorda che basta sostituire ":" con "\ n", non aggiungere altro –

1

Ecco una sintesi dei vari metodi che ha lavorato per me in linux vim7.4 e Syntastic3.7.0-224 con credito per ogni.

Metodo 1 - creazione manuale di .syntastic_javac_config

1. Edit .vimrc and use this syntax: 
let g:syntastic_java_javac_config_file_enabled = 1 

2. Where you edit your vim files, add this to a file named .syntastic_javac_config 

let g:syntastic_java_javac_classpath = '/home/davis/progs/princeton-algos/week1/libs/algs4.jar' 

Metodo 2 - vantaggio, non importa dove si modifica il percorso di classe è noto.

1. Edit .vimrc and use this syntax: 
let g:syntastic_java_javac_classpath = "/home/davis/progs/princeton-algos/week1/libs/algs4.jar" 

Questo aggiunge il vaso e

Metodo 3 - Generazione automatica di file di .syntastic_javac_config

1. Edit .vimrc and use this syntax: 
let g:syntastic_java_javac_config_file_enabled = 1 
2. Edit a java file with vim 
3. :SyntasticJavacEditClasspath 
When the edit window opens, add the class path without quotes and a newline after each entry the class path. In my case, this is the entry 
for the setting includes the current folder as well: 
/home/davis/progs/princeton-algos/week1/libs/algs4.jar 
. 
4 :wq the edit setting window 
5. Now the class path is set for syntastic when editing files from that location. If you edit from a new directory, you will need to repeat the process. 

Oltre alle osservazioni di cui sopra, questo post anche aiutato.

Problemi correlati