目前官方只提供了在Clion和IDEA下的开发环境。Clion和IDEA都要收费的,而且需要Clion和IDEA两个开发环境。visual studio code 是免费的,而且同时支持java、c++等多种编程语言,所以用visual studio code 做StarRocks这种多编程语言的项目的开发环境是最适合的。有同学做过用visual studio code做StarRocks的开发环境吗?能否提供些参考经验?
有的,be部分用clangd就行,java部分比较麻烦,除了用java extension pack外,还需要配合修改 fe/fe-core/pom.xml才可以
谢谢回复!可以出一个具体的攻略步骤给后来者参考吗?
vscode fe
首先需要删除 fe-core/pom.xml
中 pluginManagement
里有关 ecplise lifecycle
的配置(必须删除,注释可能有奇葩问题),之后需要配置不要扫描 contrib
下的项目,如下:
"java.import.exclusions": [
"**/contrib/**",
"**/node_modules/**",
"**/.metadata/**",
"**/archetype-resources/**",
"**/META-INF/maven/**"
]
其次 pom
中要添加生成代码的路径,以便进行跳转,如下:
<!-- add gensrc java build src dir -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<!-- add arbitrary num of src dirs here -->
<source>${basedir}/target/generated-sources/build/</source>
<source>${basedir}/target/generated-sources/proto/</source>
<source>${basedir}/target/generated-sources/thrift/</source>
<source>${basedir}/target/generated-sources/antlr4/com/starrocks/sql/parser</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
vscode be
clangd
配置需要添加一下设置:
"clangd.arguments": [
"--compile-commands-dir=${workspaceFolder}/be/build_Debug",
"--background-index",
"--clang-tidy",
"--pretty",
]
1赞
好像没那么简单,特别是be部分。不同的gcc版本be的构建还会出现编译错误。在IDE里进行编译使代码可以高亮提示代码语法错误还需要配置很多CMake参数。
不需要啊,BE 代码提示、语法检查等是 clangd 根据 compile_commands.json 进行的,build.sh 中已经指定了 cmake 参数了,只需要运行一次 build.sh,让 cmake 生成 compile_commands.json 就行了,都不用编译完,你是有地方没配置对吧