小编Jos*_*ott的帖子

PHPStorm,供应商和多个Git根

我有一个带有composer.json的项目,它添加了许多模块作为依赖项,我希望能够在同一个PHPStorm项目中处理它们.当我更改供应商目录中的文件,并在CLI上运行git status时,我看到了差异,但是PHPStorm内联工具没有注册更改(左侧边栏上没有蓝线).

如果我进入项目设置并将特定的供应商依赖项添加为git root,包含.git文件夹的文件夹,IDE将按照我的期望/希望开始工作.

但是,我不想为所有依赖项重复此过程,感觉手动工作太多了?有没有更好的办法?

更新:仍然没有快乐,当我使用供应商作为来源时,"显示历史记录"按钮不起作用.

这是我的项目结构:

  • /home/PhpstormProjects/MyProject/.idea
    • (文件夹保持独立以避免VCS必须忽略.idea)
  • /家/我的项目/ htdocs中/
    • (资源Root,由PHPStorm自动重新配置.git repo)
  • /家/我的项目/供应商/ modulenamespace /模块名/
    • (多个模块,每个模块都有.git但PHPStorm不能自动识别)

git magento vendor phpstorm

5
推荐指数
1
解决办法
1942
查看次数

PHPStorm从覆盖率中排除测试

我想知道是否可以将PHPStorm配置为从百分比中排除Test文件夹,因为我的模块的覆盖率是100%,但是Test文件夹将总体价值降低到50%。

测试降低了百分比

这可能无关紧要,但是我也遇到了一个问题,即覆盖率窗口从不显示实际的覆盖率数据,既不在单独的选项卡中也不查看文件本身。

空的覆盖范围数据

可能是我配置错误,或者与我的项目设置有关(基于符号链接的基于作曲家的Magento项目),但是我有点撞墙了。任何建议欢迎。

更新以包含phpunit.xml:

<?xml version="1.0"?>
<!-- initial phpunit configuration file, that you can modify for your project needs -->
<phpunit cacheTokens="true"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         stopOnError="false"
         stopOnFailure="false"
         stopOnIncomplete="false"
         stopOnSkipped="false"
         strict="false"
         stderr="true"
         verbose="false"
         bootstrap="app/code/community/EcomDev/PHPUnit/bootstrap.php">
    <listeners>
        <listener file="app/code/community/EcomDev/PHPUnit/Test/Listener.php" class="EcomDev_PHPUnit_Test_Listener"/>
    </listeners>
    <testsuite name="Magento Test Suite">
        <file>app/code/community/EcomDev/PHPUnit/Test/Suite.php</file>
    </testsuite>
    <filter>
        <blacklist>
            <!-- Exclude Magento Core files from code coverage -->
            <directory suffix=".php">app/code/core</directory>
            <!-- Exclude EcomDev_PHPUnit classes from code coverage -->
            <directory suffix=".php">app/code/community/EcomDev/PHPUnit</directory>
            <directory suffix=".php">lib/EcomDev/Utils</directory>
            <directory suffix=".php">lib/EcomDev/PHPUnit</directory>
            <directory suffix=".php">lib/Spyc</directory>
            <directory suffix=".php">lib/vfsStream</directory>
            <!-- Exclude Mage.php file …
Run Code Online (Sandbox Code Playgroud)

phpunit code-coverage magento phpstorm

5
推荐指数
1
解决办法
1104
查看次数

Docker 使用 NodeJS 应用程序编写卷映射

我正在尝试实现一些非常基本的东西,但已经花了几个晚上了,但仍然没有找到可靠的(或任何)解决方案。我在 SO 上找到了一些类似的主题,并遵循了那里的内容,但没有成功,所以我为我的具体案例创建了一个 GitHub 存储库。

我正在尝试做的事情:

  • 能够使用docker-compose up -d(我计划将来添加更多容器,本示例中省略)来配置 NodeJS 应用程序
  • 确保代码通过映射volumes,这样我就不必每次在本地更改某些代码时都重新构建。

我的猜测是我遇到的问题与volumes导致容器内某些文件丢失/覆盖的映射有关,例如在我尝试过的一些变体中,文件夹被映射,但单个文件没有被映射。

我创建了一个简单的存储库来说明我的问题,只需签出并运行 docker-compose up -d即可查看问题,容器因以下原因而死亡:

Error: Cannot find module '/src/app/app.js'

存储库的链接在这里: https: //github.com/josephmcdermott/nodejs-docker-issue,欢迎 PR,如果有人能为我解决这个问题,我将永远感激不已。

更新:请参阅下面的解决方案代码,感谢 ldg

Dockerfile

FROM node:4.4.7

RUN mkdir -p /src
COPY . /src
WORKDIR /src
RUN npm install

EXPOSE 3000

CMD ["node", "/src/app.js"]
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

app:
  build: .
  volumes:
    - ./app:/src/app
Run Code Online (Sandbox Code Playgroud)

文件夹结构:

- app
- - * (files I want to sync and regularly update)
- app.js (initial …
Run Code Online (Sandbox Code Playgroud)

node.js docker docker-compose

4
推荐指数
1
解决办法
9553
查看次数