eclipse che clangd-如何使其完全工作?

时间:2018-08-01 18:55:51

标签: eclipse-che

我正在尝试将Eclipe Che与clangd支持一起用于代码检查/自动完成,并且遇到一些问题。我是Eclipse Che的新手,所以对于任何幼稚的问题我都表示歉意。

  1. 如何为clangd提供所有包含目录?直到我包含其他文件而没有完整路径之前,检查/自动完成似乎仍然有效。我确定我在这里忽略了一些简单的事情。

  2. 当我在头文件中定义一个类时,我将“未知类型名类”视为错误。

  3. 是否需要做一些事情来支持c ++ 11?我看到找不到“ #include”文件之类的东西,与“ #include”

  4. 相同
  5. 当我在安装程序列表中包含“ org.eclipse.che.ls.clangd”时,工作区中的BUILD,RUN等命令将不再起作用。我在左侧面板中看到了命令,但是当我单击该命令时,它没有显示在右侧面板中。

似乎#1、2、3可能是我未正确配置/使用的东西。

我正在从docker hub运行eclipse che 6.8.0。 我的工作区是:

<section class="dc" id="00">
  <div>
    <div class="togglebtn tbanimate" id="tb00">
      <div class="mainToggle tbanimate" id="mt00"></div>
    </div>
    <div class="light" id="l00"></div>
  </div>
  <span id="result"></span>
</section>
<script>
window.addEventListener('DOMContentLoaded', function() {
  var swPos = [Math.random() >= 0.5];
  var swConnection = ["a0"];
  var mtoo = document.getElementById('mt00');
   if(swPos[0]){
      mtoo.innerHTML = "On";
      
   } else {
      mtoo.innerHTML= "Off";
   }
  switchPosition(swPos, swConnection);

  var togglebtns = document.getElementsByClassName('togglebtn');
  for (var i = 0; i < togglebtns.length; i++) {
    togglebtns[i].addEventListener('click', function() {
      changingPin = Number(this.id.substr(2));
      swPos[changingPin] = !swPos[changingPin];
      if(swPos[changingPin]){
       mtoo.innerHTML = "On";
      } else {
       mtoo.innerHTML = "Off";
      }
      drawSwitch(this.id.substr(2), swPos[changingPin]);
    });
  }
}, false);

function switchPosition(swPos, swConnection) {
  for (i = 0; i < swConnection.length; i++) {
    drawSwitch(pad(i, 2), swPos[i]);
  }
}

function drawSwitch(pinNoStr, state) {
  var btnWrapper = document.getElementById('tb' + pinNoStr);
  var btn = document.getElementById('mt' + pinNoStr);
  if (state == true) {
    btn.style.left = (btnWrapper.offsetWidth - btn.offsetWidth - 2) + 'px';
    btnWrapper.style.background = '#7bc77b';
    btnWrapper.style.border = '1px solid #7bc77b';

    document.getElementById('l' + pinNoStr).style.cssText = 'background: #b9f3fe;\
        background: gradient-gradient(#ffffff, #77a1b9);\
        box-shadow: inset 0 1px 0 rgba(0,0,0,0.1),  0 1px 0 rgba(255,255,255,0.1),  0 0 10px rgba(100,231,253,1),  inset 0 0 8px rgba( 61,157,247,0.8),  inset 0 -2px 5px rgba(185,231,253,0.3),  inset 0 -3px 8px rgba(185,231,253,0.5);'
  } else {
    btn.style.left = '0px';
    btnWrapper.style.background = 'lightgrey';
    btnWrapper.style.border = '1px solid lightgrey';

    document.getElementById('l' + pinNoStr).style.cssText = 'background: #283446;\
        background: gradient-gradient(#36455b, #283446);\
        box-shadow: inset 0 1px 0 rgba(0,0,0,0.2),  0 1px 0 rgba(255,255,255,0.1),  0 0 10px rgba(185,231,253,0),  inset 0 0 8px rgba(0,0,0,0.9),  inset 0 -2px 5px rgba(0,0,0,0.3),  inset 0 -5px 5px rgba(0,0,0,0.5);'
  }
}

function pad(n, width, z) {
  z = z || '0';
  n = n + '';
  return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}
</script>

0 个答案:

没有答案