# Using VSCode and its linter on my project

**URL:** <https://discourse.julialang.org/t/using-vscode-and-its-linter-on-my-project/42800>\
**Category:** General Usage\
**Tags:** vscode\
**Created:** [July 9, 2020, 7:46pm UTC](https://discourse.julialang.org/t/using-vscode-and-its-linter-on-my-project/42800 "2020-07-09T19:46:24Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jonathan-laurent](https://avatars.discourse-cdn.com/v4/letter/j/ecae2f/32.png) [@jonathan-laurent](https://discourse.julialang.org/u/jonathan-laurent)\
**Post date:** [July 9, 2020, 7:46pm UTC](https://discourse.julialang.org/t/using-vscode-and-its-linter-on-my-project/42800/1 "2020-07-09T19:46:24Z")

</div>

Hi,  
I am trying to use Julia’s vscode plugin to develop my [AlphaZero.jl](https://github.com/jonathan-laurent/AlphaZero.jl) package but I am running into a few bumps.

My repo is organized in a pretty standard way: I have a `src` folder that defines the `AlphaZero` module and a `test` folder with tests. I also have a `scripts` folder that provides examples and utilities, which rely on the `AlphaZero` module.

The linter and code linking mostly work on files within the `src` directory, but it does not work on tests and scripts (See screenshot). This is surprising as I can execute a script using the “Eval file” functionality without problem. How can I make sure that the `AlphaZero` module is recognized when editing my tests and my scripts?

 ![Screenshot from 2020-07-09 15-25-25](https://global.discourse-cdn.com/julialang/original/3X/a/3/a3a33ed6d0c56f6e32eef5d218289ba0fe03221a.png)

There are two other things I wanted to mention.

### Warnings when starting the language server

First, when I started the language server for the first time, I got some warinings:

```julia-auto
[ Info: Starting the Julia Language Server
[ Info: Symbol server store is at '/home/jonathan/.config/Code/User/globalStorage/julialang.language-julia/symbolstorev2'.
┌ Warning: CUDA not stored on disc
└ @ SymbolServer ~/.vscode/extensions/julialang.language-julia-0.16.11/scripts/packages/SymbolServer/src/SymbolServer.jl:190
┌ Warning: Parsers not stored on disc
└ @ SymbolServer ~/.vscode/extensions/julialang.language-julia-0.16.11/scripts/packages/SymbolServer/src/SymbolServer.jl:190
┌ Warning: QuadGK not stored on disc
└ @ SymbolServer ~/.vscode/extensions/julialang.language-julia-0.16.11/scripts/packages/SymbolServer/src/SymbolServer.jl:190
┌ Warning: OpenBLAS_jll not stored on disc
└ @ SymbolServer ~/.vscode/extensions/julialang.language-julia-0.16.11/scripts/packages/SymbolServer/src/SymbolServer.jl:190
...

```

Are these anything to be worried about?

### Limitations of the Linter

The linter also seems to be missing some references within my package sources. For example, editing `src/AlphaZero.jl`:

 ![Screenshot from 2020-07-09 15-42-51](https://global.discourse-cdn.com/julialang/original/3X/c/a/ca54fec8b69c8a806a047cd73918fa35dd23024e.png)

This may be due to me doing some conditional code inclusion such as the following in `src/AlphaZero.jl`

```julia-auto
const USE_KNET_FOR_NETLIB = true # The Flux netlib is currently broken

if USE_KNET_FOR_NETLIB
  @eval begin
    include("networks/knet.jl")
    using .KNets
  end
else
  @eval begin
    include("networks/flux.jl")
    using .FluxNets
  end
end

```

Is it possible that such code would not be well supported? More generally, I would like to have a more precise idea on what the limitations of the linter are so I can use it effectively.

**Edit:** You can easily try this yourself by cloning my repo:

```julia-auto
git clone --branch v0.3.0 https://github.com/jonathan-laurent/AlphaZero.jl.git
cd AlphaZero.jl

```
